@rocket.chat/livechat 1.10.0 → 1.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/build/62.chunk.d78eb.js +26 -0
- package/build/62.chunk.d78eb.js.map +1 -0
- package/build/63.chunk.f347d.js +2 -0
- package/build/63.chunk.f347d.js.map +1 -0
- package/build/{bundle.a45af.js → bundle.57474.js} +2 -2
- package/build/{bundle.a45af.js.map → bundle.57474.js.map} +1 -1
- package/build/{i18n.af.chunk.7772d.js → i18n.af.chunk.102ee.js} +2 -2
- package/build/{i18n.af.chunk.7772d.js.map → i18n.af.chunk.102ee.js.map} +1 -1
- package/build/{i18n.ar.chunk.0106d.js → i18n.ar.chunk.18c7d.js} +2 -2
- package/build/{i18n.ar.chunk.0106d.js.map → i18n.ar.chunk.18c7d.js.map} +1 -1
- package/build/{i18n.az.chunk.c33a0.js → i18n.az.chunk.f2b3c.js} +2 -2
- package/build/{i18n.az.chunk.c33a0.js.map → i18n.az.chunk.f2b3c.js.map} +1 -1
- package/build/{i18n.be_BY.chunk.877bb.js → i18n.be_BY.chunk.73660.js} +2 -2
- package/build/{i18n.be_BY.chunk.877bb.js.map → i18n.be_BY.chunk.73660.js.map} +1 -1
- package/build/{i18n.bg.chunk.89fb9.js → i18n.bg.chunk.bb0e8.js} +2 -2
- package/build/{i18n.bg.chunk.89fb9.js.map → i18n.bg.chunk.bb0e8.js.map} +1 -1
- package/build/{i18n.bs.chunk.73133.js → i18n.bs.chunk.76679.js} +2 -2
- package/build/i18n.bs.chunk.76679.js.map +1 -0
- package/build/{i18n.ca.chunk.3dee8.js → i18n.ca.chunk.04590.js} +2 -2
- package/build/i18n.ca.chunk.04590.js.map +1 -0
- package/build/{i18n.cs.chunk.fcdb4.js → i18n.cs.chunk.dc0fa.js} +2 -2
- package/build/i18n.cs.chunk.dc0fa.js.map +1 -0
- package/build/{i18n.cy.chunk.2dcc5.js → i18n.cy.chunk.04d6c.js} +2 -2
- package/build/i18n.cy.chunk.04d6c.js.map +1 -0
- package/build/{i18n.da.chunk.d08bf.js → i18n.da.chunk.95342.js} +2 -2
- package/build/i18n.da.chunk.95342.js.map +1 -0
- package/build/{i18n.de.chunk.2ef93.js → i18n.de.chunk.f0335.js} +2 -2
- package/build/i18n.de.chunk.f0335.js.map +1 -0
- package/build/{i18n.de_AT.chunk.067ff.js → i18n.de_AT.chunk.d74e8.js} +2 -2
- package/build/i18n.de_AT.chunk.d74e8.js.map +1 -0
- package/build/{i18n.de_IN.chunk.304b5.js → i18n.de_IN.chunk.60200.js} +2 -2
- package/build/i18n.de_IN.chunk.60200.js.map +1 -0
- package/build/{i18n.default.chunk.98dad.js → i18n.default.chunk.6a53a.js} +2 -2
- package/build/i18n.default.chunk.6a53a.js.map +1 -0
- package/build/{i18n.el.chunk.c8172.js → i18n.el.chunk.0f283.js} +2 -2
- package/build/i18n.el.chunk.0f283.js.map +1 -0
- package/build/{i18n.en.chunk.995d4.js → i18n.en.chunk.da7ab.js} +2 -2
- package/build/i18n.en.chunk.da7ab.js.map +1 -0
- package/build/{i18n.eo.chunk.818a8.js → i18n.eo.chunk.77563.js} +2 -2
- package/build/i18n.eo.chunk.77563.js.map +1 -0
- package/build/{i18n.es.chunk.16301.js → i18n.es.chunk.a7d7b.js} +2 -2
- package/build/i18n.es.chunk.a7d7b.js.map +1 -0
- package/build/{i18n.et.chunk.ac72e.js → i18n.et.chunk.c8f08.js} +2 -2
- package/build/i18n.et.chunk.c8f08.js.map +1 -0
- package/build/{i18n.eu.chunk.cd16f.js → i18n.eu.chunk.bebbd.js} +2 -2
- package/build/i18n.eu.chunk.bebbd.js.map +1 -0
- package/build/{i18n.fa.chunk.7ea64.js → i18n.fa.chunk.5be68.js} +2 -2
- package/build/i18n.fa.chunk.5be68.js.map +1 -0
- package/build/{i18n.fi.chunk.5329d.js → i18n.fi.chunk.3eeca.js} +2 -2
- package/build/i18n.fi.chunk.3eeca.js.map +1 -0
- package/build/{i18n.fr.chunk.28c54.js → i18n.fr.chunk.a0414.js} +2 -2
- package/build/i18n.fr.chunk.a0414.js.map +1 -0
- package/build/{i18n.he.chunk.a4ca5.js → i18n.he.chunk.9e0de.js} +2 -2
- package/build/i18n.he.chunk.9e0de.js.map +1 -0
- package/build/{i18n.hr.chunk.cfcd4.js → i18n.hr.chunk.0d279.js} +2 -2
- package/build/i18n.hr.chunk.0d279.js.map +1 -0
- package/build/{i18n.hu.chunk.f208e.js → i18n.hu.chunk.174df.js} +2 -2
- package/build/i18n.hu.chunk.174df.js.map +1 -0
- package/build/{i18n.id.chunk.e320b.js → i18n.id.chunk.25c8a.js} +2 -2
- package/build/i18n.id.chunk.25c8a.js.map +1 -0
- package/build/{i18n.it.chunk.e6d0b.js → i18n.it.chunk.8d5d2.js} +2 -2
- package/build/i18n.it.chunk.8d5d2.js.map +1 -0
- package/build/{i18n.ja.chunk.d708f.js → i18n.ja.chunk.501c3.js} +2 -2
- package/build/i18n.ja.chunk.501c3.js.map +1 -0
- package/build/{i18n.km.chunk.5de7c.js → i18n.km.chunk.71d17.js} +2 -2
- package/build/i18n.km.chunk.71d17.js.map +1 -0
- package/build/{i18n.ko.chunk.89d07.js → i18n.ko.chunk.33653.js} +2 -2
- package/build/i18n.ko.chunk.33653.js.map +1 -0
- package/build/{i18n.ku.chunk.a8396.js → i18n.ku.chunk.b38a4.js} +2 -2
- package/build/i18n.ku.chunk.b38a4.js.map +1 -0
- package/build/{i18n.lo.chunk.f33ce.js → i18n.lo.chunk.d2e70.js} +2 -2
- package/build/i18n.lo.chunk.d2e70.js.map +1 -0
- package/build/{i18n.lt.chunk.900fe.js → i18n.lt.chunk.5ad7a.js} +2 -2
- package/build/i18n.lt.chunk.5ad7a.js.map +1 -0
- package/build/{i18n.lv.chunk.2c165.js → i18n.lv.chunk.dd2e2.js} +2 -2
- package/build/i18n.lv.chunk.dd2e2.js.map +1 -0
- package/build/{i18n.mn.chunk.54976.js → i18n.mn.chunk.fccad.js} +2 -2
- package/build/i18n.mn.chunk.fccad.js.map +1 -0
- package/build/{i18n.ms_MY.chunk.b9bd0.js → i18n.ms_MY.chunk.2d47b.js} +2 -2
- package/build/i18n.ms_MY.chunk.2d47b.js.map +1 -0
- package/build/{i18n.nl.chunk.08b8a.js → i18n.nl.chunk.9e423.js} +2 -2
- package/build/i18n.nl.chunk.9e423.js.map +1 -0
- package/build/{i18n.no.chunk.c5a9c.js → i18n.no.chunk.78d58.js} +2 -2
- package/build/i18n.no.chunk.78d58.js.map +1 -0
- package/build/{i18n.pl.chunk.271d6.js → i18n.pl.chunk.55594.js} +2 -2
- package/build/i18n.pl.chunk.55594.js.map +1 -0
- package/build/{i18n.pt.chunk.d9513.js → i18n.pt.chunk.8bfa2.js} +2 -2
- package/build/i18n.pt.chunk.8bfa2.js.map +1 -0
- package/build/{i18n.pt_BR.chunk.ad58b.js → i18n.pt_BR.chunk.d13bd.js} +2 -2
- package/build/i18n.pt_BR.chunk.d13bd.js.map +1 -0
- package/build/{i18n.ro.chunk.bb75e.js → i18n.ro.chunk.51d9b.js} +2 -2
- package/build/i18n.ro.chunk.51d9b.js.map +1 -0
- package/build/{i18n.ru.chunk.2d410.js → i18n.ru.chunk.8f926.js} +2 -2
- package/build/i18n.ru.chunk.8f926.js.map +1 -0
- package/build/{i18n.sk_SK.chunk.a2f21.js → i18n.sk_SK.chunk.e2330.js} +2 -2
- package/build/i18n.sk_SK.chunk.e2330.js.map +1 -0
- package/build/{i18n.sl_SI.chunk.c60e3.js → i18n.sl_SI.chunk.9e261.js} +2 -2
- package/build/i18n.sl_SI.chunk.9e261.js.map +1 -0
- package/build/{i18n.sq.chunk.4608f.js → i18n.sq.chunk.be1fd.js} +2 -2
- package/build/i18n.sq.chunk.be1fd.js.map +1 -0
- package/build/{i18n.sr.chunk.c1172.js → i18n.sr.chunk.1e340.js} +2 -2
- package/build/i18n.sr.chunk.1e340.js.map +1 -0
- package/build/{i18n.sv.chunk.924f0.js → i18n.sv.chunk.8ca33.js} +2 -2
- package/build/i18n.sv.chunk.8ca33.js.map +1 -0
- package/build/{i18n.ta_IN.chunk.af935.js → i18n.ta_IN.chunk.9fa9a.js} +2 -2
- package/build/i18n.ta_IN.chunk.9fa9a.js.map +1 -0
- package/build/{i18n.th_TH.chunk.cae59.js → i18n.th_TH.chunk.b49a3.js} +2 -2
- package/build/i18n.th_TH.chunk.b49a3.js.map +1 -0
- package/build/{i18n.tr.chunk.5c2db.js → i18n.tr.chunk.2881f.js} +2 -2
- package/build/i18n.tr.chunk.2881f.js.map +1 -0
- package/build/{i18n.ug.chunk.399fb.js → i18n.ug.chunk.cbbd0.js} +2 -2
- package/build/i18n.ug.chunk.cbbd0.js.map +1 -0
- package/build/{i18n.uk.chunk.c0636.js → i18n.uk.chunk.649f6.js} +2 -2
- package/build/i18n.uk.chunk.649f6.js.map +1 -0
- package/build/{i18n.vi_VN.chunk.a304b.js → i18n.vi_VN.chunk.0972d.js} +2 -2
- package/build/i18n.vi_VN.chunk.0972d.js.map +1 -0
- package/build/{i18n.zh.chunk.fe62a.js → i18n.zh.chunk.28dba.js} +2 -2
- package/build/i18n.zh.chunk.28dba.js.map +1 -0
- package/build/{i18n.zh_HK.chunk.54702.js → i18n.zh_HK.chunk.f82ef.js} +2 -2
- package/build/i18n.zh_HK.chunk.f82ef.js.map +1 -0
- package/build/{i18n.zh_TW.chunk.44797.js → i18n.zh_TW.chunk.8d827.js} +2 -2
- package/build/i18n.zh_TW.chunk.8d827.js.map +1 -0
- package/build/index.html +1 -1
- package/build/{vendors~bundle.chunk.6bc83.js → vendors~bundle.chunk.d6e62.js} +2 -2
- package/build/vendors~bundle.chunk.d6e62.js.map +1 -0
- package/package.json +2 -1
- package/build/62.chunk.427f9.js +0 -12
- package/build/62.chunk.427f9.js.map +0 -1
- package/build/63.chunk.ab528.js +0 -2
- package/build/63.chunk.ab528.js.map +0 -1
- package/build/i18n.bs.chunk.73133.js.map +0 -1
- package/build/i18n.ca.chunk.3dee8.js.map +0 -1
- package/build/i18n.cs.chunk.fcdb4.js.map +0 -1
- package/build/i18n.cy.chunk.2dcc5.js.map +0 -1
- package/build/i18n.da.chunk.d08bf.js.map +0 -1
- package/build/i18n.de.chunk.2ef93.js.map +0 -1
- package/build/i18n.de_AT.chunk.067ff.js.map +0 -1
- package/build/i18n.de_IN.chunk.304b5.js.map +0 -1
- package/build/i18n.default.chunk.98dad.js.map +0 -1
- package/build/i18n.el.chunk.c8172.js.map +0 -1
- package/build/i18n.en.chunk.995d4.js.map +0 -1
- package/build/i18n.eo.chunk.818a8.js.map +0 -1
- package/build/i18n.es.chunk.16301.js.map +0 -1
- package/build/i18n.et.chunk.ac72e.js.map +0 -1
- package/build/i18n.eu.chunk.cd16f.js.map +0 -1
- package/build/i18n.fa.chunk.7ea64.js.map +0 -1
- package/build/i18n.fi.chunk.5329d.js.map +0 -1
- package/build/i18n.fr.chunk.28c54.js.map +0 -1
- package/build/i18n.he.chunk.a4ca5.js.map +0 -1
- package/build/i18n.hr.chunk.cfcd4.js.map +0 -1
- package/build/i18n.hu.chunk.f208e.js.map +0 -1
- package/build/i18n.id.chunk.e320b.js.map +0 -1
- package/build/i18n.it.chunk.e6d0b.js.map +0 -1
- package/build/i18n.ja.chunk.d708f.js.map +0 -1
- package/build/i18n.km.chunk.5de7c.js.map +0 -1
- package/build/i18n.ko.chunk.89d07.js.map +0 -1
- package/build/i18n.ku.chunk.a8396.js.map +0 -1
- package/build/i18n.lo.chunk.f33ce.js.map +0 -1
- package/build/i18n.lt.chunk.900fe.js.map +0 -1
- package/build/i18n.lv.chunk.2c165.js.map +0 -1
- package/build/i18n.mn.chunk.54976.js.map +0 -1
- package/build/i18n.ms_MY.chunk.b9bd0.js.map +0 -1
- package/build/i18n.nl.chunk.08b8a.js.map +0 -1
- package/build/i18n.no.chunk.c5a9c.js.map +0 -1
- package/build/i18n.pl.chunk.271d6.js.map +0 -1
- package/build/i18n.pt.chunk.d9513.js.map +0 -1
- package/build/i18n.pt_BR.chunk.ad58b.js.map +0 -1
- package/build/i18n.ro.chunk.bb75e.js.map +0 -1
- package/build/i18n.ru.chunk.2d410.js.map +0 -1
- package/build/i18n.sk_SK.chunk.a2f21.js.map +0 -1
- package/build/i18n.sl_SI.chunk.c60e3.js.map +0 -1
- package/build/i18n.sq.chunk.4608f.js.map +0 -1
- package/build/i18n.sr.chunk.c1172.js.map +0 -1
- package/build/i18n.sv.chunk.924f0.js.map +0 -1
- package/build/i18n.ta_IN.chunk.af935.js.map +0 -1
- package/build/i18n.th_TH.chunk.cae59.js.map +0 -1
- package/build/i18n.tr.chunk.5c2db.js.map +0 -1
- package/build/i18n.ug.chunk.399fb.js.map +0 -1
- package/build/i18n.uk.chunk.c0636.js.map +0 -1
- package/build/i18n.vi_VN.chunk.a304b.js.map +0 -1
- package/build/i18n.zh.chunk.fe62a.js.map +0 -1
- package/build/i18n.zh_HK.chunk.54702.js.map +0 -1
- package/build/i18n.zh_TW.chunk.44797.js.map +0 -1
- package/build/vendors~bundle.chunk.6bc83.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["webpack:///./src/icons/arrowDown.svg","webpack:///./src/icons/close.svg","webpack:///./node_modules/date-fns/locale sync ^\\.\\/.*\\/index\\.js$","webpack:///./src/components/Button/styles.scss?e879","webpack:///./src/components/ButtonGroup/styles.scss?c648","webpack:///./src/components/Modal/styles.scss?a4d6","webpack:///./src/icons/phone.svg","webpack:///./src/icons/phoneOff.svg","webpack:///./src/components/Avatar/styles.scss?5f50","webpack:///./src/components/Composer/styles.scss?9244","webpack:///./src/components/Composer/ComposerAction/styles.scss?cedc","webpack:///./src/components/Composer/ComposerActions/styles.scss?5325","webpack:///./src/components/FilesDropTarget/styles.scss?fc15","webpack:///./src/components/Popover/styles.scss?c2aa","webpack:///./src/components/Menu/styles.scss?f59d","webpack:///./src/components/Footer/logo.svg","webpack:///./src/components/Footer/styles.scss?32ee","webpack:///./src/components/Messages/MessageBubble/styles.scss?89d3","webpack:///./src/components/Messages/AudioAttachment/styles.scss?814d","webpack:///./src/icons/download.svg","webpack:///./src/icons/doc.svg","webpack:///./src/icons/file.svg","webpack:///./src/icons/pdf.svg","webpack:///./src/icons/ppt.svg","webpack:///./src/icons/sheet.svg","webpack:///./src/icons/zip.svg","webpack:///./src/components/Messages/FileAttachment/styles.scss?a928","webpack:///./src/components/Messages/ImageAttachment/styles.scss?6ab2","webpack:///./src/components/Messages/MessageAvatars/styles.scss?eb1d","webpack:///./src/components/uiKit/message/ActionsBlock/styles.scss?0449","webpack:///./src/components/uiKit/message/ButtonElement/styles.scss?d8d9","webpack:///./src/components/uiKit/message/ContextBlock/styles.scss?ab3b","webpack:///./src/components/Form/DateInput/styles.scss?63b1","webpack:///./src/components/uiKit/message/DividerBlock/styles.scss?0862","webpack:///./src/components/uiKit/message/ImageBlock/styles.scss?0af6","webpack:///./src/components/uiKit/message/ImageElement/styles.scss?1ad6","webpack:///./src/components/uiKit/message/Mrkdwn/styles.scss?1c47","webpack:///./src/icons/kebab.svg","webpack:///./src/components/uiKit/message/OverflowElement/styles.scss?e564","webpack:///./src/components/uiKit/message/PlainText/styles.scss?8b88","webpack:///./src/components/uiKit/message/SectionBlock/styles.scss?915f","webpack:///./src/components/Form/SelectInput/styles.scss?d31b","webpack:///./src/components/uiKit/message/StaticSelectElement/styles.scss?1a25","webpack:///./src/components/Messages/MessageBlocks/styles.scss?d18f","webpack:///./src/components/Messages/MessageContainer/styles.scss?b767","webpack:///./src/components/Messages/MessageContent/styles.scss?7fd5","webpack:///./src/components/Messages/MessageText/styles.scss?77b8","webpack:///./src/components/Messages/MessageTime/styles.scss?e3f7","webpack:///./src/components/Messages/VideoAttachment/styles.scss?103f","webpack:///./src/icons/video.svg","webpack:///./src/components/Messages/MessageSeparator/styles.scss?5a59","webpack:///./src/components/Messages/TypingDots/styles.scss?4a53","webpack:///./src/components/Messages/MessageList/styles.scss?e3b6","webpack:///./src/icons/arrowUp.svg","webpack:///./src/icons/bell.svg","webpack:///./src/icons/bellOff.svg","webpack:///./src/icons/chat.svg","webpack:///./src/icons/newWindow.svg","webpack:///./src/components/Alert/styles.scss?e36a","webpack:///./src/components/Header/styles.scss?0b36","webpack:///./src/components/Tooltip/styles.scss?62eb","webpack:///./src/components/Screen/styles.scss?46d4","webpack:///./src/icons/change.svg","webpack:///./src/icons/finish.svg","webpack:///./src/icons/plus.svg","webpack:///./src/icons/remove.svg","webpack:///./src/icons/send.svg","webpack:///./src/icons/smile.svg","webpack:///./src/routes/Chat/styles.scss?63e2","webpack:///./src/routes/ChatFinished/styles.scss?c909","webpack:///./src/routes/GDPRAgreement/styles.scss?160a","webpack:///./src/components/Form/FormField/styles.scss?32f2","webpack:///./src/components/Form/TextInput/styles.scss?b2d7","webpack:///./src/components/Form/PasswordInput/styles.scss?26c9","webpack:///./src/routes/LeaveMessage/styles.scss?de8e","webpack:///./src/routes/Register/styles.scss?b6b1","webpack:///./src/routes/SwitchDepartment/styles.scss?6c41","webpack:///./src/routes/TriggerMessage/styles.scss?d360","webpack:///./src/history.js","webpack:///./src/api.js","webpack:///./src/lib/random.js","webpack:///./src/widget.js","webpack:///./src/lib/parentCall.js","webpack:///./src/store/Store.js","webpack:///./src/store/index.js","webpack:///./src/lib/constants.js","webpack:///./src/components/helpers.js","webpack:///./src/lib/main.js","webpack:///./src/components/Calls/CallStatus.js","webpack:///./src/lib/locale.js","webpack:///./src/lib/api.js","webpack:///./src/lib/commands.js","webpack:///./src/lib/threads.js","webpack:///./src/components/Button/index.js","webpack:///./src/components/ButtonGroup/index.js","webpack:///./src/components/Modal/component.js","webpack:///./src/components/Modal/manager.js","webpack:///./src/lib/transcript.js","webpack:///./src/lib/room.js","webpack:///./src/lib/connection.js","webpack:///./src/lib/customFields.js","webpack:///./src/lib/triggers.js","webpack:///./src/lib/hooks.js","webpack:///./src/lib/userPresence.js","webpack:///./src/components/Calls/CallIFrame.js","webpack:///./src/components/Avatar/index.js","webpack:///./src/components/Calls/CallNotification.js","webpack:///./src/components/Composer/ComposerAction/index.js","webpack:///./src/components/Composer/ComposerActions/index.js","webpack:///./src/components/Composer/index.js","webpack:///./src/components/FilesDropTarget/index.js","webpack:///./src/components/Popover/index.js","webpack:///./src/components/Menu/index.js","webpack:///./src/components/Footer/index.js","webpack:///./src/components/Messages/MessageBubble/index.js","webpack:///./src/components/Messages/AudioAttachment/index.js","webpack:///./src/components/Messages/FileAttachmentIcon/index.js","webpack:///./src/components/Messages/FileAttachment/index.js","webpack:///./src/components/Messages/ImageAttachment/index.js","webpack:///./src/components/Messages/MessageAvatars/index.js","webpack:///./src/lib/uiKit.js","webpack:///./src/components/uiKit/message/Surface.js","webpack:///./src/components/uiKit/message/Block.js","webpack:///./src/components/uiKit/message/ActionsBlock/index.js","webpack:///./src/components/uiKit/message/ButtonElement/index.js","webpack:///./src/components/uiKit/message/ContextBlock/index.js","webpack:///./src/components/Form/DateInput/index.js","webpack:///./src/components/uiKit/message/DatePickerElement/index.js","webpack:///./src/components/uiKit/message/DividerBlock/index.js","webpack:///./src/components/uiKit/message/ImageBlock/index.js","webpack:///./src/components/uiKit/message/ImageElement/index.js","webpack:///./src/components/Emoji/ascii.js","webpack:///./src/components/Emoji/emojis.js","webpack:///./src/components/Emoji/shortnameToUnicode.js","webpack:///./src/components/Messages/MessageText/emoji.js","webpack:///./src/components/Messages/MessageText/markdown.js","webpack:///./src/components/uiKit/message/Mrkdwn/index.js","webpack:///./src/components/uiKit/message/OverflowElement/index.js","webpack:///./src/components/uiKit/message/PlainText/index.js","webpack:///./src/components/uiKit/message/SectionBlock/index.js","webpack:///./src/components/Form/SelectInput/index.js","webpack:///./src/components/uiKit/message/StaticSelectElement/index.js","webpack:///./src/components/uiKit/message/index.js","webpack:///./src/components/Messages/MessageBlocks/index.js","webpack:///./src/components/Messages/MessageContainer/index.js","webpack:///./src/components/Messages/MessageContent/index.js","webpack:///./src/components/Messages/MessageText/index.js","webpack:///./src/components/Messages/MessageTime/index.js","webpack:///./src/components/Messages/VideoAttachment/index.js","webpack:///./src/components/Messages/Message/index.js","webpack:///./src/components/Messages/constants.js","webpack:///./src/components/Calls/JoinCallButton.js","webpack:///./src/components/Messages/MessageSeparator/index.js","webpack:///./src/components/Messages/TypingDots/index.js","webpack:///./src/components/Messages/TypingIndicator/index.js","webpack:///./src/components/Messages/MessageList/index.js","webpack:///./src/components/Alert/index.js","webpack:///./src/components/Header/index.js","webpack:///./src/components/Sound/index.js","webpack:///./src/components/Tooltip/index.js","webpack:///./src/components/Screen/index.js","webpack:///./src/routes/Chat/component.js","webpack:///./src/routes/Chat/container.js","webpack:///./src/routes/ChatFinished/component.js","webpack:///./src/routes/ChatFinished/container.js","webpack:///./src/routes/GDPRAgreement/component.js","webpack:///./src/routes/GDPRAgreement/container.js","webpack:///./src/components/Form/FormField/index.js","webpack:///./src/components/Form/TextInput/index.js","webpack:///./src/components/Form/PasswordInput/index.js","webpack:///./src/components/Form/index.js","webpack:///./src/routes/LeaveMessage/component.js","webpack:///./src/routes/LeaveMessage/container.js","webpack:///./src/routes/Register/component.js","webpack:///./src/routes/Register/container.js","webpack:///./src/routes/SwitchDepartment/component.js","webpack:///./src/routes/SwitchDepartment/container.js","webpack:///./src/routes/TriggerMessage/component.js","webpack:///./src/routes/TriggerMessage/container.js","webpack:///./src/components/App/index.js","webpack:///./src/i18n/index.js","webpack:///./src/components/Calls/styles.scss?a7cc"],"names":["preact","hooks","module","exports","attributes","content","props","ref","useRef","useEffect","div","document","createElement","innerHTML","source","firstChild","dest","current","appendChild","h","Object","assign","map","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","resolve","history","createMemoryHistory","host","window","SERVER_URL","queryString","parse","location","search","serverUrl","useSsl","match","Livechat","LivechatClient","protocol","UNMISTAKABLE_CHARS","chooseElement","arrayOrString","array","index","Math","floor","Uint32Array","crypto","getRandomValues","length","substr","createRandomString","charsCount","alphabet","Array","from","join","createToken","WordArray","random","toString","Hex","log","RocketChat","_","widget","iframe","scrollPosition","widget_height","config","hookQueue","ready","smallScreen","validCallbacks","callbacks","mitt","registerCallback","eventName","fn","indexOf","on","emitCallback","data","emit","callHook","action","params","push","src","args","contentWindow","postMessage","updateWidgetStyle","isOpened","documentElement","scrollTop","body","classList","add","remove","style","left","height","width","WIDGET_MARGIN","openWidget","dataset","state","focus","closeWidget","api","popup","forEach","hookParams","apply","this","minimizeWindow","restoreWindow","closed","close","openPopout","open","url","lastIndexOf","resizeWidget","removeWidget","removeChild","callback","showWidget","display","hideWidget","resetDocumentStyle","setFullScreenDocumentMobile","pageVisited","change","JSON","stringify","title","setCustomField","key","value","overwrite","setTheme","theme","setDepartment","department","setGuestToken","token","setGuestName","name","setGuestEmail","email","registerGuest","guest","setAgent","agent","setLanguage","language","currentPage","href","init","className","position","maxHeight","bottom","right","zIndex","container","allowTransparency","border","backgroundColor","handleMediaQueryTest","matches","mediaQueryList","matchMedia","addListener","createWidget","addEventListener","msg","undefined","concat","setInterval","initRocket","console","warn","queue","parentCall","method","parent","c","call","livechat","initialize","hasOwnProperty","isArray","clearDepartment","maximizeWidget","minimizeWidget","onChatMaximized","onChatMinimized","onChatStarted","onChatEnded","onPrechatFormSubmit","onOfflineFormSubmit","onWidgetShown","onWidgetHidden","onAssignAgent","onAgentStatusChange","onQueuePositionChange","onServiceOffline","runCallbackEventEmitter","callbackName","includes","localStorage","sessionStorage","initialState","typing","messages","settings","triggers","departments","resources","user","sound","enabled","play","visible","gdpr","accepted","alerts","minimized","unread","incomingCallAlert","ongoingCall","store","storedState","localStorageKey","dontPersist","getItem","_state","newValue","reload","setStoredState","sessionId","setItem","openSessionIds","setState","triggered","filter","session","persistable","partialState","prevState","persist","nonPeristable","ignoredKey","StoreContext","createContext","Provider","dispatch","bind","handleStoreChange","render","children","off","Component","displayName","Consumer","flatMap","arr","mapFunc","result","entries","x","createClassName","styles","elementName","modifiers","classes","modifierKey","modifierValue","asyncForEach","debounce","func","delay","inDebounce","f","context","clearTimeout","setTimeout","stop","throttle","limit","inThrottle","getInsertIndex","item","ranking","order","min","max","guess","guessedOrder","upsert","predicate","findIndex","splice","getSecureCookieSettings","setInitCookies","cookie","setCookies","rid","getAvatarUrl","username","client","msgTypesNotRendered","canRenderMessage","t","getAttachmentUrl","sortArrayByColumn","column","inverted","sort","a","b","parseOfflineMessage","fields","origin","normalizeDOMRect","top","visibility","hidden","removeListener","removeEventListener","msHidden","webkitHidden","MemoizedComponent","nextProps","memo","component","isActiveSession","resolveDate","dateInput","Date","$date","parseISO","loadConfig","credentials","room","queueInfo","hiddenInfo","noMoreMessages","processUnread","lastReadMessageId","renderedMessages","message","lastReadMessageIndex","_id","unreadMessages","slice","lastReadMessage","alertMessage","I18n","one","other","count","since","format","ts","alert","constants","success","timeout","newAlerts","CallStatus","isCallOngoing","callStatus","browserLanguage","navigator","userLanguage","configLanguage","setWidgetLanguage","changeLocale","languageString","split","languageCode","countryCode","toLowerCase","toUpperCase","normalizeAgent","agentData","status","normalizeQueueAlert","spot","estimatedWaitTimeSeconds","locale","supportedLocales","fullLanguage","find","lng","require","getDateFnsLocale","estimatedWaitTime","formatDistance","setSeconds","Commands","connecting","addParentMessage","parentMessage","parentMessages","tmid","isThreadMessage","replies","findParentMessage","reason","error","normalizeThreadMessage","attachments","threadMsg","text","normalizeMessage","normalizeMessages","Promise","all","handleMouseUp","target","blur","Button","submit","disabled","outline","nude","danger","secondary","stack","small","loading","badge","icon","onClick","img","type","onMouseUp","aria-label","backgroundImage","ButtonGroup","toChildArray","child","cloneElement","Modal","handleKeyDown","triggerDismiss","handleTouchStart","dismissByOverlay","handleMouseDown","onDismiss","mounted","animated","onTouchStart","onMouseDown","Number","isFinite","defaultProps","Message","Confirm","confirmButtonText","cancelButtonText","onConfirm","onCancel","Alert","buttonText","handleButton","modal","promptTranscript","transcriptMessage","visitorEmails","address","ModalManager","then","requestTranscript","handleTranscript","transcript","commands","closeChat","transcriptRequested","clearLocalStorageWhenChatEnded","undocked","expanded","initial","route","processIncomingCallMessage","show","callProvider","callerUsername","u","time","callId","customFields","jitsiCallUrl","processMessage","webRtcCallEndTs","doPlaySound","initRoom","unsubscribeAll","servedBy","subscribeRoom","roomAgent","onAgentChange","transformAgentInformationOnMessage","agentHiddenInfo","onTyping","isTyping","onMessage","toISOString","editedAt","self","timer","connectedListener","disconnectedListener","getGreetingMessages","trigger","getLatestCallMessage","pop","loadMessages","storedMessages","previousMessages","rawMessages","reverse","lastMessage","latestCallMessage","loadMoreMessages","moreMessages","defaultRoomParams","defaultAgent","agentId","initiated","livechatDisconnectedAlertId","livechatConnectedAlertId","l","Connection","connect","clearListeners","addListeners","clearAlerts","reconnect","displayAlert","handleConnected","handleDisconnected","onStreamData","instance","CustomFields","_initiated","_started","_queue","processCustomFields","sendCustomField","agentPromise","Triggers","_requests","_triggers","_enabled","firedTriggers","triggerId","skip","processTriggers","actions","triggerAction","reject","sender","now","nextAgent","runOnce","request","conditions","condition","hrefRegExp","RegExp","fire","parseInt","newTriggers","createOrUpdateGuest","grantVisitor","visitor","updateIframeGuestData","guestData","info","processRequest","sendVisitorNavigation","pageInfo","color","fontColor","iconColor","offlineTitle","dept","dep","setExpanded","localToken","onNewMessage","event","Hooks","oldStatus","docActivityEvents","userPrensence","reset","stopEvents","stopTimer","startTimer","setAway","startEvents","setOnline","updateVisitorStatus","CallIframe","handleIframeClose","expandCall","allow","Avatar","errored","handleError","large","description","nobg","alt","onError","CallNotification","useState","setShow","callInNewTab","acceptClick","updateCallStatus","innerWidth","innerHeight","declineClick","notifyCallDeclined","ComposerAction","ComposerActions","escapeMap","'","escapeRegex","escapeHtml","mem","string","replace","plainText","plain","html","replaceCaret","el","findLastTextNode","node","nodeType","Node","TEXT_NODE","childNodes","i","textNode","isTargetFocused","activeElement","nodeValue","range","createRange","sel","getSelection","setStart","collapse","removeAllRanges","addRange","HTMLElement","Composer","handleRef","handleInput","onChange","inputLock","sanitize","innerText","handleKeypress","onSubmit","which","shiftKey","preventDefault","handlePaste","onUpload","clipboardData","items","files","kind","test","getAsFile","getAsString","pasteText","handleDrop","dataTransfer","handleClick","handleEmojiClick","queryCommandSupported","execCommand","getRangeAt","deleteContents","createTextNode","insertNode","selectNodeContents","selection","pre","post","placeholder","dangerouslySetInnerHTML","__html","contentEditable","onInput","onKeypress","onPaste","onDrop","onCompositionStart","handleInputLock","onCompositionEnd","handleNotifyEmojiSelect","notifyEmojiSelect","nextValue","limitTextLength","emoji","caretPosition","getCaretPosition","oldText","newText","moveCursorToEndAndFocus","endIndex","setPos","set","element","doc","ownerDocument","win","defaultView","parentWindow","rangeCount","preCaretRange","cloneRange","setEnd","endContainer","endOffset","textRange","preCaretTextRange","createTextRange","moveToElementText","setEndPoint","locked","escapeForRegExp","FilesDropTarget","dragLevel","handleInputRef","input","handleDragOver","handleDragEnter","handleDragLeave","handleUpload","handleInputChange","currentTarget","accept","multiple","filteredFiles","acceptMatchers","acceptString","charAt","matchTypeOnly","exec","file","some","acceptMatcher","browse","click","overlayed","overlayText","data-overlay-text","onDragOver","onDragEnter","onDragLeave","dragover","PopoverContext","PopoverOverlay","PopoverContainer","renderer","overlayBounds","triggerBounds","overlayRef","base","getBoundingClientRect","dismiss","handleOverlayGesture","handleOverlayRef","overlayProps","PopoverTrigger","Menu","placement","PopoverMenuWrapper","menuRef","closest","menu__item","onClickCapture","menuBounds","menuWidth","menuHeight","rightSpace","bottomSpace","PopoverMenu","Group","Item","primary","Popover","Footer","FooterContent","PoweredBy","rel","role","OptionsTrigger","FooterOptions","CharCounter","textLength","highlight","MessageBubble","inverse","quoted","system","AudioAttachment","messageBubbleProps","controls","FileAttachmentIcon","extension","Icon","PDFIcon","DocIcon","PPTIcon","SheetIcon","ZipIcon","FileIcon","FileAttachment","download","ImageAttachment","MessageAvatars","avatarResolver","usernames","UIKitInteractionType","MODAL_OPEN","MODAL_CLOSE","MODAL_UPDATE","ERRORS","UIKitIncomingInteractionType","UIKitIncomingInteractionContainerType","triggersId","Map","invalidateTriggerId","appId","get","delete","generateTriggerId","createRandomId","handlePayloadUserInteraction","has","view","viewId","MODAL_ClOSE","actionId","mid","payload","race","fetch","encodeURI","getBody","headers","getHeaders","handle","interactionType","SurfaceContext","dispatchAction","BlockContext","blockId","usePerformAction","useContext","performing","setPerforming","mountedRef","useCallback","elements","parser","collapsed","setCollapsed","renderableElements","useMemo","hiddenElementsCount","isMoreButtonVisible","handleMoreButtonClick","renderedElement","renderActions","BLOCK_CONTEXT","ACTION","confirm","performAction","performingAction","newTab","opener","accessory","SECTION","renderContext","CONTEXT","initialDate","handleChange","selectedDate","imageUrl","altText","naturalWidth","naturalHeight","updateImageState","image","Image","cancelled","onload","contentStyle","maxWidth","wrapperStyle","paddingBottom","linkStyle","ascii","O_O","emojis","shortnamePattern","replaceShortNameWithUnicode","shortname","regAscii","unescapeHTML","unescaped","shortnameToUnicode","stringMessage","entire","m1","m2","m3","emojiUnicode","emojiRanges","transformEmojisToNormalSize","transformEmojisToLargeSize","isOnlyEmoji","str","removeAllEmoji","removeSpaces","renderEmojis","origPlainText","textWithOnlyUnicode","md","MarkdownIt","breaks","linkify","typographer","defaultRender","rules","link_open","tokens","idx","options","env","renderToken","targetAttrIndex","attrIndex","relAttrIndex","attrPush","attrs","use","renderStrong","opts","slf","markup","tag","em_open","em_close","inline","ruler","silent","marker","charCodeAt","pos","scanned","scanDelims","ch","String","fromCharCode","len","delimiters","jump","end","can_open","can_close","renderMarkdown","ADD_ATTR","dir","OverflowTrigger","OverflowOption","option","unsafe","field","renderAccessories","SelectInput","defaultPrevented","label","initialOption","selectOptions","divider","BLOCK","section","mrkdwn","button","overflow","datePicker","staticSelect","multiStaticSelect","UiKitParserMessage","renderMessageBlocks","uiKitMessage","engine","blocks","MessageContainer","compact","Element","MessageContent","MessageText","MessageTime","normal","dateTime","timestamp","isToday","parseDate","VideoAttachment","getSystemMessageText","conversationFinishedMessage","transferData","transferredBy","transferredTo","nextDepartment","scope","to","normalizeTransferHistoryMessage","callEndTime","callStartTime","callDuration","resolveWebRTCEndCallMessage","getMessageUsernames","alias","attachmentResolver","me","renderContent","attachment","audio_url","video_url","image_url","title_link","message_link","Boolean","JoinCallButton","MessageSeparator","date","TypingDots","class","TypingIndicator","containerProps","MessageList","SCROLL_AT_BOTTOM","handleScroll","isResizingFromBottom","scrollHeight","clientHeight","SCROLL_AT_TOP","SCROLL_FREE","onScrollTo","handleResize","renderItems","uid","typingUsernames","previousMessage","nextMessage","actionLinks","isSameDay","onScroll","previousScrollHeight","delta","handleDismiss","warning","hideCloseButton","dismissTimeout","Header","Picture","Content","Title","SubTitle","Actions","Action","Post","CustomField","Sound","audio","handlePlayProp","dismissNotification","ended","paused","pause","currentTime","onStart","onStop","onPlay","onEnded","getPositioningStyle","Tooltip","floating","TooltipContext","TooltipContainer","tooltip","activeChild","showTooltip","childIndex","hideTooltip","activeChildren","Container","Trigger","onMouseEnter","onMouseLeave","onFocusCapture","onBlurCapture","ScreenHeader","largeHeader","phone","headerTitle","notificationsEnabled","windowed","onDismissAlert","onEnableNotifications","onDisableNotifications","onMinimize","onRestore","onOpenWindow","avatar","statusBorder","ChatButton","CssVar","CSS","supports","cssVars","default","variables","screen","Screen","onSoundStop","fitTextSize","nopadding","Chat","atBottom","emojiPickerActive","handleFilesDropTargetRef","filesDropTarget","handleMessagesContainerRef","messagesContainer","handleScrollTo","region","onTop","onBottom","handleUploadClick","handleSendClick","handleSubmit","turnOffEmojiPicker","handleChangeText","onChangeText","substring","toggleEmojiPickerState","handleEmojiSelect","native","uploads","onChangeDepartment","onFinishChat","onRemoveUserData","registrationRequired","onRegisterUser","showPreview","showSkinTones","sheetSize","onSelect","autoFocus","ChangeIcon","RemoveIcon","FinishIcon","ChatContainer","connectingAgent","queueSpot","triggerQueueMessage","checkConnectingAgent","newConnecting","newQueueSpot","newEstimatedWaitTime","handleQueueMessage","handleConnectingAgentAlert","checkRoom","stateRoom","grantUser","newUser","getRoom","newRoom","handleTop","startTyping","notifyVisitorTyping","stopTypingDebounced","stopTyping","trim","sendMessage","doFileUpload","uploadFile","sizeAllowed","size","handleSoundStop","deleteVisitor","canSwitchDepartment","allowSwitchingDepartments","showOnRegistration","canFinishChat","canRemoveUserData","allowRemoveUserData","registrationFormEnabled","nameFieldRegistrationForm","emailFieldRegistrationForm","showDepartment","showOptionsMenu","oldAlerts","connectingAgentAlertId","livechatQueueMessageId","prevProps","prevMessages","prevAlerts","nextLastMessage","ChatConnector","fileUpload","forceAcceptDataProcessingConsent","showConnecting","registrationForm","customColor","customFontColor","customIconColor","customTitle","triggerAgent","emails","phoneNumber","defaultGreeting","defaultMessage","ChatFinished","onRedirectChat","greeting","ChatFinishedContainer","handleRedirect","ChatFinishedConnector","conversationFinishedText","defaultConsentText","defaultInstructions","GDPR","onAgree","consentText","instructions","renderInline","GDPRContainer","handleAgree","GDPRConnector","dataProcessingConsentText","FormField","required","TextInput","multiline","rows","Form","noValidate","defaultHandleSubmit","Validations","nonEmpty","custom","pattern","defaultTitle","LeaveMessage","validations","getDefaultState","hasDepartmentField","getValidableFields","fieldName","validate","reduce","validation","validateAll","showError","isValid","every","handleFieldChange","handleNameChange","handleEmailChange","handleDepartmentChange","handleMessageChange","values","entry","renderForm","valid","unavailableMessage","hasForm","LeaveMessageContainer","successMessage","sendOfflineMessage","LeaveMessageConnector","offlineMessage","offlineSuccessMessage","offlineUnavailableMessage","offlineColor","displayOfflineForm","customOfflineTitle","showOnOfflineForm","getDefaultDepartment","regexp","customFieldValidation","Register","hasNameField","hasEmailField","defaultValue","departmentDefault","nameDefault","emailDefault","nameValue","emailValue","departmentValue","showDepartmentField","renderCustomFields","RegisterContainer","getDepartment","deptDefault","registerCustomFields","getDepartmentDefault","guestDepartment","prevUser","RegisterConnector","registrationFormMessage","guestName","guestEmail","SwitchDepartment","handleCancelClick","SwitchDepartmentContainer","confirmChangeDepartment","go","transferChat","handleCancel","SwitchDepartmentConnector","TriggerMessage","createRef","onStartChat","TriggerMessageContainer","handleStart","TriggerMessageConnector","App","initialized","poppedOut","handleRoute","gdprRequired","online","gdprAccepted","handleEnableNotifications","handleDisableNotifications","handleMinimize","handleRestore","dispatchRestore","dispatchEvent","handleOpenWindow","handleDismissAlert","handleVisibilityChange","handleLanguageChange","forceUpdate","screenProps","path","mode","handleTriggers","userPresence","initWidget","checkPoppedOutWindow","finalize","s","AppConnector","defaultLocale","import","hot"],"mappings":"+EACA,IAAIA,EAAS,EAAQ,IACjBC,EAAQ,EAAQ,KACpBC,EAAOC,QAAU,CAAC,WAAa,CAAC,QAAU,YAAY,MAAQ,8BAA8B,QAAU,+FACtG,IAAIC,EAAaF,EAAOC,QAAQC,WAC5BC,EAAUH,EAAOC,QAAQE,QAE7BH,EAAOC,QAAU,SAAUG,GAC1B,IAAIC,EAAMN,EAAMO,SAchB,OAZAP,EAAMQ,WAAU,WACf,IAAIC,EAAMC,SAASC,cAAc,OACjCF,EAAIG,UAAY,QAAUR,EAAU,SAKpC,IAHA,IAAIS,EAASJ,EAAIK,WACbC,EAAOT,EAAIU,QAERH,EAAOC,YACbC,EAAKE,YAAYJ,EAAOC,cAEvB,IAEIf,EAAOmB,EAAE,MAAOC,OAAOC,OAAO,CAAEd,IAAKA,GAAOH,EAAYE,M,qBCrBhE,IAAIN,EAAS,EAAQ,IACjBC,EAAQ,EAAQ,KACpBC,EAAOC,QAAU,CAAC,WAAa,CAAC,MAAQ,6BAA6B,QAAU,aAAa,QAAU,8HACtG,IAAIC,EAAaF,EAAOC,QAAQC,WAC5BC,EAAUH,EAAOC,QAAQE,QAE7BH,EAAOC,QAAU,SAAUG,GAC1B,IAAIC,EAAMN,EAAMO,SAchB,OAZAP,EAAMQ,WAAU,WACf,IAAIC,EAAMC,SAASC,cAAc,OACjCF,EAAIG,UAAY,QAAUR,EAAU,SAKpC,IAHA,IAAIS,EAASJ,EAAIK,WACbC,EAAOT,EAAIU,QAERH,EAAOC,YACbC,EAAKE,YAAYJ,EAAOC,cAEvB,IAEIf,EAAOmB,EAAE,MAAOC,OAAOC,OAAO,CAAEd,IAAKA,GAAOH,EAAYE,M,iECtBhE,IAAIgB,EAAM,CACT,oCAAqC,IACrC,kCAAmC,IACnC,+BAAgC,IAChC,sCAAuC,IACvC,oCAAqC,IACrC,gCAAiC,IACjC,oCAAqC,IACrC,8BAA+B,IAC/B,2BAA4B,IAC5B,gBAAiB,KACjB,uCAAwC,IACxC,mCAAoC,IACpC,uCAAwC,IACxC,iCAAkC,IAClC,8BAA+B,IAC/B,mBAAoB,KACpB,uCAAwC,IACxC,mCAAoC,IACpC,uCAAwC,IACxC,iCAAkC,IAClC,8BAA+B,IAC/B,mBAAoB,KACpB,uCAAwC,IACxC,mCAAoC,IACpC,uCAAwC,IACxC,iCAAkC,IAClC,8BAA+B,IAC/B,mBAAoB,KACpB,oCAAqC,IACrC,gCAAiC,IACjC,oCAAqC,IACrC,8BAA+B,IAC/B,2BAA4B,IAC5B,gBAAiB,KACjB,oCAAqC,IACrC,gCAAiC,IACjC,oCAAqC,IACrC,8BAA+B,IAC/B,2BAA4B,IAC5B,gBAAiB,KACjB,oCAAqC,IACrC,gCAAiC,IACjC,oCAAqC,IACrC,8BAA+B,IAC/B,2BAA4B,IAC5B,gBAAiB,KACjB,oCAAqC,IACrC,gCAAiC,IACjC,oCAAqC,IACrC,8BAA+B,IAC/B,2BAA4B,IAC5B,gBAAiB,KACjB,oCAAqC,IACrC,gCAAiC,IACjC,oCAAqC,IACrC,8BAA+B,IAC/B,2BAA4B,IAC5B,gBAAiB,KACjB,oCAAqC,IACrC,gCAAiC,IACjC,oCAAqC,IACrC,8BAA+B,IAC/B,2BAA4B,IAC5B,gBAAiB,KACjB,oCAAqC,IACrC,gCAAiC,IACjC,oCAAqC,IACrC,8BAA+B,IAC/B,2BAA4B,IAC5B,gBAAiB,KACjB,oCAAqC,IACrC,gCAAiC,IACjC,oCAAqC,IACrC,8BAA+B,IAC/B,2BAA4B,IAC5B,gBAAiB,KACjB,oCAAqC,IACrC,gCAAiC,IACjC,oCAAqC,IACrC,8BAA+B,IAC/B,2BAA4B,IAC5B,gBAAiB,KACjB,oCAAqC,IACrC,gCAAiC,IACjC,oCAAqC,IACrC,8BAA+B,IAC/B,2BAA4B,IAC5B,gBAAiB,KACjB,mCAAoC,IACpC,mBAAoB,KACpB,uCAAwC,IACxC,mCAAoC,IACpC,mBAAoB,KACpB,mCAAoC,IACpC,mBAAoB,KACpB,mCAAoC,IACpC,mBAAoB,KACpB,mCAAoC,IACpC,mBAAoB,KACpB,uCAAwC,IACxC,mCAAoC,IACpC,uCAAwC,IACxC,iCAAkC,IAClC,8BAA+B,IAC/B,mBAAoB,KACpB,oCAAqC,IACrC,gCAAiC,IACjC,oCAAqC,IACrC,8BAA+B,IAC/B,2BAA4B,IAC5B,gBAAiB,KACjB,oCAAqC,IACrC,gCAAiC,IACjC,oCAAqC,IACrC,8BAA+B,IAC/B,2BAA4B,IAC5B,gBAAiB,KACjB,oCAAqC,IACrC,gCAAiC,IACjC,oCAAqC,IACrC,8BAA+B,IAC/B,2BAA4B,IAC5B,gBAAiB,KACjB,oCAAqC,IACrC,gCAAiC,IACjC,oCAAqC,IACrC,8BAA+B,IAC/B,2BAA4B,IAC5B,gBAAiB,KACjB,uCAAwC,IACxC,mCAAoC,IACpC,uCAAwC,IACxC,iCAAkC,IAClC,8BAA+B,IAC/B,mBAAoB,KACpB,oCAAqC,IACrC,gCAAiC,IACjC,oCAAqC,IACrC,8BAA+B,IAC/B,2BAA4B,IAC5B,gBAAiB,KACjB,mCAAoC,IACpC,mBAAoB,KACpB,uCAAwC,IACxC,mCAAoC,IACpC,uCAAwC,IACxC,mCAAoC,KACpC,iCAAkC,IAClC,8BAA+B,IAC/B,mBAAoB,KACpB,oCAAqC,IACrC,gCAAiC,IACjC,oCAAqC,IACrC,gCAAiC,KACjC,8BAA+B,IAC/B,2BAA4B,IAC5B,gBAAiB,KACjB,oCAAqC,IACrC,gCAAiC,IACjC,oCAAqC,IACrC,8BAA+B,IAC/B,2BAA4B,IAC5B,gBAAiB,KACjB,oCAAqC,IACrC,gCAAiC,IACjC,oCAAqC,IACrC,8BAA+B,IAC/B,2BAA4B,IAC5B,gBAAiB,KACjB,oCAAqC,IACrC,gCAAiC,IACjC,oCAAqC,IACrC,8BAA+B,IAC/B,2BAA4B,IAC5B,gBAAiB,KACjB,oCAAqC,IACrC,gCAAiC,IACjC,oCAAqC,IACrC,8BAA+B,IAC/B,2BAA4B,IAC5B,gBAAiB,KACjB,oCAAqC,IACrC,gCAAiC,IACjC,oCAAqC,IACrC,8BAA+B,IAC/B,2BAA4B,IAC5B,gBAAiB,KACjB,oCAAqC,IACrC,gCAAiC,IACjC,oCAAqC,IACrC,8BAA+B,IAC/B,2BAA4B,IAC5B,gBAAiB,KACjB,oCAAqC,IACrC,gCAAiC,IACjC,oCAAqC,IACrC,8BAA+B,IAC/B,2BAA4B,IAC5B,gBAAiB,KACjB,oCAAqC,IACrC,gCAAiC,IACjC,oCAAqC,IACrC,8BAA+B,IAC/B,2BAA4B,IAC5B,gBAAiB,KACjB,oCAAqC,IACrC,gCAAiC,IACjC,oCAAqC,IACrC,8BAA+B,IAC/B,2BAA4B,IAC5B,gBAAiB,KACjB,oCAAqC,IACrC,gCAAiC,IACjC,oCAAqC,IACrC,8BAA+B,IAC/B,2BAA4B,IAC5B,gBAAiB,KACjB,oCAAqC,IACrC,gCAAiC,IACjC,oCAAqC,IACrC,8BAA+B,IAC/B,2BAA4B,IAC5B,gBAAiB,KACjB,oCAAqC,IACrC,gCAAiC,IACjC,oCAAqC,IACrC,8BAA+B,IAC/B,2BAA4B,IAC5B,gBAAiB,KACjB,oCAAqC,IACrC,gCAAiC,IACjC,oCAAqC,IACrC,8BAA+B,IAC/B,2BAA4B,IAC5B,gBAAiB,KACjB,oCAAqC,KACrC,gCAAiC,KACjC,oCAAqC,KACrC,8BAA+B,KAC/B,2BAA4B,KAC5B,gBAAiB,KACjB,oCAAqC,KACrC,gCAAiC,KACjC,oCAAqC,KACrC,8BAA+B,KAC/B,2BAA4B,KAC5B,gBAAiB,KACjB,oCAAqC,KACrC,gCAAiC,KACjC,oCAAqC,KACrC,8BAA+B,KAC/B,2BAA4B,KAC5B,gBAAiB,KACjB,oCAAqC,KACrC,gCAAiC,KACjC,oCAAqC,KACrC,8BAA+B,KAC/B,2BAA4B,KAC5B,gBAAiB,KACjB,oCAAqC,KACrC,gCAAiC,KACjC,oCAAqC,KACrC,8BAA+B,KAC/B,2BAA4B,KAC5B,gBAAiB,KACjB,oCAAqC,KACrC,gCAAiC,KACjC,oCAAqC,KACrC,8BAA+B,KAC/B,2BAA4B,KAC5B,gBAAiB,KACjB,oCAAqC,KACrC,gCAAiC,KACjC,oCAAqC,KACrC,8BAA+B,KAC/B,2BAA4B,KAC5B,gBAAiB,KACjB,oCAAqC,KACrC,gCAAiC,KACjC,oCAAqC,KACrC,8BAA+B,KAC/B,2BAA4B,KAC5B,gBAAiB,KACjB,oCAAqC,KACrC,gCAAiC,KACjC,oCAAqC,KACrC,8BAA+B,KAC/B,2BAA4B,KAC5B,gBAAiB,KACjB,uCAAwC,KACxC,mCAAoC,KACpC,uCAAwC,KACxC,iCAAkC,KAClC,8BAA+B,KAC/B,mBAAoB,KACpB,oCAAqC,KACrC,gCAAiC,KACjC,oCAAqC,KACrC,8BAA+B,KAC/B,2BAA4B,KAC5B,gBAAiB,KACjB,oCAAqC,KACrC,gCAAiC,KACjC,oCAAqC,KACrC,8BAA+B,KAC/B,2BAA4B,KAC5B,gBAAiB,KACjB,oCAAqC,KACrC,gCAAiC,KACjC,oCAAqC,KACrC,8BAA+B,KAC/B,2BAA4B,KAC5B,gBAAiB,KACjB,uCAAwC,KACxC,mCAAoC,KACpC,uCAAwC,KACxC,iCAAkC,KAClC,8BAA+B,KAC/B,mBAAoB,KACpB,oCAAqC,KACrC,gCAAiC,KACjC,oCAAqC,KACrC,8BAA+B,KAC/B,2BAA4B,KAC5B,gBAAiB,KACjB,oCAAqC,KACrC,gCAAiC,KACjC,oCAAqC,KACrC,8BAA+B,KAC/B,2BAA4B,KAC5B,gBAAiB,KACjB,oCAAqC,KACrC,gCAAiC,KACjC,oCAAqC,KACrC,8BAA+B,KAC/B,2BAA4B,KAC5B,gBAAiB,KACjB,oCAAqC,KACrC,gCAAiC,KACjC,oCAAqC,KACrC,8BAA+B,KAC/B,2BAA4B,KAC5B,gBAAiB,KACjB,oCAAqC,KACrC,gCAAiC,KACjC,oCAAqC,KACrC,8BAA+B,KAC/B,2BAA4B,KAC5B,gBAAiB,KACjB,yCAA0C,KAC1C,qCAAsC,KACtC,yCAA0C,KAC1C,mCAAoC,KACpC,gCAAiC,KACjC,qBAAsB,KACtB,oCAAqC,KACrC,gCAAiC,KACjC,oCAAqC,KACrC,8BAA+B,KAC/B,2BAA4B,KAC5B,gBAAiB,KACjB,oCAAqC,KACrC,gCAAiC,KACjC,oCAAqC,KACrC,8BAA+B,KAC/B,2BAA4B,KAC5B,gBAAiB,KACjB,oCAAqC,KACrC,gCAAiC,KACjC,oCAAqC,KACrC,8BAA+B,KAC/B,2BAA4B,KAC5B,gBAAiB,KACjB,oCAAqC,KACrC,gCAAiC,KACjC,oCAAqC,KACrC,8BAA+B,KAC/B,2BAA4B,KAC5B,gBAAiB,KACjB,oCAAqC,KACrC,gCAAiC,KACjC,oCAAqC,KACrC,8BAA+B,KAC/B,2BAA4B,KAC5B,gBAAiB,KACjB,oCAAqC,KACrC,gCAAiC,KACjC,oCAAqC,KACrC,8BAA+B,KAC/B,2BAA4B,KAC5B,gBAAiB,KACjB,oCAAqC,KACrC,gCAAiC,KACjC,oCAAqC,KACrC,8BAA+B,KAC/B,2BAA4B,KAC5B,gBAAiB,KACjB,oCAAqC,KACrC,gCAAiC,KACjC,oCAAqC,KACrC,8BAA+B,KAC/B,2BAA4B,KAC5B,gBAAiB,KACjB,oCAAqC,KACrC,gCAAiC,KACjC,oCAAqC,KACrC,8BAA+B,KAC/B,2BAA4B,KAC5B,gBAAiB,KACjB,oCAAqC,KACrC,gCAAiC,KACjC,oCAAqC,KACrC,8BAA+B,KAC/B,2BAA4B,KAC5B,gBAAiB,KACjB,uCAAwC,KACxC,mCAAoC,KACpC,uCAAwC,KACxC,iCAAkC,KAClC,8BAA+B,KAC/B,mBAAoB,KACpB,uCAAwC,KACxC,mCAAoC,KACpC,uCAAwC,KACxC,iCAAkC,KAClC,8BAA+B,KAC/B,mBAAoB,MAIrB,SAASC,EAAeC,GACvB,IAAIC,EAAKC,EAAsBF,GAC/B,OAAOG,EAAoBF,GAE5B,SAASC,EAAsBF,GAC9B,IAAIG,EAAoBC,EAAEN,EAAKE,GAAM,CACpC,IAAIK,EAAI,IAAIC,MAAM,uBAAyBN,EAAM,KAEjD,MADAK,EAAEE,KAAO,mBACHF,EAEP,OAAOP,EAAIE,GAEZD,EAAeS,KAAO,WACrB,OAAOZ,OAAOY,KAAKV,IAEpBC,EAAeU,QAAUP,EACzBxB,EAAOC,QAAUoB,EACjBA,EAAeE,GAAK,M,qBC/bpBvB,EAAOC,QAAU,CAAC,OAAS,gBAAgB,eAAe,sBAAsB,kBAAkB,yBAAyB,kBAAkB,yBAAyB,iBAAiB,wBAAwB,oBAAoB,2BAA2B,cAAc,qBAAqB,gBAAgB,uBAAuB,gBAAgB,uBAAuB,mBAAmB,0BAA0B,0BAA0B,iCAAiC,eAAe,sBAAsB,cAAgB,yB,qBCA5gBD,EAAOC,QAAU,CAAC,eAAe,sBAAsB,qBAAqB,8B,qBCA5ED,EAAOC,QAAU,CAAC,eAAiB,wBAAwB,MAAQ,eAAe,kBAAkB,yBAAyB,SAAW,kBAAkB,eAAiB,0B,qBCA3K,IAAIH,EAAS,EAAQ,IACjBC,EAAQ,EAAQ,KACpBC,EAAOC,QAAU,CAAC,WAAa,CAAC,MAAQ,6BAA6B,QAAU,MAAM,MAAQ,UAAU,OAAS,UAAU,QAAU,eAAe,QAAU,kxBAC7J,IAAIC,EAAaF,EAAOC,QAAQC,WAC5BC,EAAUH,EAAOC,QAAQE,QAE7BH,EAAOC,QAAU,SAAUG,GAC1B,IAAIC,EAAMN,EAAMO,SAchB,OAZAP,EAAMQ,WAAU,WACf,IAAIC,EAAMC,SAASC,cAAc,OACjCF,EAAIG,UAAY,QAAUR,EAAU,SAKpC,IAHA,IAAIS,EAASJ,EAAIK,WACbC,EAAOT,EAAIU,QAERH,EAAOC,YACbC,EAAKE,YAAYJ,EAAOC,cAEvB,IAEIf,EAAOmB,EAAE,MAAOC,OAAOC,OAAO,CAAEd,IAAKA,GAAOH,EAAYE,M,qBCrBhE,IAAIN,EAAS,EAAQ,IACjBC,EAAQ,EAAQ,KACpBC,EAAOC,QAAU,CAAC,WAAa,CAAC,QAAU,YAAY,MAAQ,8BAA8B,QAAU,g+CACtG,IAAIC,EAAaF,EAAOC,QAAQC,WAC5BC,EAAUH,EAAOC,QAAQE,QAE7BH,EAAOC,QAAU,SAAUG,GAC1B,IAAIC,EAAMN,EAAMO,SAchB,OAZAP,EAAMQ,WAAU,WACf,IAAIC,EAAMC,SAASC,cAAc,OACjCF,EAAIG,UAAY,QAAUR,EAAU,SAKpC,IAHA,IAAIS,EAASJ,EAAIK,WACbC,EAAOT,EAAIU,QAERH,EAAOC,YACbC,EAAKE,YAAYJ,EAAOC,cAEvB,IAEIf,EAAOmB,EAAE,MAAOC,OAAOC,OAAO,CAAEd,IAAKA,GAAOH,EAAYE,M,qBCrBhEJ,EAAOC,QAAU,CAAC,OAAS,gBAAgB,cAAgB,uBAAuB,eAAiB,wBAAwB,wBAAwB,+BAA+B,wBAAwB,+BAA+B,gCAAgC,uCAAuC,8BAA8B,qCAAqC,8BAA8B,qCAAqC,eAAe,sBAAsB,gBAAgB,uBAAuB,gBAAgB,yB,qBCAlhBD,EAAOC,QAAU,CAAC,SAAW,kBAAkB,gBAAkB,yBAAyB,uBAAuB,gC,qBCAjHD,EAAOC,QAAU,CAAC,iBAAmB,4B,qBCArCD,EAAOC,QAAU,CAAC,kBAAoB,6B,qBCAtCD,EAAOC,QAAU,CAAC,KAAO,cAAc,kBAAkB,yBAAyB,iBAAiB,wBAAwB,OAAS,gBAAgB,YAAc,uB,qBCAlKD,EAAOC,QAAU,CAAC,iBAAmB,0BAA0B,4BAA4B,mCAAmC,mBAAqB,8B,qBCAnJD,EAAOC,QAAU,CAAC,KAAO,cAAc,YAAc,qBAAqB,oBAAoB,2BAA2B,WAAa,oBAAoB,sBAAsB,6BAA6B,qBAAqB,4BAA4B,uBAAuB,8BAA8B,iBAAmB,0BAA0B,eAAe,sBAAsB,kBAAkB,yBAAyB,2BAA2B,kCAAkC,4BAA4B,mCAAmC,+BAA+B,sCAAsC,8BAA8B,qCAAqC,wBAAwB,iC,qBCA5sB,IAAIH,EAAS,EAAQ,IACjBC,EAAQ,EAAQ,KACpBC,EAAOC,QAAU,CAAC,WAAa,CAAC,QAAU,eAAe,MAAQ,8BAA8B,QAAU,61KACzG,IAAIC,EAAaF,EAAOC,QAAQC,WAC5BC,EAAUH,EAAOC,QAAQE,QAE7BH,EAAOC,QAAU,SAAUG,GAC1B,IAAIC,EAAMN,EAAMO,SAchB,OAZAP,EAAMQ,WAAU,WACf,IAAIC,EAAMC,SAASC,cAAc,OACjCF,EAAIG,UAAY,QAAUR,EAAU,SAKpC,IAHA,IAAIS,EAASJ,EAAIK,WACbC,EAAOT,EAAIU,QAERH,EAAOC,YACbC,EAAKE,YAAYJ,EAAOC,cAEvB,IAEIf,EAAOmB,EAAE,MAAOC,OAAOC,OAAO,CAAEd,IAAKA,GAAOH,EAAYE,M,qBCrBhEJ,EAAOC,QAAU,CAAC,OAAS,gBAAgB,gBAAkB,yBAAyB,gBAAkB,yBAAyB,kBAAoB,2BAA2B,+BAA+B,sCAAsC,aAAa,oBAAoB,mBAAmB,4B,qBCAzSD,EAAOC,QAAU,CAAC,iBAAiB,wBAAwB,0BAA0B,iCAAiC,uBAAuB,8BAA8B,yBAAyB,gCAAgC,yBAAyB,gCAAgC,oBAAoB,6B,qBCAjTD,EAAOC,QAAU,CAAC,0BAA0B,mC,qBCA5C,IAAIH,EAAS,EAAQ,IACjBC,EAAQ,EAAQ,KACpBC,EAAOC,QAAU,CAAC,WAAa,CAAC,MAAQ,6BAA6B,QAAU,aAAa,QAAU,qLACtG,IAAIC,EAAaF,EAAOC,QAAQC,WAC5BC,EAAUH,EAAOC,QAAQE,QAE7BH,EAAOC,QAAU,SAAUG,GAC1B,IAAIC,EAAMN,EAAMO,SAchB,OAZAP,EAAMQ,WAAU,WACf,IAAIC,EAAMC,SAASC,cAAc,OACjCF,EAAIG,UAAY,QAAUR,EAAU,SAKpC,IAHA,IAAIS,EAASJ,EAAIK,WACbC,EAAOT,EAAIU,QAERH,EAAOC,YACbC,EAAKE,YAAYJ,EAAOC,cAEvB,IAEIf,EAAOmB,EAAE,MAAOC,OAAOC,OAAO,CAAEd,IAAKA,GAAOH,EAAYE,M,qBCrBhE,IAAIN,EAAS,EAAQ,IACjBC,EAAQ,EAAQ,KACpBC,EAAOC,QAAU,CAAC,WAAa,CAAC,MAAQ,6BAA6B,QAAU,aAAa,QAAU,kVACtG,IAAIC,EAAaF,EAAOC,QAAQC,WAC5BC,EAAUH,EAAOC,QAAQE,QAE7BH,EAAOC,QAAU,SAAUG,GAC1B,IAAIC,EAAMN,EAAMO,SAchB,OAZAP,EAAMQ,WAAU,WACf,IAAIC,EAAMC,SAASC,cAAc,OACjCF,EAAIG,UAAY,QAAUR,EAAU,SAKpC,IAHA,IAAIS,EAASJ,EAAIK,WACbC,EAAOT,EAAIU,QAERH,EAAOC,YACbC,EAAKE,YAAYJ,EAAOC,cAEvB,IAEIf,EAAOmB,EAAE,MAAOC,OAAOC,OAAO,CAAEd,IAAKA,GAAOH,EAAYE,M,qBCrBhE,IAAIN,EAAS,EAAQ,IACjBC,EAAQ,EAAQ,KACpBC,EAAOC,QAAU,CAAC,WAAa,CAAC,MAAQ,6BAA6B,QAAU,aAAa,QAAU,82BACtG,IAAIC,EAAaF,EAAOC,QAAQC,WAC5BC,EAAUH,EAAOC,QAAQE,QAE7BH,EAAOC,QAAU,SAAUG,GAC1B,IAAIC,EAAMN,EAAMO,SAchB,OAZAP,EAAMQ,WAAU,WACf,IAAIC,EAAMC,SAASC,cAAc,OACjCF,EAAIG,UAAY,QAAUR,EAAU,SAKpC,IAHA,IAAIS,EAASJ,EAAIK,WACbC,EAAOT,EAAIU,QAERH,EAAOC,YACbC,EAAKE,YAAYJ,EAAOC,cAEvB,IAEIf,EAAOmB,EAAE,MAAOC,OAAOC,OAAO,CAAEd,IAAKA,GAAOH,EAAYE,M,qBCrBhE,IAAIN,EAAS,EAAQ,IACjBC,EAAQ,EAAQ,KACpBC,EAAOC,QAAU,CAAC,WAAa,CAAC,MAAQ,6BAA6B,QAAU,aAAa,QAAU,u9BACtG,IAAIC,EAAaF,EAAOC,QAAQC,WAC5BC,EAAUH,EAAOC,QAAQE,QAE7BH,EAAOC,QAAU,SAAUG,GAC1B,IAAIC,EAAMN,EAAMO,SAchB,OAZAP,EAAMQ,WAAU,WACf,IAAIC,EAAMC,SAASC,cAAc,OACjCF,EAAIG,UAAY,QAAUR,EAAU,SAKpC,IAHA,IAAIS,EAASJ,EAAIK,WACbC,EAAOT,EAAIU,QAERH,EAAOC,YACbC,EAAKE,YAAYJ,EAAOC,cAEvB,IAEIf,EAAOmB,EAAE,MAAOC,OAAOC,OAAO,CAAEd,IAAKA,GAAOH,EAAYE,M,qBCrBhE,IAAIN,EAAS,EAAQ,IACjBC,EAAQ,EAAQ,KACpBC,EAAOC,QAAU,CAAC,WAAa,CAAC,MAAQ,6BAA6B,QAAU,aAAa,QAAU,0YACtG,IAAIC,EAAaF,EAAOC,QAAQC,WAC5BC,EAAUH,EAAOC,QAAQE,QAE7BH,EAAOC,QAAU,SAAUG,GAC1B,IAAIC,EAAMN,EAAMO,SAchB,OAZAP,EAAMQ,WAAU,WACf,IAAIC,EAAMC,SAASC,cAAc,OACjCF,EAAIG,UAAY,QAAUR,EAAU,SAKpC,IAHA,IAAIS,EAASJ,EAAIK,WACbC,EAAOT,EAAIU,QAERH,EAAOC,YACbC,EAAKE,YAAYJ,EAAOC,cAEvB,IAEIf,EAAOmB,EAAE,MAAOC,OAAOC,OAAO,CAAEd,IAAKA,GAAOH,EAAYE,M,qBCrBhE,IAAIN,EAAS,EAAQ,IACjBC,EAAQ,EAAQ,KACpBC,EAAOC,QAAU,CAAC,WAAa,CAAC,MAAQ,6BAA6B,QAAU,aAAa,QAAU,2dACtG,IAAIC,EAAaF,EAAOC,QAAQC,WAC5BC,EAAUH,EAAOC,QAAQE,QAE7BH,EAAOC,QAAU,SAAUG,GAC1B,IAAIC,EAAMN,EAAMO,SAchB,OAZAP,EAAMQ,WAAU,WACf,IAAIC,EAAMC,SAASC,cAAc,OACjCF,EAAIG,UAAY,QAAUR,EAAU,SAKpC,IAHA,IAAIS,EAASJ,EAAIK,WACbC,EAAOT,EAAIU,QAERH,EAAOC,YACbC,EAAKE,YAAYJ,EAAOC,cAEvB,IAEIf,EAAOmB,EAAE,MAAOC,OAAOC,OAAO,CAAEd,IAAKA,GAAOH,EAAYE,M,qBCrBhE,IAAIN,EAAS,EAAQ,IACjBC,EAAQ,EAAQ,KACpBC,EAAOC,QAAU,CAAC,WAAa,CAAC,MAAQ,6BAA6B,QAAU,aAAa,QAAU,ieACtG,IAAIC,EAAaF,EAAOC,QAAQC,WAC5BC,EAAUH,EAAOC,QAAQE,QAE7BH,EAAOC,QAAU,SAAUG,GAC1B,IAAIC,EAAMN,EAAMO,SAchB,OAZAP,EAAMQ,WAAU,WACf,IAAIC,EAAMC,SAASC,cAAc,OACjCF,EAAIG,UAAY,QAAUR,EAAU,SAKpC,IAHA,IAAIS,EAASJ,EAAIK,WACbC,EAAOT,EAAIU,QAERH,EAAOC,YACbC,EAAKE,YAAYJ,EAAOC,cAEvB,IAEIf,EAAOmB,EAAE,MAAOC,OAAOC,OAAO,CAAEd,IAAKA,GAAOH,EAAYE,M,qBCrBhEJ,EAAOC,QAAU,CAAC,kBAAkB,yBAAyB,yBAAyB,gCAAgC,mCAAmC,0CAA0C,yBAAyB,kC,qBCA5ND,EAAOC,QAAU,CAAC,0BAA0B,mC,qBCA5CD,EAAOC,QAAU,CAAC,kBAAkB,yBAAyB,0BAA0B,mC,qBCAvFD,EAAOC,QAAU,CAAC,sBAAsB,6BAA6B,4BAA4B,qC,qBCAjGD,EAAOC,QAAU,CAAC,eAAe,sBAAsB,0BAA0B,iCAAiC,8BAA8B,qCAAqC,6BAA6B,sC,qBCAlND,EAAOC,QAAU,CAAC,sBAAsB,6BAA6B,4BAA4B,qC,qBCAjGD,EAAOC,QAAU,CAAC,aAAa,oBAAoB,oBAAoB,2BAA2B,uBAAuB,8BAA8B,oBAAoB,6B,qBCA3KD,EAAOC,QAAU,CAAC,sBAAsB,+B,qBCAxCD,EAAOC,QAAU,CAAC,oBAAoB,2BAA2B,2BAA2B,kCAAkC,6BAA6B,oCAAoC,sCAAsC,6CAA6C,6BAA6B,oCAAoC,0BAA0B,mC,qBCA7WD,EAAOC,QAAU,CAAC,cAAc,qBAAqB,yBAAyB,gCAAgC,uBAAuB,gC,qBCArID,EAAOC,QAAU,CAAC,eAAe,wB,qBCAjC,IAAIH,EAAS,EAAQ,IACjBC,EAAQ,EAAQ,KACpBC,EAAOC,QAAU,CAAC,WAAa,CAAC,QAAU,YAAY,MAAQ,8BAA8B,QAAU,+HACtG,IAAIC,EAAaF,EAAOC,QAAQC,WAC5BC,EAAUH,EAAOC,QAAQE,QAE7BH,EAAOC,QAAU,SAAUG,GAC1B,IAAIC,EAAMN,EAAMO,SAchB,OAZAP,EAAMQ,WAAU,WACf,IAAIC,EAAMC,SAASC,cAAc,OACjCF,EAAIG,UAAY,QAAUR,EAAU,SAKpC,IAHA,IAAIS,EAASJ,EAAIK,WACbC,EAAOT,EAAIU,QAERH,EAAOC,YACbC,EAAKE,YAAYJ,EAAOC,cAEvB,IAEIf,EAAOmB,EAAE,MAAOC,OAAOC,OAAO,CAAEd,IAAKA,GAAOH,EAAYE,M,qBCrBhEJ,EAAOC,QAAU,CAAC,0BAA0B,mC,qBCA5CD,EAAOC,QAAU,CAAC,mBAAmB,4B,qBCArCD,EAAOC,QAAU,CAAC,sBAAsB,6BAA6B,+BAA+B,sCAAsC,4BAA4B,mCAAmC,8BAA8B,qCAAqC,6BAA6B,oCAAoC,iCAAiC,0C,qBCA9WD,EAAOC,QAAU,CAAC,eAAe,sBAAsB,uBAAuB,8BAA8B,8BAA8B,qCAAqC,iCAAiC,wCAAwC,8BAA8B,qCAAqC,oCAAoC,2CAA2C,uBAAuB,8BAA8B,sBAAsB,+B,qBCArdD,EAAOC,QAAU,CAAC,sBAAsB,+B,qBCAxCD,EAAOC,QAAU,CAAC,iBAAiB,0B,qBCAnCD,EAAOC,QAAU,CAAC,oBAAoB,2BAA2B,6BAA6B,oCAAoC,6BAA6B,oCAAoC,4BAA4B,mCAAmC,0BAA0B,mC,qBCA5RD,EAAOC,QAAU,CAAC,kBAAkB,yBAAyB,2BAA2B,oC,qBCAxFD,EAAOC,QAAU,CAAC,eAAe,sBAAsB,uBAAuB,gC,qBCA9ED,EAAOC,QAAU,CAAC,eAAe,sBAAsB,uBAAuB,8BAA8B,uBAAuB,8BAA8B,yBAAyB,kC,qBCA1LD,EAAOC,QAAU,CAAC,0BAA0B,mC,qBCA5C,IAAIH,EAAS,EAAQ,IACjBC,EAAQ,EAAQ,KACpBC,EAAOC,QAAU,CAAC,WAAa,CAAC,QAAU,YAAY,MAAQ,8BAA8B,QAAU,kpBACtG,IAAIC,EAAaF,EAAOC,QAAQC,WAC5BC,EAAUH,EAAOC,QAAQE,QAE7BH,EAAOC,QAAU,SAAUG,GAC1B,IAAIC,EAAMN,EAAMO,SAchB,OAZAP,EAAMQ,WAAU,WACf,IAAIC,EAAMC,SAASC,cAAc,OACjCF,EAAIG,UAAY,QAAUR,EAAU,SAKpC,IAHA,IAAIS,EAASJ,EAAIK,WACbC,EAAOT,EAAIU,QAERH,EAAOC,YACbC,EAAKE,YAAYJ,EAAOC,cAEvB,IAEIf,EAAOmB,EAAE,MAAOC,OAAOC,OAAO,CAAEd,IAAKA,GAAOH,EAAYE,M,qBCrBhEJ,EAAOC,QAAU,CAAC,UAAY,mBAAmB,gBAAkB,yBAAyB,gBAAkB,yBAAyB,kBAAkB,yBAAyB,oBAAoB,6B,qBCAtMD,EAAOC,QAAU,CAAC,cAAc,qBAAqB,mBAAmB,0BAA0B,yBAAyB,kC,qBCA3HD,EAAOC,QAAU,CAAC,eAAe,sBAAsB,wBAAwB,iC,qBCA/E,IAAIH,EAAS,EAAQ,IACjBC,EAAQ,EAAQ,KACpBC,EAAOC,QAAU,CAAC,WAAa,CAAC,QAAU,YAAY,MAAQ,8BAA8B,QAAU,gGACtG,IAAIC,EAAaF,EAAOC,QAAQC,WAC5BC,EAAUH,EAAOC,QAAQE,QAE7BH,EAAOC,QAAU,SAAUG,GAC1B,IAAIC,EAAMN,EAAMO,SAchB,OAZAP,EAAMQ,WAAU,WACf,IAAIC,EAAMC,SAASC,cAAc,OACjCF,EAAIG,UAAY,QAAUR,EAAU,SAKpC,IAHA,IAAIS,EAASJ,EAAIK,WACbC,EAAOT,EAAIU,QAERH,EAAOC,YACbC,EAAKE,YAAYJ,EAAOC,cAEvB,IAEIf,EAAOmB,EAAE,MAAOC,OAAOC,OAAO,CAAEd,IAAKA,GAAOH,EAAYE,M,qBCrBhE,IAAIN,EAAS,EAAQ,IACjBC,EAAQ,EAAQ,KACpBC,EAAOC,QAAU,CAAC,WAAa,CAAC,MAAQ,6BAA6B,QAAU,aAAa,QAAU,wZACtG,IAAIC,EAAaF,EAAOC,QAAQC,WAC5BC,EAAUH,EAAOC,QAAQE,QAE7BH,EAAOC,QAAU,SAAUG,GAC1B,IAAIC,EAAMN,EAAMO,SAchB,OAZAP,EAAMQ,WAAU,WACf,IAAIC,EAAMC,SAASC,cAAc,OACjCF,EAAIG,UAAY,QAAUR,EAAU,SAKpC,IAHA,IAAIS,EAASJ,EAAIK,WACbC,EAAOT,EAAIU,QAERH,EAAOC,YACbC,EAAKE,YAAYJ,EAAOC,cAEvB,IAEIf,EAAOmB,EAAE,MAAOC,OAAOC,OAAO,CAAEd,IAAKA,GAAOH,EAAYE,M,qBCrBhE,IAAIN,EAAS,EAAQ,IACjBC,EAAQ,EAAQ,KACpBC,EAAOC,QAAU,CAAC,WAAa,CAAC,MAAQ,6BAA6B,QAAU,aAAa,QAAU,8fACtG,IAAIC,EAAaF,EAAOC,QAAQC,WAC5BC,EAAUH,EAAOC,QAAQE,QAE7BH,EAAOC,QAAU,SAAUG,GAC1B,IAAIC,EAAMN,EAAMO,SAchB,OAZAP,EAAMQ,WAAU,WACf,IAAIC,EAAMC,SAASC,cAAc,OACjCF,EAAIG,UAAY,QAAUR,EAAU,SAKpC,IAHA,IAAIS,EAASJ,EAAIK,WACbC,EAAOT,EAAIU,QAERH,EAAOC,YACbC,EAAKE,YAAYJ,EAAOC,cAEvB,IAEIf,EAAOmB,EAAE,MAAOC,OAAOC,OAAO,CAAEd,IAAKA,GAAOH,EAAYE,M,qBCrBhE,IAAIN,EAAS,EAAQ,IACjBC,EAAQ,EAAQ,KACpBC,EAAOC,QAAU,CAAC,WAAa,CAAC,MAAQ,6BAA6B,QAAU,aAAa,QAAU,gtBACtG,IAAIC,EAAaF,EAAOC,QAAQC,WAC5BC,EAAUH,EAAOC,QAAQE,QAE7BH,EAAOC,QAAU,SAAUG,GAC1B,IAAIC,EAAMN,EAAMO,SAchB,OAZAP,EAAMQ,WAAU,WACf,IAAIC,EAAMC,SAASC,cAAc,OACjCF,EAAIG,UAAY,QAAUR,EAAU,SAKpC,IAHA,IAAIS,EAASJ,EAAIK,WACbC,EAAOT,EAAIU,QAERH,EAAOC,YACbC,EAAKE,YAAYJ,EAAOC,cAEvB,IAEIf,EAAOmB,EAAE,MAAOC,OAAOC,OAAO,CAAEd,IAAKA,GAAOH,EAAYE,M,qBCrBhE,IAAIN,EAAS,EAAQ,IACjBC,EAAQ,EAAQ,KACpBC,EAAOC,QAAU,CAAC,WAAa,CAAC,QAAU,YAAY,MAAQ,8BAA8B,QAAU,goBACtG,IAAIC,EAAaF,EAAOC,QAAQC,WAC5BC,EAAUH,EAAOC,QAAQE,QAE7BH,EAAOC,QAAU,SAAUG,GAC1B,IAAIC,EAAMN,EAAMO,SAchB,OAZAP,EAAMQ,WAAU,WACf,IAAIC,EAAMC,SAASC,cAAc,OACjCF,EAAIG,UAAY,QAAUR,EAAU,SAKpC,IAHA,IAAIS,EAASJ,EAAIK,WACbC,EAAOT,EAAIU,QAERH,EAAOC,YACbC,EAAKE,YAAYJ,EAAOC,cAEvB,IAEIf,EAAOmB,EAAE,MAAOC,OAAOC,OAAO,CAAEd,IAAKA,GAAOH,EAAYE,M,qBCrBhEJ,EAAOC,QAAU,CAAC,MAAQ,eAAe,eAAiB,wBAAwB,aAAe,sBAAsB,iBAAiB,wBAAwB,iBAAiB,wBAAwB,eAAe,wB,qBCAxND,EAAOC,QAAU,CAAC,OAAS,gBAAgB,gBAAkB,yBAAyB,gBAAkB,yBAAyB,aAAe,sBAAsB,gBAAkB,yBAAyB,cAAgB,uBAAuB,iBAAmB,0BAA0B,uBAAuB,8BAA8B,eAAiB,wBAAwB,aAAe,sBAAsB,gBAAgB,yB,qBCAxbD,EAAOC,QAAU,CAAC,QAAU,iBAAiB,kBAAkB,yBAAyB,0BAA0B,iCAAiC,2BAA2B,kCAAkC,yBAAyB,gCAAgC,8BAA8B,qCAAqC,+BAA+B,sCAAsC,4BAA4B,mCAAmC,iCAAiC,wCAAwC,kCAAkC,yCAAyC,oBAAoB,6B,qBCAxnBD,EAAOC,QAAU,CAAC,OAAS,gBAAgB,cAAgB,uBAAuB,sBAAsB,6BAA6B,4BAA4B,mCAAmC,oBAAoB,2BAA2B,mBAAmB,0BAA0B,mBAAmB,0BAA0B,oBAAoB,2BAA2B,6BAA6B,oCAAoC,aAAe,sBAAsB,0BAA0B,iCAAiC,0BAA0B,iCAAiC,sBAAsB,+B,qBCA9mB,IAAIH,EAAS,EAAQ,IACjBC,EAAQ,EAAQ,KACpBC,EAAOC,QAAU,CAAC,WAAa,CAAC,MAAQ,6BAA6B,QAAU,aAAa,QAAU,0YACtG,IAAIC,EAAaF,EAAOC,QAAQC,WAC5BC,EAAUH,EAAOC,QAAQE,QAE7BH,EAAOC,QAAU,SAAUG,GAC1B,IAAIC,EAAMN,EAAMO,SAchB,OAZAP,EAAMQ,WAAU,WACf,IAAIC,EAAMC,SAASC,cAAc,OACjCF,EAAIG,UAAY,QAAUR,EAAU,SAKpC,IAHA,IAAIS,EAASJ,EAAIK,WACbC,EAAOT,EAAIU,QAERH,EAAOC,YACbC,EAAKE,YAAYJ,EAAOC,cAEvB,IAEIf,EAAOmB,EAAE,MAAOC,OAAOC,OAAO,CAAEd,IAAKA,GAAOH,EAAYE,M,qBCrBhE,IAAIN,EAAS,EAAQ,IACjBC,EAAQ,EAAQ,KACpBC,EAAOC,QAAU,CAAC,WAAa,CAAC,MAAQ,6BAA6B,QAAU,aAAa,QAAU,qMACtG,IAAIC,EAAaF,EAAOC,QAAQC,WAC5BC,EAAUH,EAAOC,QAAQE,QAE7BH,EAAOC,QAAU,SAAUG,GAC1B,IAAIC,EAAMN,EAAMO,SAchB,OAZAP,EAAMQ,WAAU,WACf,IAAIC,EAAMC,SAASC,cAAc,OACjCF,EAAIG,UAAY,QAAUR,EAAU,SAKpC,IAHA,IAAIS,EAASJ,EAAIK,WACbC,EAAOT,EAAIU,QAERH,EAAOC,YACbC,EAAKE,YAAYJ,EAAOC,cAEvB,IAEIf,EAAOmB,EAAE,MAAOC,OAAOC,OAAO,CAAEd,IAAKA,GAAOH,EAAYE,M,qBCrBhE,IAAIN,EAAS,EAAQ,IACjBC,EAAQ,EAAQ,KACpBC,EAAOC,QAAU,CAAC,WAAa,CAAC,QAAU,YAAY,MAAQ,8BAA8B,QAAU,2GACtG,IAAIC,EAAaF,EAAOC,QAAQC,WAC5BC,EAAUH,EAAOC,QAAQE,QAE7BH,EAAOC,QAAU,SAAUG,GAC1B,IAAIC,EAAMN,EAAMO,SAchB,OAZAP,EAAMQ,WAAU,WACf,IAAIC,EAAMC,SAASC,cAAc,OACjCF,EAAIG,UAAY,QAAUR,EAAU,SAKpC,IAHA,IAAIS,EAASJ,EAAIK,WACbC,EAAOT,EAAIU,QAERH,EAAOC,YACbC,EAAKE,YAAYJ,EAAOC,cAEvB,IAEIf,EAAOmB,EAAE,MAAOC,OAAOC,OAAO,CAAEd,IAAKA,GAAOH,EAAYE,M,qBCrBhE,IAAIN,EAAS,EAAQ,IACjBC,EAAQ,EAAQ,KACpBC,EAAOC,QAAU,CAAC,WAAa,CAAC,MAAQ,6BAA6B,QAAU,aAAa,QAAU,scACtG,IAAIC,EAAaF,EAAOC,QAAQC,WAC5BC,EAAUH,EAAOC,QAAQE,QAE7BH,EAAOC,QAAU,SAAUG,GAC1B,IAAIC,EAAMN,EAAMO,SAchB,OAZAP,EAAMQ,WAAU,WACf,IAAIC,EAAMC,SAASC,cAAc,OACjCF,EAAIG,UAAY,QAAUR,EAAU,SAKpC,IAHA,IAAIS,EAASJ,EAAIK,WACbC,EAAOT,EAAIU,QAERH,EAAOC,YACbC,EAAKE,YAAYJ,EAAOC,cAEvB,IAEIf,EAAOmB,EAAE,MAAOC,OAAOC,OAAO,CAAEd,IAAKA,GAAOH,EAAYE,M,qBCrBhE,IAAIN,EAAS,EAAQ,IACjBC,EAAQ,EAAQ,KACpBC,EAAOC,QAAU,CAAC,WAAa,CAAC,QAAU,YAAY,MAAQ,8BAA8B,QAAU,mOACtG,IAAIC,EAAaF,EAAOC,QAAQC,WAC5BC,EAAUH,EAAOC,QAAQE,QAE7BH,EAAOC,QAAU,SAAUG,GAC1B,IAAIC,EAAMN,EAAMO,SAchB,OAZAP,EAAMQ,WAAU,WACf,IAAIC,EAAMC,SAASC,cAAc,OACjCF,EAAIG,UAAY,QAAUR,EAAU,SAKpC,IAHA,IAAIS,EAASJ,EAAIK,WACbC,EAAOT,EAAIU,QAERH,EAAOC,YACbC,EAAKE,YAAYJ,EAAOC,cAEvB,IAEIf,EAAOmB,EAAE,MAAOC,OAAOC,OAAO,CAAEd,IAAKA,GAAOH,EAAYE,M,qBCrBhE,IAAIN,EAAS,EAAQ,IACjBC,EAAQ,EAAQ,KACpBC,EAAOC,QAAU,CAAC,WAAa,CAAC,QAAU,YAAY,MAAQ,8BAA8B,QAAU,wSACtG,IAAIC,EAAaF,EAAOC,QAAQC,WAC5BC,EAAUH,EAAOC,QAAQE,QAE7BH,EAAOC,QAAU,SAAUG,GAC1B,IAAIC,EAAMN,EAAMO,SAchB,OAZAP,EAAMQ,WAAU,WACf,IAAIC,EAAMC,SAASC,cAAc,OACjCF,EAAIG,UAAY,QAAUR,EAAU,SAKpC,IAHA,IAAIS,EAASJ,EAAIK,WACbC,EAAOT,EAAIU,QAERH,EAAOC,YACbC,EAAKE,YAAYJ,EAAOC,cAEvB,IAEIf,EAAOmB,EAAE,MAAOC,OAAOC,OAAO,CAAEd,IAAKA,GAAOH,EAAYE,M,qBCrBhEJ,EAAOC,QAAU,CAAC,eAAiB,wBAAwB,2BAA2B,kCAAkC,0BAA0B,iCAAiC,gBAAgB,uBAAuB,KAAO,cAAc,aAAe,sBAAsB,oBAAoB,6B,qBCAxSD,EAAOC,QAAU,CAAC,0BAA0B,iCAAiC,yBAAyB,kC,qBCAtGD,EAAOC,QAAU,CAAC,qBAAqB,4BAA4B,mBAAqB,8B,4CCAxFD,EAAOC,QAAU,CAAC,aAAa,oBAAoB,4BAA4B,mCAAmC,0BAA0B,iCAAiC,oBAAoB,2BAA2B,oBAAoB,2BAA2B,oBAAoB,2BAA2B,uBAAuB,gC,qBCAjVD,EAAOC,QAAU,CAAC,aAAa,oBAAoB,oBAAoB,2BAA2B,uBAAuB,8BAA8B,oBAAoB,2BAA2B,uBAAuB,gC,qBCA7ND,EAAOC,QAAU,CAAC,iBAAiB,wBAAwB,wBAAwB,+BAA+B,2BAA2B,kCAAkC,wBAAwB,iC,qBCAvMD,EAAOC,QAAU,CAAC,sBAAsB,6BAA6B,yBAAyB,kC,qBCA9FD,EAAOC,QAAU,CAAC,kBAAoB,6B,qBCAtCD,EAAOC,QAAU,CAAC,6BAA6B,sC,qBCA/CD,EAAOC,QAAU,CAAC,2BAA2B,kCAAkC,0BAA0B,iCAAiC,6BAA6B,oCAAoC,8BAA8B,uC,kJCG1N+B,EAFQC,c,4BCCjBC,EAAOC,OAAOC,YAChBC,IAAYC,MAAMH,OAAOI,SAASC,QAAQC,WAC0B,KAC3DC,EAASR,GAAkC,OAA1BA,EAAKS,MAAM,WAE5BC,EAAW,IAAIC,IAAe,CAAEX,OAAMY,SAAU,MAAOJ,W,UCL9DK,EAAqB,0DAQdC,EAAgB,SAACC,GAC7B,IANMC,EAMAC,EAAQC,KAAKC,OANbH,EAAQ,IAAII,YAAY,GAC9BnB,OAAOoB,OAAOC,gBAAgBN,GACZ,uBAAXA,EAAM,GAIyBD,EAAcQ,SAEpD,MAA6B,iBAAlBR,EACHA,EAAcS,OAAOP,EAAO,GAG7BF,EAAcE,IAGTQ,EAAqB,SAACC,EAAYC,GAAb,OACjCC,MAAMC,KAAK,CAAEN,OAAQG,IAAc,kBAAMZ,EAAca,MAAWG,KAAK,KAK3DC,EAAc,kBAAMV,MAAWW,UAAUC,OAAO,IAAIC,SAASb,MAAWc,M,w9BCxBrF,IAAMC,EAEH,aAUHnC,OAAOoC,WAAapC,OAAOoC,YAAc,CAAEC,EAAG,IAC9C,IACIC,EACAC,EAIAC,EACAC,EAPEC,EAAS,GAGXC,EAAY,GACZC,GAAQ,EACRC,GAAc,EAILC,EAAiB,CAC7B,iBACA,iBACA,eACA,aACA,uBACA,sBACA,cACA,cACA,eACA,sBACA,wBACA,mBAGKC,EAAYC,cAElB,SAASC,EAAiBC,EAAWC,GACpC,OAA2C,IAAvCL,EAAeM,QAAQF,IAIpBH,EAAUM,GAAGH,EAAWC,GAGhC,SAASG,EAAaJ,EAAWK,QACZ,IAATA,EACVR,EAAUS,KAAKN,EAAWK,GAE1BR,EAAUS,KAAKN,GAKjB,SAASO,EAASC,EAAQC,GACzB,IAAKf,EACJ,OAAOD,EAAUiB,KAAK,CAACF,EAAQC,IAEhC,IAAMJ,EAAO,CACZM,IAAK,aACLV,GAAIO,EACJI,KAAMH,GAEPpB,EAAOwB,cAAcC,YAAYT,EAAM,KAGxC,IAAMU,EAAoB,SAACC,GACtBrB,GAAeqB,GAClB1B,EAAiBlE,SAAS6F,gBAAgBC,UAC1C9F,SAAS+F,KAAKC,UAAUC,IAAI,oCAE5BjG,SAAS+F,KAAKC,UAAUE,OAAO,kCAC3B3B,IACHvE,SAAS6F,gBAAgBC,UAAY5B,IAInC0B,GACH5B,EAAOmC,MAAMC,KAAO7B,EAAc,IAAM,OAUxCP,EAAOmC,MAAME,OAAS9B,EAAc,OAAH,UAjFb,GAiF6CJ,EAjF7C,GADU,GAkFG,MACjCH,EAAOmC,MAAMG,MAAQ/B,EAAc,OAAH,UAAgBgC,IAAhB,QAEhCvC,EAAOmC,MAAMC,KAAO,OACpBpC,EAAOmC,MAAMG,MAAb,UAAyBC,GAAzB,MACAvC,EAAOmC,MAAME,OAAb,UAA0BE,GAA1B,QAiDIC,EAAa,WACW,WAAzBxC,EAAOyC,QAAQC,QAInBvC,EA/I0B,IAgJ1BwB,GAAkB,GAClB3B,EAAOyC,QAAQC,MAAQ,SACvBzC,EAAO0C,QACP3B,EAAa,oBASd,SAAS4B,IACqB,WAAzB5C,EAAOyC,QAAQC,QAInBf,GAAkB,GAClB3B,EAAOyC,QAAQC,MAAQ,SACvB1B,EAAa,mBAGd,IAAM6B,EAAM,CACXC,MAAO,KAEPxC,MAHW,WAIVA,GAAQ,EACJD,EAAUrB,OAAS,IACtBqB,EAAU0C,SAAQ,SAASC,GAC1B7B,EAAS8B,MAAMC,KAAMF,MAEtB3C,EAAY,KAId8C,eAbW,WAcVP,KAGDQ,cAjBW,WAkBNP,EAAIC,QAA8B,IAArBD,EAAIC,MAAMO,SAC1BR,EAAIC,MAAMQ,QACVT,EAAIC,MAAQ,MAEbN,KAGDe,WAzBW,WA0BVX,IACAC,EAAIC,MAAQpF,OAAO8F,KAAP,UAAgBpD,EAAOqD,KAAvB,OAA+BrD,EAAOqD,IAAIC,YAAY,MAAQ,EAAI,IAAM,IAAxE,eACX,kBADW,gBAlMY,IAkMZ,oBACiDvD,EADjD,kBAEZ0C,EAAIC,MAAMH,SAGXH,WAhCW,WAiCVA,KAGDmB,aApCW,SAoCEtB,IApDO,SAACA,GACrBlC,EAAgBkC,EAChBV,GAAkB,GAClB3B,EAAOyC,QAAQC,MAAQ,YAkDtBiB,CAAatB,IAGduB,aAxCW,WAyCV5H,SAAS+F,KAAK8B,YAAY7D,IAG3B8D,SA5CW,SA4CFlD,EAAWK,GACnBD,EAAaJ,EAAWK,IAGzB8C,WAhDW,WAiDV9D,EAAOkC,MAAM6B,QAAU,UACvBhD,EAAa,gBAGdiD,WArDW,WAsDVhE,EAAOkC,MAAM6B,QAAU,OACvBhD,EAAa,gBAGdkD,mBA1DW,WA2DVlI,SAAS+F,KAAKC,UAAUE,OAAO,mCAGhCiC,4BA9DW,WA+DV5D,GAAevE,SAAS+F,KAAKC,UAAUC,IAAI,oCAI7C,SAASmC,EAAYC,GACpBlD,EAAS,cAAe,CACvBkD,SACAvG,SAAUwG,KAAKzG,MAAMyG,KAAKC,UAAUvI,SAAS8B,WAC7C0G,MAAOxI,SAASwI,QAIlB,SAASC,EAAeC,EAAKC,EAAOC,QACV,IAAdA,IACVA,GAAY,GAEbzD,EAAS,iBAAkB,CAACuD,EAAKC,EAAOC,IAGzC,SAASC,EAASC,GACjB3D,EAAS,WAAY2D,GAGtB,SAASC,EAAcC,GACtB7D,EAAS,gBAAiB6D,GAG3B,SAASC,EAAcC,GACtB/D,EAAS,gBAAiB+D,GAG3B,SAASC,EAAaC,GACrBjE,EAAS,eAAgBiE,GAG1B,SAASC,EAAcC,GACtBnE,EAAS,gBAAiBmE,GAG3B,SAASC,EAAcC,GACtBrE,EAAS,gBAAiBqE,GAO3B,SAASC,EAASC,GACjBvE,EAAS,WAAYuE,GAGtB,SAASC,EAAYC,GACpBzE,EAAS,cAAeyE,GAsEzB,IAAMC,EAAc,CACnBC,KAAM,KACNtB,MAAO,MA6BFuB,EAAO,SAACtC,GACRA,IAILrD,EAAOqD,IAAMA,EAtSO,SAACA,IACrBzD,EAAShE,SAASC,cAAc,QACzB+J,UAAY,oBACnBhG,EAAOmC,MAAM8D,SAAW,QACxBjG,EAAOmC,MAAMG,MAAb,UAAyBC,GAAzB,MACAvC,EAAOmC,MAAME,OAAb,UAA0BE,GAA1B,MACAvC,EAAOmC,MAAM+D,UAAY,QACzBlG,EAAOmC,MAAMgE,OAAS,IACtBnG,EAAOmC,MAAMiE,MAAQ,IACrBpG,EAAOmC,MAAMkE,OAAS,QACtBrG,EAAOyC,QAAQC,MAAQ,SAEvB,IAAM4D,EAAYtK,SAASC,cAAc,OACzCqK,EAAUN,UAAY,uBACtBM,EAAUnE,MAAMG,MAAQ,OACxBgE,EAAUnE,MAAME,OAAS,QAEzBpC,EAASjE,SAASC,cAAc,WACzBa,GAAK,oBACZmD,EAAOsG,kBAAoB,OAC3BtG,EAAOsB,IAAMkC,EACbxD,EAAOkC,MAAMG,MAAQ,OACrBrC,EAAOkC,MAAME,OAAS,OACtBpC,EAAOkC,MAAMqE,OAAS,OACtBvG,EAAOkC,MAAMsE,gBAAkB,cAE/BH,EAAU/J,YAAY0D,GACtBD,EAAOzD,YAAY+J,GACnBtK,SAAS+F,KAAKxF,YAAYyD,GAE1B,IAAM0G,EAAuB,SAAC,GAAgB,IAAdC,EAAc,EAAdA,QAC1B3G,IAILO,EAAcoG,EACdhF,EAA2C,WAAzB3B,EAAOyC,QAAQC,OACjCvB,EAAS,cAAeZ,KAGnBqG,EAAiBlJ,OAAOmJ,WAAW,wCACzCD,EAAeE,YAAYJ,GAC3BA,EAAqBE,GA8PrBG,CAAatD,GAhCb/F,OAAOsJ,iBAAiB,WAAW,SAACC,GACnC,GAAwB,WAApB,EAAOA,EAAIhG,YAAsCiG,IAAjBD,EAAIhG,KAAKM,KAAsC,eAAjB0F,EAAIhG,KAAKM,UACjD2F,IAArBrE,EAAIoE,EAAIhG,KAAKJ,KAAiD,mBAArBgC,EAAIoE,EAAIhG,KAAKJ,IAAoB,CAC7E,IAAMW,EAAO,GAAG2F,OAAOF,EAAIhG,KAAKO,MAAQ,IACxC3B,EAAG,WAAH,iBAAYoH,EAAIhG,KAAKJ,KAArB,SAA+BW,KAC/BqB,EAAIoE,EAAIhG,KAAKJ,IAAIoC,MAAM,KAAMzB,OAG7B,GAIH4F,aAAY,WACPpL,SAAS8B,SAASgI,OAASD,EAAYC,OAC1C1B,EAAY,OACZyB,EAAYC,KAAO9J,SAAS8B,SAASgI,MAGlC9J,SAASwI,QAAUqB,EAAYrB,QAClCJ,EAAY,SACZyB,EAAYrB,MAAQxI,SAASwI,SAE5B,YAe6B,IAAtB9G,OAAO2J,aACjBC,QAAQC,KAAK,kEACbxB,EAAKrI,OAAO2J,WAAW,UAGa,IAA1B3J,OAAOoC,WAAW2D,KAC5BsC,EAAKrI,OAAOoC,WAAW2D,KAGxB,IAAM+D,GAAQ9J,OAAOoC,WAAWC,EC1ZzB,SAAS0H,GAAWC,GAAmB,IAAXlG,EAAW,uDAAJ,GACnCP,EAAO,CACZM,IAAK,aACLV,GAAI6G,EACJlG,QAGD9D,OAAOiK,OAAOjG,YAAYT,EAAM,KDqZjCvD,OAAOoC,WAAWC,EAAEuB,KAAO,SAASsG,GACnCA,EAAEC,KAAKnK,OAAOoC,WAAWgI,WAE1BpK,OAAOoC,WAAapC,OAAOoC,WAAWC,EAAEuB,KAGxC5D,OAAOoC,WAAWgI,SAAW,CAE5B1D,cACAK,iBACAsD,WAnHD,SAAoB1G,GACnB,IAAK,IAAMqG,KAAUrG,EACpB,GAAKA,EAAO2G,eAAeN,GAI3B,OAAQA,GACP,IAAK,cAAL,MACmCrG,EAAOqG,GACzCjD,EAFD,EACSC,IADT,EACcC,MADd,EACqBC,WAEpB,SACD,IAAK,kBACJ,IAAKvF,MAAM4I,QAAQ5G,EAAOqG,IAAU,CACnCJ,QAAQzH,IAAI,gEACZ,SAEDwB,EAAOqG,GAAQ3E,SAAQ,SAAC9B,GAEvBwD,EADkCxD,EAA1ByD,IAA0BzD,EAArB0D,MAAqB1D,EAAd2D,cAGrB,SACD,IAAK,QACJC,EAASxD,EAAOqG,IAChB,SACD,IAAK,aACJ3C,EAAc1D,EAAOqG,IACrB,SACD,IAAK,aACJzC,EAAc5D,EAAOqG,IACrB,SACD,IAAK,YACJvC,EAAa9D,EAAOqG,IACpB,SACD,IAAK,aACJrC,EAAchE,EAAOqG,IACrB,SACD,IAAK,gBACJnC,EAAclE,EAAOqG,IACrB,SACD,IAAK,WACJ/B,EAAYtE,EAAOqG,IACnB,SACD,IAAK,QACJjC,EAASpE,EAAOqG,IAChB,SACD,QACC,WAsEH7C,WACAE,gBACAmD,gBAlJD,WACC/G,EAAS,oBAkJT8D,gBACAE,eACAE,gBACAI,WACAF,gBACAI,cACA5B,WA7ID,WACC5C,EAAS,eA6IT8C,WA1ID,WACC9C,EAAS,eA0ITgH,eAvID,WACChH,EAAS,mBAuITiH,eApID,WACCjH,EAAS,mBAsITkH,gBApB4B,SAoBZxH,GAAMF,EAAiB,iBAAkBE,IACzDyH,gBArB4B,SAqBZzH,GAAMF,EAAiB,iBAAkBE,IACzD0H,cAtB4B,SAsBd1H,GAAMF,EAAiB,eAAgBE,IACrD2H,YAvB4B,SAuBhB3H,GAAMF,EAAiB,aAAcE,IACjD4H,oBAxB4B,SAwBR5H,GAAMF,EAAiB,uBAAwBE,IACnE6H,oBAzB4B,SAyBR7H,GAAMF,EAAiB,sBAAuBE,IAClE8H,cA1B4B,SA0Bd9H,GAAMF,EAAiB,cAAeE,IACpD+H,eA3B4B,SA2Bb/H,GAAMF,EAAiB,cAAeE,IACrDgI,cA5B4B,SA4BdhI,GAAMF,EAAiB,eAAgBE,IACrDiI,oBA7B4B,SA6BRjI,GAAMF,EAAiB,sBAAuBE,IAClEkI,sBA9B4B,SA8BNlI,GAAMF,EAAiB,wBAAyBE,IACtEmI,iBA/B4B,SA+BXnI,GAAMF,EAAiB,kBAAmBE,KAI5D2G,GAAMzE,SAAQ,SAAC6E,GACdA,EAAEC,KAAKnK,OAAOoC,WAAWgI,aC5bnB,IAAMmB,GAA0B,SAACC,EAAcjI,GAAf,OAAwBT,EAAe2I,SAASD,IAAiBzB,GAAW,WAAY,CAACyB,EAAcjI,K,yhFCPrGvD,OAAjC0L,G,GAAAA,aAAcC,G,GAAAA,e,k/DCAf,IAAMC,GAAe,iBAAO,CAClCpE,MAAO1F,IACP+J,OAAQ,GACRnJ,OAAQ,CACPoJ,SAAU,GACVC,SAAU,GACV3E,MAAO,GACP4E,SAAU,GACVC,YAAa,GACbC,UAAW,IAEZJ,SAAU,GACVK,KAAM,KACNC,MAAO,CACNvI,IAAK,GACLwI,SAAS,EACTC,MAAM,GAEP/J,OAAQ,CACPuF,MAAO,GACPV,MAAO,GACPmF,SAAS,GAEVC,KAAM,CACLC,UAAU,GAEXC,OAAQ,GACRH,SAAS,EACTI,WAAW,EACXC,OAAQ,KACRC,kBAAmB,KACnBC,YAAa,OAIDC,GAAQ,I,WDhCpB,aAAqF,IAMhFC,EANgF,OAAzEpB,EAAyE,uDAA1D,GAA0D,yDAAJ,GAAI,IAApDqB,uBAAoD,MAAlC,QAAkC,MAAzBC,mBAAyB,MAAX,GAAW,aACpFnO,OAAOC,OAAOwG,KAAMxC,eAEpBwC,KAAKyH,gBAAkBA,EACvBzH,KAAK0H,YAAcA,EAInB,IACCF,EAAcpG,KAAKzG,MAAMuL,GAAayB,QAAQ3H,KAAKyH,kBAClD,MAAOzN,GACRwN,EAAc,GAHf,QAKCA,EAAqC,WAAvB,GAAOA,GAA2BA,EAAc,GAG/DxH,KAAK4H,OAAL,SAAmBxB,GAAiBoB,GAEpChN,OAAOsJ,iBAAiB,WAAW,SAAC9J,GAEnC,GAAIA,EAAEwH,MAAQ,EAAKiG,gBAAnB,CAIA,IAAKzN,EAAE6N,SAEN,OAAOjN,SAASkN,SAGjB,IAAMN,EAAcpG,KAAKzG,MAAMX,EAAE6N,UACjC,EAAKE,eAAeP,GACpB,EAAKxJ,KAAK,qBAGXxD,OAAOsJ,iBAAiB,QAAQ,WAC/B,IAAMkE,EAAY1L,IAClB6J,GAAe8B,QAAQ,YAAaD,GAFC,MAGL,EAAKJ,OAA7BM,sBAH6B,MAGZ,GAHY,EAIrC,EAAKC,SAAS,CAAED,eAAgB,CAACF,GAAH,UAAiBE,SAGhD1N,OAAOsJ,iBAAiB,oBAAoB,YAC1C,EAAK8D,OAAOT,YAAc,EAAKS,OAAOQ,WAAa7D,GAAW,cAC/D,EAAKqD,OAAO7K,OAAOgK,QAAUxC,GAAW,cAAgBA,GAAW,iBAGpE/J,OAAOsJ,iBAAiB,gBAAgB,WACvC,IAAMkE,EAAY7B,GAAewB,QAAQ,aADI,EAEb,EAAKC,OAA7BM,sBAFqC,MAEpB,GAFoB,EAG7C,EAAKC,SAAS,CAAED,eAAgBA,EAAeG,QAAO,SAACC,GAAD,OAAaA,IAAYN,U,yDAShF,IADS,EACHO,EAAc,GAAH,GAAQvI,KAAK4H,QADrB,KAEgB5H,KAAK0H,aAFrB,IAET,kCACQa,EADmC,SAFlC,8BAKTrC,GAAa+B,QAAQjI,KAAKyH,gBAAiBrG,KAAKC,UAAUkH,M,+BAGlDC,GACR,IAAMC,EAAYzI,KAAK4H,OACvB5H,KAAK4H,OAAL,SAAmBa,GAAcD,GACjCxI,KAAK0I,UACL1I,KAAKhC,KAAK,SAAU,CAACgC,KAAK4H,OAAQa,EAAWD,M,qCAG/BhB,GACd,IAD2B,EACrBiB,EAAYzI,KAAK4H,OAEjBe,EAAgB,GAHK,KAIF3I,KAAK0H,aAJH,IAI3B,2BAA2C,KAAhCkB,EAAgC,QAC1CD,EAAcC,GAAcH,EAAUG,IALZ,8BAO3B5I,KAAK4H,OAAL,SAAmBJ,GAAgBmB,GACnC3I,KAAKhC,KAAK,SAAU,CAACgC,KAAK4H,OAAQa,M,4BA1BlC,OAAOzI,KAAK4H,Y,kCCtBO,CAAUxB,KAAgB,CAAEsB,YAD7B,CAAC,WAAY,SAAU,UAAW,SAAU,SAAU,iBAAkB,QAAS,oBAAqB,iBAW1H,IAAMmB,GAAeC,0BAERC,GAAb,a,mOAAA,U,MAAA,yJAGCvJ,MAHD,SAGc+H,GAAM/H,OAHpB,IAG2BwJ,SAAUzB,GAAMY,SAASc,KAAK1B,MAHzD,EAKC2B,kBAAoB,WACnB,EAAKf,SAAL,MAAmBZ,GAAM/H,SAN3B,EAiBC2J,OAAS,gBAAGC,EAAH,EAAGA,SAAH,OACR,YAACP,GAAaE,SAAd,CAAuBtH,MAAO,EAAKjC,OACjC4J,IAnBJ,S,EAAA,G,EAAA,2CAUE7B,GAAM1J,GAAG,SAAUmC,KAAKkJ,qBAV1B,6CAcE3B,GAAM8B,IAAI,SAAUrJ,KAAKkJ,wB,6BAd3B,GAA8BI,aAAjBP,GACLQ,YAAc,gB,IAuBPC,GAAaX,GAAbW,SAEAjC,MC9EA,GACS,kBADT,GAEU,mBAFV,GAGY,qBAHZ,GAIe,wBAJf,GAKU,yBALV,GAMgB,6BANhB,GAOe,qB,upGCAvB,SAASkC,GAAQC,EAAKC,GAC5B,IADqC,EAC/BC,EAAS,GADsB,E,8nBAAA,CAETF,EAAIG,WAFK,IAErC,2BAA2C,qBAA/BrO,EAA+B,KACpCsO,EAAIH,EADgC,KAClBnO,EAAOkO,GAE3BvN,MAAM4I,QAAQ+E,GACjBF,EAAOxL,KAAP,MAAAwL,EAAM,GAASE,IAEfF,EAAOxL,KAAK0L,IARuB,8BAWrC,OAAOF,EAGD,IAAMG,GAAkB,SAACC,EAAQC,GAAT,IAAsBC,EAAtB,uDAAkC,GAAIC,EAAtC,uDAAgD,GAAhD,MAAuD,CACrFH,EAAOC,IAD8E,UAElFR,GAAQlQ,OAAOsQ,QAAQK,IAAY,0BAAEE,EAAF,KAAeC,EAAf,WAAkC,CACvEA,GAAiBL,EAAO,GAAD,OAAKC,EAAL,aAAuBG,IACrB,kBAAlBC,GAA+BL,EAAO,GAAD,OAAKC,EAAL,aAAuBG,EAAvB,YAAwCC,QAClFhC,QAAO,SAACvF,GAAD,QAAiBA,MAL0D,GAK3CqH,EAAQ9B,QAAO,SAACvF,GAAD,QAAiBA,OAAYzG,KAAK,MAErF,SAAeiO,GAAtB,qC,oDAAO,WAA4B/O,EAAOqF,GAAnC,sFACGpF,EAAQ,EADX,YACcA,EAAQD,EAAMO,QAD5B,gCAGC8E,EAASrF,EAAMC,GAAQA,EAAOD,GAH/B,OACoCC,IADpC,2D,sBAiBA,IAAM+O,GAAW,SAACC,EAAMC,GAC9B,IAAIC,EAEJ,SAASC,IAAW,2BAANrM,EAAM,yBAANA,EAAM,gBACnB,IAAMsM,EAAU5K,KAGhB,OAFA6K,aAAaH,GACbA,EAAaI,YAAW,kBAAMN,EAAKzK,MAAM6K,EAAStM,KAAOmM,GAClDG,EAKR,OAFAD,EAAEI,KAAO,kBAAMF,aAAaH,IAErBC,GAGKK,GAAW,SAACR,EAAMS,GAC9B,IAAIC,EACJ,OAAO,WACN,IAAMN,EAAU5K,KAChB,IAAKkL,EAAY,4BAFC5M,EAED,yBAFCA,EAED,gBAChBkM,EAAKzK,MAAM6K,EAAStM,GACpB4M,GAAa,EACbJ,YAAW,WACVI,GAAa,IACXD,MAKC,SAASE,GAAe5P,EAAO6P,EAAMC,GAK3C,IAJA,IAAMC,EAAQD,EAAQD,GAClBG,EAAM,EACNC,EAAMjQ,EAAMO,OAAS,EAElByP,GAAOC,GAAK,CAClB,IAAMC,EAAQhQ,KAAKC,OAAO6P,EAAMC,GAAO,GACjCE,EAAeL,EAAQ9P,EAAMkQ,IACnC,GAAIC,EAAeJ,EAClBC,EAAME,EAAQ,MACR,IAAIC,EAAenQ,EAAMkQ,EAAQ,GACvC,OAAOA,EAEPD,EAAMC,EAAQ,GAIhB,OAAOlQ,EAAMO,OAAS,EAAIP,EAAMO,OAAS,EAGnC,SAAS6P,KAA6C,IAAtCpQ,EAAsC,uDAA9B,GAAI6P,EAA0B,uCAApBQ,EAAoB,uCAATP,EAAS,uCACtD7P,EAAQD,EAAMsQ,UAAUD,GAE9B,OAAIpQ,GAAS,GACZD,EAAMC,GAAS4P,EACR7P,IAGRA,EAAMuQ,OAAOX,GAAe5P,EAAO6P,EAAMC,GAAU,EAAGD,GAC/C7P,GAMR,IAAMwQ,GAA0B,kBAAOhR,EAAS,yBAA2B,IAE9DiR,GAAiB,WAC7BlT,SAASmT,OAAT,kCAA8CF,MAC9CjT,SAASmT,OAAT,kCAA8CF,OAGlCG,GAAa,SAACC,EAAKnK,GAC/BlJ,SAASmT,OAAT,iBAA6BE,EAA7B,qBAA+CJ,MAC/CjT,SAASmT,OAAT,mBAA+BjK,EAA/B,qBAAmD+J,MACnDjT,SAASmT,OAAT,kCAA8CF,OAGlCK,GAAe,SAACC,GAAD,OAAeA,EAAW,GAAH,OAAOpR,EAASqR,OAAO/R,KAAvB,mBAAwC8R,GAAc,MAE5FE,GAAsB,CAAC,sBAAuB,8BAA+B,KAAM,UAAW,KAAM,KAAM,kBAE1GC,GAAmB,SAAC,GAAD,IAAGC,EAAH,EAAGA,EAAH,OAAYF,GAAoBtG,SAASwG,IAE5DC,GAAmB,SAACnM,GAAD,gBAAatF,EAASqR,OAAO/R,MAA7B,OAAsCgG,IAEzDoM,GAAoB,SAACpR,EAAOqR,EAAQC,GAAhB,OAA6BtR,EAAMuR,MAAK,SAACC,EAAGC,GAC5E,OAAID,EAAEH,GAAUI,EAAEJ,KAAYC,GACrB,EAEF,MAmCKI,GAAsB,WAAiB,IAAhBC,EAAgB,uDAAP,GACtC3S,EAAOC,OAAOI,SAASuS,OAC7B,OAAO5T,OAAOC,OAAO0T,EAAQ,CAAE3S,UAEnB6S,GAAmB,SAAC,GAAD,MAAmC,CAAElO,KAArC,EAAGA,KAAwCmO,IAA3C,EAASA,IAAuCnK,MAAhD,EAAcA,MAAyCD,OAAvD,EAAqBA,SAExCqK,QACmB,IAApBxU,SAASyU,OACZ,CACN,aACC,OAAOzU,SAASyU,QAEjB3J,YAAa,SAAC+G,GAAD,OAAO7R,SAASgL,iBAAiB,mBAAoB6G,GAAG,IACrE6C,eAAgB,SAAC7C,GAAD,OAAO7R,SAAS2U,oBAAoB,mBAAoB9C,GAAG,UAI5C,IAAtB7R,SAAS4U,SACZ,CACN,aACC,OAAO5U,SAAS4U,UAEjB9J,YAAa,SAAC+G,GAAD,OAAO7R,SAASgL,iBAAiB,qBAAsB6G,GAAG,IACvE6C,eAAgB,SAAC7C,GAAD,OAAO7R,SAAS2U,oBAAoB,qBAAsB9C,GAAG,UAI1C,IAA1B7R,SAAS6U,aACZ,CACN,aACC,OAAO7U,SAAS6U,cAEjB/J,YAAa,SAAC+G,GAAD,OAAO7R,SAASgL,iBAAiB,yBAA0B6G,GAAG,IAC3E6C,eAAgB,SAAC7C,GAAD,OAAO7R,SAAS2U,oBAAoB,yBAA0B9C,GAAG,KAI5E,CACN4C,QAAQ,EACR3J,YAAa,aACb4J,eAAgB,cAKLI,GAAb,wB,MAAA,sE,EAAA,G,EAAA,6CACuBC,GAAW,IACxBpV,EAAUuH,KAAVvH,MAER,IAAK,IAAM+I,KAAO/I,EACjB,GAAIA,EAAM+I,KAASqM,EAAUrM,GAC5B,OAAO,EAIT,IAAK,IAAMA,KAAOqM,EACjB,KAAMrM,KAAO/I,GACZ,OAAO,EAIT,OAAO,O,6BAhBT,GAAuC6Q,aAoB1BwE,GAAO,SAACC,GAAD,wLAElB5E,OAAS4E,EAFS,YACLH,KAIFI,GAAkB,WAC9B,IAAMhG,EAAY7B,eAAewB,QAAQ,aADL,EAEcJ,GAAM/H,MAAhD0I,eAER,OAAOF,IAJ6B,gBAEO,GAFP,SASxBiG,GAAc,SAACC,GAC3B,UAAeA,IACd,KAAKC,KACJ,OAAOD,EAER,IAAK,SACJ,OAAO,IAAIC,KAAKD,EAAUE,OAE3B,IAAK,SACJ,OAAOC,aAASH,GAEjB,QACC,OAAO,IAAIC,KAAKD,K,qrBC3PZ,IAAMI,GAAU,6CAAG,4HAExBtM,EACGuF,GAAM/H,MADTwC,MAGD/G,EAASsT,YAAYvM,MAAQA,EALJ,SAcf/G,EAASiC,OAAO,CAAE8E,UAdH,uBAQxBQ,EARwB,EAQxBA,MACAgM,EATwB,EASxBA,KACO7H,EAViB,EAUxBrE,MAVwB,IAWxBoE,UAXwB,gBAWW,GAXX,GAWXE,MAAOvI,OAXI,MAWE,KAXF,EAYxBoQ,EAZwB,EAYxBA,UACGvR,EAbqB,iEAgBnBqK,GAAMY,SAAS,CACpBjL,SACAsF,MAAOA,GAASA,EAAMkM,WAAa,CAAEA,YAAY,GAASlM,EAC1DgM,OACA7H,OACA8H,YACA7H,MAAO,CAAEvI,MAAKwI,SAAS,EAAMC,MAAM,GACnCR,SAAU,GACVD,OAAQ,GACRsI,gBAAgB,EAChB5H,SAAS,EACTK,OAAQ,OA3BgB,4CAAH,qDA+BVwH,GAAa,6CAAG,kIACarH,GAAM/H,MAAvC2H,EADoB,EACpBA,UAAWJ,EADS,EACTA,QAAST,EADA,EACAA,UACxBa,GAAcJ,EAFU,sBAGWQ,GAAM/H,MAApC0H,EAHmB,EAGnBA,OAAQ2H,EAHW,EAGXA,kBACVC,EAAmBxI,EAAS+B,QAAO,SAAC0G,GAAD,OAAavC,GAAiBuC,MACjEC,EAAuBF,EAAiBjD,WAAU,SAACT,GAAD,OAAUA,EAAK6D,MAAQJ,KACzEK,EAAiBJ,EAAiBK,MAAMH,EAAuB,IAEvC,IAA1BA,EARuB,wBASpBI,EAAkBN,EAAiBE,GACnCK,EAAeC,IAAK7C,EAAE,CAC3B8C,IAAK,iCACLC,MAAO,wCACL,CACFC,MAAOP,EAAepT,OACtB4T,MAAOC,aAAOtB,aAASe,EAAgBQ,IAAK,kBAEvCC,EAAQ,CAAEjW,GAAIkW,GAAiC1G,SAAUiG,EAAcU,SAAS,EAAMC,QAAS,GAC/FC,EAAY/I,EAAOmB,QAAO,SAAC+C,GAAD,OAAUA,EAAKxR,KAAOkW,MAlB5B,UAmBpBvI,GAAMY,SAAS,CAAEjB,QAAS+I,EAAU7R,KAAKyR,GAAQI,KAnB7B,yBAsBrB1I,GAAMY,SAAS,CAAEf,OAAQ8H,EAAepT,SAtBnB,4CAAH,qDCxCboU,GACH,UADGA,GAEF,WAFEA,GAGC,aAHDA,GAIU,oBAJVA,GAKe,yBALfA,GAML,QAGKC,GAAgB,SAACC,GAAD,OAAgBA,IAAeF,IACxDE,IAAeF,IACfE,IAAeF,I,s9BCJnB,IAmBaG,GAAkB,kBAAMC,UAAUC,cAAgBD,UAAU5N,UAK5D8N,GAAiB,WAAM,MACiEjJ,GAAM/H,MADvE,IAC3BtC,OAD2B,gBACe,GADf,GACjBqJ,SAAY7D,GADK,aACQ,GADR,GACLA,SADK,IACmB3F,OACtD,OAFmC,aAC0D,GAD1D,GAC6B2F,UACvCA,GAMb+N,GAAoB,kBAAMnB,IAAKoB,cAhCXC,EAgCgDH,MAAoBH,KAhCjD,KACjBM,EAAeC,MAAQD,EAAeC,MAAM,QAAU,GADrC,GAC9CC,EAD8C,KAChCC,EADgC,KAE9CD,GAAwC,IAAxBA,EAAa/U,QAGlC+U,EAAeA,EAAaE,eAK3BD,EAHIA,GAAsC,IAAvBA,EAAYhV,OAGjBgV,EAAYE,cAFZ,MAKM,GAAH,OAAOH,EAAP,YAAyBC,GAAiBD,GAVpD,OAHuB,IAACF,EAAmB,EAC9CE,EAAcC,GCHPG,GAAiB,SAACC,GAAD,OAAeA,GAAa,CAAEhP,KAAMgP,EAAUhP,KAAMmK,SAAU6E,EAAU7E,SAAU8E,OAAQD,EAAUC,SAErHC,GAAsB,SAAC3C,GACnC,GAAKA,EAAL,CADiD,IAKzC4C,EAAmC5C,EAAnC4C,KAAMC,EAA6B7C,EAA7B6C,yBACRC,ED4ByB,WAC/B,IAAMC,EAAmB,CACxB,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACtD,KAAM,QAAS,QAAS,QAAS,QAAS,KAAM,KAAM,KACtD,QAAS,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KACtD,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACtD,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,QAAS,KAAM,KAAM,KACzD,KAAM,KAAM,UAAW,KAAM,KAAM,KAAM,KAAM,KAAM,KACrD,KAAM,KAAM,QAAS,SAGlBC,EAAejB,MAAoBH,KAXF,GAYrCoB,EAAeA,EAAaV,eACQH,MAAQa,EAAab,MAAM,QAAU,GACnEW,EAAS,CAACE,EAdqB,WAcO,SAASC,MAAK,SAACC,GAAD,OAASH,EAAiB5T,QAAQ+T,IAAQ,KAEpG,OAAOC,QAAQ,YAAoBL,EAArB,cC5CCM,GACTC,EAAoBR,GAA4BS,cAAe,IAAI5D,MAAO6D,WAAWV,GAA2B,IAAInD,KAAQ,CAAEoD,WACpI,OAAOF,EAAO,IAEbS,EACGxC,IAAK7C,EAAE,oEAAqE,CAAE4E,OAAMS,sBACpFxC,IAAK7C,EAAE,wBAAyB,CAAE4E,Y,2KCjBlBY,G,yLAEnB1K,GAAMY,SAAS,CAAE+J,YAAY,S,kWCC/B,IAAMC,GAAgB,6CAAG,WAAOC,GAAP,+FAChB5S,EAAU+H,GAAV/H,MADgB,EAEQA,EAAxB6S,sBAFgB,MAEC,GAFD,EAGhBC,EAASF,EAATE,KAEHD,EAAeX,MAAK,SAAC3N,GAAD,OAASA,EAAIkL,MAAQqD,KALtB,gCAMjB/K,GAAMY,SAAS,CAAEkK,eAAgB1G,GAAO0G,EAAgBD,GAAe,qBAAGnD,MAAkBmD,EAAcnD,OAAK,qBAAGW,QANjG,2CAAH,sDAUhB2C,GAAe,6CAAG,WAAOxD,GAAP,mFAClBA,GAAYA,EAAQyD,QADF,0CAEf,GAFe,uBAKjBL,GAAiBpD,GALA,iCAMhB,GANgB,2CAAH,sDASf0D,GAAiB,6CAAG,WAAOH,GAAP,yGACjB9S,EAAU+H,GAAV/H,MADiB,EAEqBA,EAAtC6S,sBAFiB,MAEA,GAFA,EAEI7D,EAAiBhP,EAAjBgP,KAAMtH,EAAW1H,EAAX0H,OAE/BkL,EAAgBC,EAAeX,MAAK,SAAC3N,GAAD,OAASA,EAAIkL,MAAQqD,KAJpC,wBAMXnG,EAAQqC,EAAbS,IANgB,kBAQDhU,EAAS8T,QAAQuD,EAAM,CAAEnG,QARxB,cAQvBiG,EARuB,iBASjBD,GAAiBC,GATA,iEAWAM,EAXA,KAWf3U,KAAQ4U,MACV9C,EAAQ,CAAEjW,GAAI0C,IAAe8M,SAAUsJ,EAAQC,OAAO,EAAM3C,QAAS,KAZpD,UAajBzI,GAAMY,SAAS,CAAEjB,QAASA,EAAO9I,KAAKyR,GAAQ3I,KAb7B,iCAiBlBkL,GAjBkB,0DAAH,sDAoBjBQ,GAAsB,6CAAG,WAAO7D,GAAP,qGACtBvP,EAAU+H,GAAV/H,MADsB,EAEJA,EAAlB8G,SAEJ8L,QAJ0B,MAEX,GAFW,GAIDV,MAAK,SAAC3N,GAAD,OAASA,EAAIkL,MAAQF,EAAQuD,QAJjC,gCAMPG,GAAkB1D,EAAQuD,MANnB,OAM7BF,EAN6B,qBAQtBrO,GARsB,EAQIqO,GAA1BrO,IARsB,IAQjB8O,mBARiB,MAQH,GARG,oBASvBtZ,OAAOC,OAAOuV,EAAS,CAAE+D,UAAWV,EAAeS,YAAa,CAAC,CAAEA,cAAaE,KAAMhP,EAAKuO,KAAMvD,EAAQuD,UATlF,2CAAH,sDAYfU,GAAgB,6CAAG,WAAOjE,GAAP,gGACLwD,GAAgBxD,GADX,2DAGvB,MAHuB,WAM3BA,IAAWA,EAAQuD,MAASvD,EAAQ+D,UANT,yCAOvBF,GAAuB7D,IAPA,gCAUxBA,GAVwB,2CAAH,sDAahBkE,GAAoB,eAAC3M,EAAD,uDAAY,GAAZ,OAAmB4M,QAAQC,IAAI7M,EAAS+B,QAAO,SAAC0G,GAAD,QAAeiE,GAAiBjE,Q,sBC/D1GqE,GAAgB,SAAC,GAAD,SAAGC,OAAoBC,QAEhCC,GAASzF,IAAK,gBAC1B0F,EAD0B,EAC1BA,OACAC,EAF0B,EAE1BA,SACAC,EAH0B,EAG1BA,QACAC,EAJ0B,EAI1BA,KACAC,EAL0B,EAK1BA,OACAC,EAN0B,EAM1BA,UACAC,EAP0B,EAO1BA,MACAC,EAR0B,EAQ1BA,MACAC,EAT0B,EAS1BA,QACAC,EAV0B,EAU1BA,MACAC,EAX0B,EAW1BA,KACAC,EAZ0B,EAY1BA,QACArR,EAb0B,EAa1BA,UAb0B,IAc1B7D,aAd0B,MAclB,GAdkB,EAe1BmK,EAf0B,EAe1BA,SACAgL,EAhB0B,EAgB1BA,IAhB0B,OAkB1B,sBACCC,KAAMb,EAAS,SAAW,SAC1BC,SAAUA,EACVU,QAASA,EACTG,UAAWlB,GACXmB,aAAYL,EAAO9K,EAAS,GAAK,KACjCtG,UAAWiH,GAAgBC,KAAQ,SAAU,CAC5CyJ,WACAC,UACAC,OACAC,SACAC,YACAC,QACAC,QACAC,UACAE,OAAQA,EACRE,OACE,CAACtR,IACJ7D,MAAO1F,OAAOC,OAAO,GAAIyF,EAAOmV,GAAO,CACtCI,gBAAiB,OAAF,OAAUJ,EAAV,QAGfH,EAAS,oBAAMnR,UAAWiH,GAAgBC,KAAQ,kBAAmBiK,GAAiB,MACrFG,IAAQF,GAAQ9K,O,sBC1CPqL,GAAc3G,IAAK,gBAAG1E,EAAH,EAAGA,SAAH,OAC/B,mBAAKtG,UAAWiH,GAAgBC,KAAQ,iBACtC0K,uBAAatL,GAAU3P,KAAI,SAACkb,GAAD,OAAWC,uBAAaD,EAAO,CAAE7R,UAAWiH,GAAgBC,KAAQ,+B,i5DCA3F,IAAM6K,GAAb,a,mOAAA,U,MAAA,yJAKCC,cAAgB,YACH,WADgB,EAAVtT,KAEjB,EAAKuT,kBAPR,EAWCC,iBAAmB,WACW,EAAKvc,MAA1Bwc,kBACY,EAAKF,kBAb3B,EAgBCG,gBAAkB,WACY,EAAKzc,MAA1Bwc,kBACY,EAAKF,kBAlB3B,EAqBCA,eAAiB,WAAM,IACdI,EAAc,EAAK1c,MAAnB0c,UACR,EAAKC,SAAWD,GAAaA,KAvB/B,EAwCChM,OAAS,gBAAGC,EAAH,EAAGA,SAAUiM,EAAb,EAAaA,SAAU/U,EAAvB,EAAuBA,KAAS7H,EAAhC,4CACR6H,EACC,mBACCgV,aAAc,EAAKN,iBACnBO,YAAa,EAAKL,gBAClBpS,UAAWiH,GAAgBC,KAAQ,mBAEnC,sBAAKlH,UAAWiH,GAAgBC,KAAQ,QAAS,CAAEqL,cAAiB5c,GAAQ2Q,IAE1E,MAjDN,S,EAAA,G,EAAA,2CA0BqB,WACnBpJ,KAAKoV,SAAU,EACf5a,OAAOsJ,iBAAiB,UAAW9D,KAAK8U,eAAe,GAFpC,IAGX9E,EAAYhQ,KAAKvH,MAAjBuX,QACJwF,OAAOC,SAASzF,IAAYA,EAAU,GACzClF,YAAW,kBAAM,EAAKiK,mBAAkB/E,KA/B3C,6CAoCEhQ,KAAKoV,SAAU,EACf5a,OAAOiT,oBAAoB,UAAWzN,KAAK8U,eAAe,Q,6BArC5D,GAA2BxL,aAAduL,GACLa,aAAe,CACrBT,kBAAkB,GAuFpBJ,GAAMc,QAnCsB,SAAC,GAAD,IAAGvM,EAAH,EAAGA,SAAH,OAC3B,mBAAKtG,UAAWiH,GAAgBC,KAAQ,mBACtCZ,IAkCHyL,GAAMe,QA7B2B,SAAC,GAAD,IAChC7C,EADgC,EAChCA,KADgC,IAEhC8C,yBAFgC,MAEZvG,IAAK7C,EAAE,OAFK,MAGhCqJ,wBAHgC,MAGbxG,IAAK7C,EAAE,MAHM,EAIhCsJ,EAJgC,EAIhCA,UACAC,EALgC,EAKhCA,SACGvd,EAN6B,oFAQhC,YAAC,GAAD,IAAO6H,MAAI,EAAC+U,UAAQ,EAACJ,kBAAkB,GAAWxc,GACjD,YAAC,GAAMkd,QAAP,KAAgB5C,GAChB,YAAC0B,GAAD,KACC,YAAClB,GAAD,CAAQG,SAAO,EAACG,WAAS,EAACM,QAAS6B,GAAWF,GAC9C,YAACvC,GAAD,CAAQK,QAAM,EAACO,QAAS4B,GAAYF,MAkBvChB,GAAMoB,MAZoB,SAAC,GAAD,IAAGlD,EAAH,EAAGA,KAAH,IAASmD,kBAAT,MAAsB5G,IAAK7C,EAAE,MAA7B,EAAoCsJ,EAApC,EAAoCA,UAActd,EAAlD,+CACzB,YAAC,GAAD,IAAO6H,MAAI,EAAC+U,UAAQ,EAACJ,kBAAkB,GAAWxc,GACjD,YAAC,GAAMkd,QAAP,KAAgB5C,GAChB,YAAC0B,GAAD,KACC,YAAClB,GAAD,CAAQM,WAAS,EAACM,QAAS4B,GAAYG,MAW3BrB,U,iNCjGA,kBACM,IAAZpc,EAAY,uDAAJ,GACf,OAAO,IAAIya,SAAQ,SAAC9Y,GACnB,IAAM+b,EAAe,SAACpG,GAAD,OAAa,WACjCxI,GAAMY,SAAS,CAAEiO,MAAO,OACxBhc,EAAQ,CAAE2V,cAGXxI,GAAMY,SAAS,CACdiO,MAAO,YAAC,GAAMR,QAAP,MAAmBnd,EAAnB,CAA0Bsd,UAAWI,GAAa,GAAOH,SAAUG,GAAa,YAT5E,cAcI,IAAZ1d,EAAY,uDAAJ,GACb,OAAO,IAAIya,SAAQ,SAAC9Y,GAMnBmN,GAAMY,SAAS,CACdiO,MAAO,YAAC,GAAMH,MAAP,MAAiBxd,EAAjB,CAAwBsd,UANL,WAC1BxO,GAAMY,SAAS,CAAEiO,MAAO,OACxBhc,EAAQ,CAAE2V,SAAS,c,gUCnBvB,IAAMsG,GAAgB,6CAAG,sHAC+E9O,GAAM/H,MAA/E8W,EADN,EAChBpZ,OAAUoJ,SAAYgQ,kBADN,IAC6B3P,KAAQ3E,EADrC,EACqCA,MAAOuU,EAD5C,EAC4CA,cAAyBtH,EADrE,EAC6DT,KAAQS,IACvF7M,EAAQmU,GAAiBA,EAAcza,OAAS,EAAIya,EAAc,GAAGC,QAAU,GAF7D,wDAQlBzH,EAAUuH,GAAqB,6CARb,kBAUjBG,GAAqB,CAC3B1D,KAAMhE,IACJ2H,MAAK,SAAC9M,GACR,GAA+B,kBAAnBA,EAAOmG,SAA0BnG,EAAOmG,QACnD,OAAO9U,EAAS0b,kBAAkBvU,EAAO,CAAEJ,QAAOmK,IAAK8C,QAdjC,2CAAH,qDAyBT2H,GAAgB,6CAAG,0GACuBrP,GAAM/H,MAApDtC,OAAUqJ,UADa,aACc,GADd,GACDsQ,WADC,iEAOVR,KAPU,QAOzBzM,EAPyB,SAQjBA,EAAOmG,UAdOhB,EAePnF,EAAOmF,QAfY0H,GAAmB,CAC3D1D,KAAMhE,EACNiB,QAAS,OAIsB,iCANJ,IAACjB,IAMG,OAAH,qD,6zECb7B,IAAM+H,GAAW,IAAI7E,GAER8E,GAAS,6CAAG,2JAAiC,GAAjC,EAASC,oBAAT,gCAEjBJ,KAFiB,YAKuDrP,GAAM/H,MAA7EtC,OALgB,gBAKgD,GALhD,GAKNqJ,WALM,aAKyC,GALzC,GAKM0Q,+BALN,0BASwC7Q,KATxC,EASfe,UATe,EASJJ,QATI,EASKmQ,SATL,EASeC,SAAaC,EAT5B,8DAUjB7P,GAAMY,SAASiP,GAVE,yBAalB9I,KAbkB,QAcxB/J,GAAW,WAAY,cACvB8S,YAAM,kBAfkB,4CAAH,qDAmBTC,GAA0B,6CAAG,WAAOvI,GAAP,+FACjC7H,EAAWK,GAAM/H,MAAjB0H,OADiC,kBAGlCK,GAAMY,SAAS,CACpBd,kBAAmB,CAClBkQ,MAAM,EACNC,aAAczI,EAAQtC,EACtBgL,eAAgB1I,EAAQ2I,EAAErL,SAC1BF,IAAK4C,EAAQ5C,IACbwL,KAAM5I,EAAQa,GACdgI,OAAQ7I,EAAQE,IAChB1O,IAAKwO,EAAQtC,IAAMqD,GAAwCf,EAAQ8I,aAAaC,aAAe,IAEhGxQ,YAAa,CACZ8I,WAAYF,GACZyH,KAAM5I,EAAQa,MAfwB,8DAmBxCxL,QAAQuO,MAAR,MACM9C,EAAQ,CAAEjW,GAAI0C,IAAe8M,SAAUkG,IAAK7C,EAAE,4BAA6BkG,OAAO,EAAM3C,QAAS,KApB/D,UAqBlCzI,GAAMY,SAAS,CAAEjB,QAASA,EAAO9I,KAAKyR,GAAQ3I,KArBZ,yDAAH,sDAyBjC6Q,GAAc,6CAAG,WAAOhJ,GAAP,mFACJ,mBAAdA,EAAQtC,EADU,gBAErBsK,GAAUhI,GAFW,0BAGG,YAAdA,EAAQtC,EAHG,gBAIrBqK,GAAS/H,EAAQhL,MAAQ+S,GAAS/H,EAAQhL,OAJrB,2BAKXgL,EAAQiJ,gBALG,kCAMfzQ,GAAMY,SAAS,CAAEb,YAAa,CAAE8I,WAAYF,GAAkByH,KAAM5I,EAAQa,IAAMvI,kBAAmB,OANtF,mCAOX0H,EAAQtC,IAAMqD,IAA0Cf,EAAQtC,IAAMqD,GAP3D,kCAQfwH,GAA2BvI,GARZ,4CAAH,sDAYdkJ,GAAW,6CAAG,WAAOlJ,GAAP,+FACKxH,GAAM/H,MAAtBoH,EADW,EACXA,MAAOD,EADI,EACJA,QAEVC,EAAMC,SAAYF,GAAQoI,EAAQ2I,GAAK3I,EAAQ2I,EAAEzI,MAAQtI,EAAKsI,KAHhD,iEAOb1H,GAAMY,SAAS,CAAEvB,MAAO,SAAKA,GAAP,IAAcE,MAAM,MAP7B,2CAAH,sDAUJoR,GAAQ,6CAAG,oHACf1Y,EAAU+H,GAAV/H,MACSA,EAATgP,KAFe,oDAQvBvT,EAASkd,iBAEDnW,EAA0DxC,EAA1DwC,MAAOQ,EAAmDhD,EAAnDgD,MAAOiM,EAA4CjP,EAA5CiP,UAVC,EAU2CjP,EAAjCgP,KAAarC,EAVvB,EAUkB8C,IAAUmJ,EAV5B,EAU4BA,SACnDnd,EAASod,cAAclM,GAEnBmM,EAAY9V,EAbO,qBAelB4V,EAfkB,kCAgBHnd,EAASuH,MAAM,CAAE2J,QAhBd,eAgBrBmM,EAhBqB,iBAiBf/Q,GAAMY,SAAS,CAAE3F,MAAO8V,EAAW7J,UAAW,OAjB/B,QAkBrBlK,GAAW,WAAY,CAAC,eAAgB0M,GAAeqH,KAlBlC,QAsBnB7J,GACHlK,GAAW,WAAY,CAAC,wBAAyBkK,IAGlDxT,EAASsd,cAAcpM,EAAvB,6CAA4B,WAAO3J,GAAP,gGACrB+E,GAAMY,SAAS,CAAE3F,QAAOiM,UAAW,OADd,OAE3BlK,GAAW,WAAY,CAAC,eAAgB0M,GAAezO,KAF5B,2CAA5B,uDAKAvH,EAAS2K,oBAAoBuG,GAAK,SAACgF,GAAW,IACrC3O,EAAU+E,GAAM/H,MAAhBgD,MACRA,GAAS+E,GAAMY,SAAS,CAAE3F,MAAO,SAAKA,GAAP,IAAc2O,aAC7C5M,GAAW,WAAY,CAAC,sBAAuB0M,GAAezO,QAG/DvH,EAAS4K,sBAAsBsG,EAA/B,6CAAoC,WAAOsC,GAAP,gGAC7BlH,GAAMY,SAAS,CAAEsG,cADY,OAEnClK,GAAW,WAAY,CAAC,wBAAyBkK,IAFd,2CAApC,uDAKAvC,GAAWC,EAAKnK,GA1CO,4CAAH,qDAmDfwW,GAAqC,SAACzJ,GAAY,IAN5B,IAOnBpI,EAASY,GAAM/H,MAAfmH,KACR,OAAIoI,GAAWpI,GAAQoI,EAAQ2I,GAAK3I,EAAQ2I,EAAEzI,MAAQtI,EAAKsI,MARhC,EACqC1H,GAAM/H,MAA9DtC,QADmB,4BAC8B,GAD9B,GACTqJ,UAAgC,GADvB,GACGkS,iBAQ7B,SAAY1J,GAAZ,IAAqB2I,EAAG,CAAEzI,IAAKF,EAAQ2I,EAAEzI,OAGnCF,GAGR9T,EAASyd,UAAS,SAACrM,EAAUsM,GAAa,MACTpR,GAAM/H,MAA9B6G,EADiC,EACjCA,OAAQM,EADyB,EACzBA,KAAMnE,EADmB,EACnBA,MAEtB,KAAImE,GAAQA,EAAK0F,UAAY1F,EAAK0F,WAAaA,GAI3C7J,GAASA,EAAMkM,YAInB,OAAkC,IAA9BrI,EAAOzI,QAAQyO,IAAoBsM,GACtCtS,EAAOjI,KAAKiO,GACL9E,GAAMY,SAAS,CAAE9B,YAGpBsS,OAAL,EACQpR,GAAMY,SAAS,CAAE9B,OAAQA,EAAOgC,QAAO,SAACqP,GAAD,OAAOA,IAAMrL,UAI7DpR,EAAS2d,UAAT,6CAAmB,WAAO7J,GAAP,uFACdA,EAAQa,cAAczB,OACzBY,EAAQa,GAAKb,EAAQa,GAAGiJ,eAFP,SAKF7F,GAAiBjE,GALf,UAKlBA,EALkB,+DAUlBA,EAAUyJ,GAAmCzJ,GAV3B,SAYZxH,GAAMY,SAAS,CACpB7B,SAAUqF,GAAOpE,GAAM/H,MAAM8G,SAAUyI,GAAS,qBAAGE,MAAkBF,EAAQE,OAAK,qBAAGW,QAbpE,wBAgBZmI,GAAehJ,GAhBH,YAkBgB,IAA9BvC,GAAiBuC,GAlBH,uDAsBdA,EAAQ+J,SAtBM,oEA0BZlK,KA1BY,yBA2BZqJ,GAAYlJ,GA3BA,4CAAnB,uDA8BO,IC7LHgK,GACAC,GACAC,GACAC,GD0LSC,GAAsB,SAAC7S,GAAD,OAAcA,GAAYA,EAAS+B,QAAO,SAACtE,GAAD,OAASA,EAAIqV,YAC7EC,GAAuB,SAAC/S,GAAD,OAAcA,GAAYA,EAAS+B,QAAO,SAACtE,GAAD,OAASA,EAAI0I,IAAMqD,IAA0C/L,EAAI0I,IAAMqD,MAAuCwJ,OAE/KC,GAAY,6CAAG,0HACnBjS,EAAgBC,GAAM/H,MAAtB8H,YADmB,EAG+CC,GAAM/H,MAA9Dga,EAHS,EAGnBlT,SAHmB,IAGOkI,KAAarC,GAHpB,aAGwC,GAHxC,GAGe8C,IAAUmB,EAHzB,EAGyBA,WAC9CqJ,EAAmBN,GAAoBK,GACxCrN,EALsB,iEASrB5E,GAAMY,SAAS,CAAE6L,SAAS,IATL,wBAUA/Y,EAASse,aAAapN,GAVtB,eAUrBuN,EAVqB,OAU4BzV,OAAOwV,GAVnC,UAWHxG,GAAkByG,GAXf,eAWrBpT,EAXqB,OAW6B7M,IAAI+e,IAXjC,UAarBN,KAbqB,yBAcrB3Q,GAAMY,SAAS,CAAE7B,UAAWA,GAAY,IAAIqT,UAAWhL,gBAAgB,EAAOqF,SAAS,IAdlE,YAgBvB1N,IAAYA,EAASxK,OAhBE,wBAiBpB8d,EAActT,EAASA,EAASxK,OAAS,GAjBrB,UAkBpByL,GAAMY,SAAS,CAAE0G,kBAAmB+K,GAAeA,EAAY3K,MAlB3C,YAqBvB3H,IAAe6I,GAAc7I,EAAY8I,YArBlB,sDAyBrByJ,EAAoBR,GAAqB/S,GAzBpB,sDA6BvBuT,EAAkBpN,IAAMqD,GA7BD,kCA8BpBvI,GAAMY,SAAS,CACpBb,YAAa,CACZ8I,WAAYF,GACZyH,KAAMkC,EAAkBjK,IAEzBvI,kBAAmB,CAClBkQ,MAAM,EACNC,aACAqC,EAAkBpN,EAClBlM,IAAKsZ,EAAkBhC,aAAaC,gBAvCZ,+CA4CnB1H,EA5CmB,cA6CrBF,GA7CqB,UA0DrBA,GA1DqB,qCA8CnB3I,GAAMY,SAAS,CACpBb,YAAa,CACZ8I,WAAYF,GACZyH,KAAMkC,EAAkBjK,IAEzBvI,kBAAmB,CAClBkQ,MAAM,EACNC,aAAcqC,EAAkBpN,KArDT,4CA2DzB6K,GAA2BuC,GA3DF,4CAAH,qDAgEZC,GAAgB,6CAAG,wHAC4CvS,GAAM/H,MADlD,IACvBgP,KAAarC,GADU,aACF,GADE,GACf8C,IADe,IACE3I,gBADF,MACa,GADb,MACiBqI,sBADjB,SAG1BxC,IAAOwC,EAHmB,iEAOzBpH,GAAMY,SAAS,CAAE6L,SAAS,IAPD,uBASL/Y,EAASse,aAAapN,EAAK,CAAElB,MAAO3E,EAASxK,OAAS,KATjD,cASzB4d,EATyB,iBAUHzG,GAAkByG,GAVf,eAUzBK,EAVyB,OAU6BtgB,IAAI+e,IAVjC,UAYzBjR,GAAMY,SAAS,CACpB7B,UAAWyT,GAAgB,IAAIJ,UAC/BhL,eAAgBrI,EAASxK,OAAS,GAAKie,EAAaje,OACpDkY,SAAS,IAfqB,4CAAH,qDAmBhBgG,GAAoB,WAChC,IAAM7b,EAAS,GADuB,EAGDoJ,GAAM/H,MAAnCya,aAAczX,OAHgB,MAGR,GAHQ,EAQtC,OAJIA,GAASA,EAAMyM,KAClB1V,OAAOC,OAAO2E,EAAQ,CAAE+b,QAAS1X,EAAMyM,MAGjC9Q,G,gUAGRoJ,GAAM1J,GAAG,UAAU,YAAwB,cAAtB2B,EAAsB,WAG3BgP,MAAQhP,EAAMgP,MAC5B6I,YAAM,QC9RR,IAAI8C,IAAY,EACRC,GAA0DtK,GAA7BuK,GAA6BvK,GAC5DtC,GAAiB,SAAC8M,GAAD,OAAOA,EAAEvP,QAuFjBwP,GArFI,CACZ1X,KADY,WACL,+IACRsX,GADQ,wDAKZA,IAAY,EACZpB,GAAO,EANK,SAON,EAAKyB,UAPC,8CAUPA,QAXY,WAWF,2JAEd,EAAKC,iBAFS,SAGRnM,KAHQ,uBAIRrT,EAASuf,UAJD,OAKd,EAAKE,eACL,EAAKC,cANS,kDAQdvW,QAAQuO,MAAM,qBAAd,MARc,6DAYhBiI,UAvBkB,WAuBN,WACP5B,KAGJA,GAAQlO,WAAU,4BAAC,6GAEjBD,aAAamO,IACbA,IAAQ,EAHS,SAIX,EAAKwB,UAJM,uBAKXjB,KALW,uDAOjBnV,QAAQuO,MAAM,sBAAd,MACA,EAAKiI,YARY,yDAUhB,OAGED,YAxCY,WAwCE,6IACXzT,EAAWK,GAAM/H,MAAjB0H,OADW,SAEbK,GAAMY,SAAS,CAAEjB,OAAQA,EAAOmB,QAAO,SAACwH,GAAD,OAAY,CAACuK,GAA6BC,IAA0BpU,SAAS4J,EAAMjW,SAF7G,8CAKdihB,aA7CY,WA6Ca,+JAAZhL,EAAY,+BAAJ,GAClB3I,EAAWK,GAAM/H,MAAjB0H,OADsB,SAExBK,GAAMY,SAAS,CAAEjB,QAASA,EAAO9I,KAAKyR,GAAQ3I,KAFtB,8CAKzB4T,gBAlDY,WAkDM,gJACjB/B,GAAK4B,cADY,uBAEjB5B,GAAK8B,aAAa,CAAEjhB,GAAIygB,GAA0BjR,SAAUkG,IAAK7C,EAAE,uBAAwBsD,SAAS,IAFnF,uBAGjBwJ,KAHiB,8CAMlBwB,mBAxDY,WAwDS,gJACpBhC,GAAK4B,cADe,uBAEpB5B,GAAK8B,aAAa,CAAEjhB,GAAIwgB,GAA6BhR,SAAUkG,IAAK7C,EAAE,8BAA+BkG,OAAO,EAAM3C,QAAS,IAFvG,OAG1B+I,GAAK6B,YAHqB,8CAM3BF,aA9DkB,WA+DZzB,KACJA,GAAoBhe,EAAS+f,aAAa,YAAahb,KAAK8a,kBAGxD5B,KACJA,GAAuBje,EAAS+f,aAAa,QAAShb,KAAK+a,sBAI7DN,eAxEkB,WAyEbxB,KACHA,GAAkBvC,KAAKlJ,IACvByL,IAAoB,GAGjBC,KACHA,GAAqBxC,KAAKlJ,IAC1B0L,IAAuB,K,snCCxBX+B,GADE,I,WAlEhB,aAQC,O,4FARa,SACRC,EAAaD,WACjBjb,KAAKmb,YAAa,EAClBnb,KAAKob,UAAW,EAChBpb,KAAKqb,OAAS,GACdH,EAAaD,SAAWjb,MAGlBkb,EAAaD,S,sDAIpB,IAAIjb,KAAKmb,WAAT,CAIAnb,KAAKmb,YAAa,EALZ,IAMEnZ,EAAUuF,GAAM/H,MAAhBwC,MACR/G,EAASsT,YAAYvM,MAAQA,EAE7BuF,GAAM1J,GAAG,SAAUmC,KAAKkJ,sB,8BAIxBlJ,KAAKmb,YAAa,EAClBnb,KAAKob,UAAW,EAChBpb,KAAKqb,OAAS,GACd9T,GAAM8B,IAAI,SAAUrJ,KAAKkJ,qB,2CAGC,IAClBvC,EADkB,WAClBA,KACauU,EAAaD,SAA1BG,UAMHzU,IAILuU,EAAaD,SAASG,UAAW,EACjCF,EAAaD,SAASK,yB,4CAGD,WACrB/hB,OAAOY,KAAK6F,KAAKqb,QAAQxb,SAAQ,SAAC2B,GAAQ,MACZ,EAAK6Z,OAAO7Z,GAAjCC,EADiC,EACjCA,MAAOC,EAD0B,EAC1BA,UACf,EAAKH,eAAeC,EAAKC,EAAOC,MAGjC1B,KAAKqb,OAAS,K,qCAGA7Z,EAAKC,GAAyB,IAAlBC,IAAkB,yDAC5C,GAAK1B,KAAKob,SAAV,CAD4C,IAMpCpZ,EAAU/G,EAASsT,YAAnBvM,MACR/G,EAASsgB,gBAAgB,CAAEvZ,QAAOR,MAAKC,QAAOC,mBAL7C1B,KAAKqb,OAAO7Z,GAAO,CAAEC,QAAOC,kB,s7DCnD/B,IACI8Z,GAkLWP,GADE,I,WAtIhB,aASC,O,4FATa,SACRQ,EAASR,WACbjb,KAAKob,UAAW,EAChBpb,KAAK0b,UAAY,GACjB1b,KAAK2b,UAAY,GACjB3b,KAAK4b,UAAW,EAChBH,EAASR,SAAWjb,MAGdyb,EAASR,S,wDAGV,WACN,IAAIjb,KAAKob,SAAT,CADM,MAKsD7T,GAAM/H,MAA1DwC,EALF,EAKEA,MALF,IAKS6Z,qBALT,MAKyB,GALzB,EAKuCrV,EALvC,EAK6BtJ,OAAUsJ,SAC7CvL,EAASsT,YAAYvM,MAAQA,EAEvBwE,GAAYA,EAAS1K,OAAS,IAIpCkE,KAAKob,UAAW,EAChBpb,KAAK2b,UAAL,GAAqBnV,GAErBqV,EAAchc,SAAQ,SAACic,GACtB,EAAKH,UAAU9b,SAAQ,SAACuZ,GACnBA,EAAQnK,MAAQ6M,IACnB1C,EAAQ2C,MAAO,SAKlB/b,KAAKgc,sB,4DAGK5C,G,qGACkC7R,GAAM/H,MAA1CwC,E,EAAAA,MAAO2E,E,EAAAA,K,IAAMkV,qB,MAAgB,G,EAChC7b,KAAK4b,WAAYjV,E,wDAGdsV,EAAY7C,EAAZ6C,Q,SAEF3R,GAAa2R,GAAS,SAAC/d,GAvFd,IAACge,EAwFK,iBAAhBhe,EAAOgE,OACVkX,EAAQ2C,MAAO,GAzFDG,EA2FLhe,EA1FRsd,KAIJA,GAAe,IAAItI,QAAJ,6CAAY,WAAO9Y,EAAS+hB,GAAhB,iGAGJ,WAFdhe,EAAW+d,EAAX/d,QAEGie,OAHe,oBAIjB5c,EAAU+H,GAAV/H,MACAya,EAAoDza,EAApDya,aAAiCnY,EAAmBtC,EAAtCzC,OAAUuF,MAASR,aACrCmY,GAAgBA,EAAarK,IAAMzB,KAAKkO,MAAQpC,EAAarK,GAb3C,MAOG,yCAOjBxV,EAAQ6f,IAPS,gCAYVhf,EAASqhB,UAAUxa,GAZT,OAYxBU,EAZwB,kFAcjB2Z,EAAO,EAAD,KAdW,QAiBzB5U,GAAMY,SAAS,CAAE8R,aAAc,SAAKzX,GAAP,IAAcoN,GAAIzB,KAAKkO,UACpDjiB,EAAQoI,GAlBiB,wBAmBG,WAAlBrE,EAAOie,OACjBhiB,EAAQ,CACPiS,SAAUlO,EAAO+D,OAGlBia,EAAO,kBAxBkB,0DAAZ,yDA6BfrR,YAAW,WACV0Q,GAAe,OArCQ,MAwCjBA,KAqDa9E,KAAjB,6CAAsB,WAAOlU,GAAP,+FACfoN,EAAK,IAAIzB,KAETY,EAAU,CACfhL,IAAK7F,EAAOC,OAAO4F,IACnB/B,QACA0V,EAAGlV,EACHoN,GAAIA,EAAGiJ,cACP5J,IAAK3S,IACL8c,SAAS,GATW,SAYf7R,GAAMY,SAAS,CACpBC,WAAW,EACX9B,SAAUqF,GAAOpE,GAAM/H,MAAM8G,SAAUyI,GAAS,qBAAGE,MAAkBF,EAAQE,OAAK,qBAAGW,QAdjE,uBAgBfhB,KAhBe,WAkBjBpM,IAASA,EAAMyM,IAlBE,iCAmBd1H,GAAMY,SAAS,CAAE3F,UAnBH,OAoBpB+B,GAAW,WAAY,CAAC,eAAgB0M,GAAezO,KApBnC,QAuBrB6U,YAAM,qBACN9P,GAAMY,SAAS,CAAEhB,WAAW,IAxBP,4CAAtB,2D,OA6BEiS,EAAQmD,UACXnD,EAAQ2C,MAAO,EACfF,EAAczd,KAAKgb,EAAQnK,KAC3B1H,GAAMY,SAAS,CAAE0T,mB,mIAIJW,GACdxc,KAAK0b,UAAUtd,KAAKoe,GACfxc,KAAKob,UAIVpb,KAAKgc,oB,wCAGY,WACjBhc,KAAK2b,UAAU9b,SAAQ,SAACuZ,GACvB,IAAIA,EAAQ2C,KAAZ,CAIA,IAAMhD,EAAO,EACbK,EAAQqD,WAAW5c,SAAQ,SAAC6c,GAC3B,OAAQA,EAAUxa,MACjB,IAAK,WACJ,EAAKwZ,UAAU7b,SAAQ,SAAC2c,GACvB,IAAMG,EAAa,IAAIC,OAAOF,EAAUjb,MAAO,KAC3C+a,EAAQ5hB,SAASgI,KAAK5H,MAAM2hB,IAC/B5D,EAAK8D,KAAKzD,MAGZ,EAAKsC,UAAY,GACjB,MACD,IAAK,eACAtC,EAAQpJ,SACXnF,aAAauO,EAAQpJ,SAEtBoJ,EAAQpJ,QAAUlF,YAAW,WAC5B,EAAK+R,KAAKzD,KACwB,IAAhC0D,SAASJ,EAAUjb,MAAO,e,6BAOrBsb,GACZ/c,KAAK2b,UAAL,GAAqBoB,K,4BAGVtb,GACXzB,KAAK4b,SAAWna,O,myDC/KlB,IAAMub,GAAmB,6CAAG,WAAO1a,GAAP,2FACnBN,EAAUM,EAAVN,MADmB,KAE3BA,GAF2B,qCAEZuF,GAAMY,SAAS,CAAEnG,UAFL,eAG3BA,GAH2B,qCAGZsM,KAHY,wBAIRrT,EAASgiB,aAAa,CAAEC,QAAS,MAAK5a,KAJ9B,QAIrBqE,EAJqB,OAK3BY,GAAMY,SAAS,CAAExB,SALU,4CAAH,sDAQnBwW,GAAwB,SAACpf,GAAS,MACiBwJ,GAAM/H,MAAtDzC,EAD+B,EAC/BA,OAAkBuF,EADa,EACvBvF,OAAUuF,MAAe2M,EADF,EACJtI,KAAW3E,EADP,EACOA,MAG9C,GAFAuF,GAAMY,SAAS,CAAEpL,OAAQ,SAAKA,GAAP,IAAeuF,MAAO,SAAKA,GAAUvE,OAEvDkR,EAAL,CAIA,IAAMmO,EAAY,IAAEpb,SAAUjE,GAC9Bif,GAAoBI,KAGfzd,GAAM,CACXuB,YADW,SACCmc,GACS,QAAhBA,EAAKlc,QACRsa,GAAS6B,eAAeD,GAFR,MAK0B9V,GAAM/H,MAAzCwC,EALS,EAKTA,MALS,IAKFwM,KAAarC,GALX,aAKmB,GALnB,GAKM8C,IACf9N,EAAsCkc,EAAtClc,OAAQG,EAA8B+b,EAA9B/b,MAAmBsB,EAAWya,EAAvBziB,SAAYgI,KAEnC3H,EAASsiB,sBAAsB,CAAEvb,QAAOmK,MAAKqR,SAAU,CAAErc,SAAQG,QAAO1G,SAAU,CAAEgI,YAGrFrB,eAZW,SAYIC,EAAKC,GAAyB,IAAlBC,IAAkB,yDAC5CwZ,GAAa3Z,eAAeC,EAAKC,EAAOC,IAGzCC,SAhBW,WAgByD,6DAAJ,GAArD8b,EAAyD,EAAzDA,MAAOC,EAAkD,EAAlDA,UAAWC,EAAuC,EAAvCA,UAAWrc,EAA4B,EAA5BA,MAAOsc,EAAqB,EAArBA,aAAqB,EAC7BrW,GAAM/H,MAApCzC,EAD2D,EAC3DA,OAAkB6E,EADyC,EACnD7E,OAAU6E,MAC1B2F,GAAMY,SAAS,CACdpL,OAAQ,SACJA,GADE,IAEL6E,MAAO,SACHA,GADC,IAEJ6b,QACAC,YACAC,YACArc,QACAsc,sBAMJ/b,cAjCW,SAiCGJ,GAAO,MACqB8F,GAAM/H,MAAvCtC,OAAUuJ,YAEZoX,QAHc,MACY,GADZ,GAGKnM,MAAK,SAACoM,GAAD,OAASA,EAAI7O,MAAQxN,GAASqc,EAAI5b,OAAST,KACnEK,EAAc+b,GAAQA,EAAK5O,KAAQ,GAEzCkO,GAAsB,CAAErb,gBAGzBkD,gBA1CW,WA2CVmY,GAAsB,CAAErb,WAAY,MAGrCS,SA9CW,WA8CgC,6DAAJ,GAA5B0M,EAAgC,EAAhCA,IAAK5C,EAA2B,EAA3BA,SAAa5T,EAAc,yBAC1C,IAAKwW,IAAQ5C,EACZ,OAAOjI,QAAQC,KAAK,8CAGrBkD,GAAMY,SAAS,CACd8R,aAAc,IACbhL,MACA5C,WACAuD,GAAIzB,KAAKkO,OACN5jB,MAKNslB,YA7DW,SA6DC5G,GACX5P,GAAMY,SAAS,CAAEgP,cAGZpV,cAjEK,SAiESC,GAAO,iJAC+BuF,GAAM/H,MAAhDwe,EADW,EAClBhc,MAAmBjF,EADD,EACCA,OAAkBuF,EADnB,EACSvF,OAAUuF,MACzCN,IAAUgc,EAFY,wDAK1BzW,GAAMY,SAAS,CAAEnG,QAAOjF,OAAQ,SAAKA,GAAP,IAAeuF,MAAO,SAAKA,GAAP,IAAcN,cALtC,SAMpBsM,KANoB,8CAS3BrM,aA1EW,SA0EEC,GACZib,GAAsB,CAAEjb,UAGzBC,cA9EW,SA8EGC,GACb+a,GAAsB,CAAE/a,WAGzBC,cAlFW,WAkFc,IAAXtE,EAAW,uDAAJ,GACA,WAAhB,GAAOA,KAINA,EAAKiE,QACTjE,EAAKiE,MAAQ1F,KAGVyB,EAAK+D,YACRnC,GAAIkC,cAAc9D,EAAK+D,YAGxBkb,GAAoBjf,KAGf0E,YAlGK,SAkGOC,GAAU,6IACnB3F,EAAWwK,GAAM/H,MAAjBzC,OADmB,SAErBwK,GAAMY,SAAS,CAAEpL,OAAQ,SAAKA,GAAP,IAAe2F,eAFjB,OAG3B+N,KAH2B,8CAM5B5P,WAxGW,WAwGE,IACJ9D,EAAWwK,GAAM/H,MAAjBzC,OACRwK,GAAMY,SAAS,CAAEpL,OAAQ,SAAKA,GAAP,IAAegK,SAAS,MAC/CxC,GAAW,eAGZxD,WA9GW,WA8GE,IACJhE,EAAWwK,GAAM/H,MAAjBzC,OACRwK,GAAMY,SAAS,CAAEpL,OAAQ,SAAKA,GAAP,IAAegK,SAAS,MAC/CxC,GAAW,eAGZW,eApHW,WAqHVqC,GAAMY,SAAS,CAAEhB,WAAW,IAC5B5C,GAAW,gBAGZU,eAzHW,WA0HVsC,GAAMY,SAAS,CAAEhB,WAAW,IAC5B5C,GAAW,gBAIP0Z,GAAe,SAACC,GACrB,GAAIA,EAAMjlB,SAAWilB,EAAM7K,QAID,WAAtB,GAAO6K,EAAMngB,YAAwCiG,IAAnBka,EAAMngB,KAAKM,KAAwC,eAAnB6f,EAAMngB,KAAKM,UACrD2F,IAAvBrE,GAAIue,EAAMngB,KAAKJ,KAAmD,mBAAvBgC,GAAIue,EAAMngB,KAAKJ,IAAoB,CACjF,IAAMW,EAAO,GAAG2F,OAAOia,EAAMngB,KAAKO,MAAQ,IAC1CqB,GAAIue,EAAMngB,KAAKJ,IAAIoC,MAAM,KAAMzB,KA+BnB2c,GADE,I,WAxBhB,aAMC,O,4FANa,SACRkD,EAAMlD,WACVjb,KAAKob,UAAW,EAChB+C,EAAMlD,SAAWjb,MAGXme,EAAMlD,S,sDAITjb,KAAKob,WAITpb,KAAKob,UAAW,EAChB5gB,OAAOsJ,iBAAiB,UAAWma,IAAc,M,8BAIjDje,KAAKob,UAAW,EAChB5gB,OAAOiT,oBAAoB,UAAWwQ,IAAc,Q,8yCC3LtD,IACIjF,GAGAD,GACAqF,GALEC,GAAoB,CAAC,YAAa,YAAa,WAAY,WAE7DlE,IAAY,EA6EDmE,GAxEO,CAErBzb,KAFqB,WAGhBsX,KAIJA,IAAY,EACZpB,GAAO/Y,KACPuH,GAAM1J,GAAG,SAAUmC,KAAKkJ,qBAGzBqV,MAZqB,WAapBpE,IAAY,EACZna,KAAKwe,aACLjX,GAAM8B,IAAI,SAAUrJ,KAAKkJ,oBAG1BuV,UAlBqB,WAmBpBzF,IAASnO,aAAamO,KAGvB0F,WAtBqB,WAuBpB1e,KAAKye,YACLzF,GAAQlO,WAAW9K,KAAK2e,QA5BT,MA+BhBzV,kBA3BqB,YA2BM,IAAR1J,EAAQ,WAC1B,GAAK2a,GAAL,CAD0B,IAKlB3L,EAAehP,EAAfgP,KAAM7H,EAASnH,EAATmH,KACd6H,GAAQ7H,EAAOoS,GAAK6F,cAAgB7F,GAAKyF,eAG1CI,YApCqB,WAoCP,WACbP,GAAkBxe,SAAQ,SAACqe,GAC1BplB,SAASgL,iBAAiBoa,EAAO,EAAKW,cAGvCrkB,OAAOsJ,iBAAiB,QAAS9D,KAAK6e,YAGvCL,WA5CqB,WA4CR,WACZH,GAAkBxe,SAAQ,SAACqe,GAC1BplB,SAAS2U,oBAAoByQ,EAAO,EAAKW,cAG1CrkB,OAAOiT,oBAAoB,QAASzN,KAAK6e,WACzC7e,KAAKye,aAGAI,UArDe,WAqDH,mIACjB9F,GAAK2F,aACa,WAAdN,GAFa,wDAKjBA,GAAY,SALK,SAMXnjB,EAAS6jB,oBAAoB,UANlB,8CASZH,QA9De,WA8DL,mIACf5F,GAAK0F,YACa,SAAdL,GAFW,wDAKfA,GAAY,OALG,SAMTnjB,EAAS6jB,oBAAoB,QANpB,+C,6tBC/DV,IAAMC,GAAa,WAAM,MACyBxX,GAAM/H,MAAtDwC,EADuB,EACvBA,MAAOwM,EADgB,EAChBA,KAAMnH,EADU,EACVA,kBAAmBC,EADT,EACSA,YAClC/G,EAAM,GAAH,OAAOtF,EAASqR,OAAO/R,KAAvB,iBAAsCiU,EAAKS,IAA3C,kBAA0DjN,EAA1D,oBAeT,OAdAxH,OAAOwkB,kBAAoB,kBAAMzX,GAAMY,SAAS,CAAEd,kBAAmB,SAAKA,GAAP,IAA0BkQ,MAAM,OACnG/c,OAAOykB,WAAa,WAKnB,OAJAzkB,OAAO8F,KAAP,UACKrF,EAASqR,OAAO/R,KADrB,iBACoCiU,EAAKS,IADzC,kBACwDjN,GACvDwM,EAAKS,KAEC1H,GAAMY,SAAS,CACrBd,kBAAmB,SAAKA,GAAP,IAA0BkQ,MAAM,IACjDjQ,YAAa,SACTA,GADO,IAEV8I,WAAYF,QAKd,mBAAKpN,UAAWiH,GAAgBC,KAAQ,gBACvC,sBAAQlH,UAAWiH,GAAgBC,KAAQ,wBAAyBkV,MAAM,oBAAoB7gB,IAAKkC,M,i4CCtB/F,IAAM4e,GAAb,a,mOAAA,U,MAAA,yJASC3f,MAAQ,CACP4f,SAAS,GAVX,EAaCC,YAAc,WACb,EAAKlX,SAAS,CAAEiX,SAAS,KAd3B,EAiBCjW,OAAS,kBAAG4K,EAAH,EAAGA,MAAOuL,EAAV,EAAUA,MAAOjhB,EAAjB,EAAiBA,IAAKkhB,EAAtB,EAAsBA,YAAapO,EAAnC,EAAmCA,OAAQrO,EAA3C,EAA2CA,UAAW7D,EAAtD,EAAsDA,MAAWmgB,EAAjE,EAAiEA,QAAjE,OACR,mBACC7K,aAAW,eACXzR,UAAWiH,GAAgBC,KAAQ,SAAU,CAAE+J,QAAOuL,QAAOE,KAAMnhB,IAAQ+gB,GAAW,CAACtc,IACvF7D,MAAOA,GAELZ,IAAQ+gB,GACT,mBACC/gB,IAAKA,EACLohB,IAAKF,EACLzc,UAAWiH,GAAgBC,KAAQ,iBACnC0V,QAAS,EAAKL,cAIflO,GACA,oBAAMrO,UAAWiH,GAAgBC,KAAQ,iBAAkB,CAAE+J,QAAOuL,QAAOnO,eAjC/E,S,EAAA,E,EAAA,gDACiC1Y,GAC/B,OAAIA,EAAM4F,IACF,CAAE+gB,SAAS,GAGZ,S,EANT,O,6BAAA,GAA4B9V,a,2wCCUrB,IAAMqW,GAAmB,SAAC,GAQ3B,IAPLnI,EAOK,EAPLA,aACAC,EAMK,EANLA,eACAlX,EAKK,EALLA,IACAyI,EAIK,EAJLA,SACA2O,EAGK,EAHLA,KACAxL,EAEK,EAFLA,IACAyL,EACK,EADLA,OACK,KACmBgI,cAAS,GAD5B,GACErI,EADF,KACQsI,EADR,KAGCC,EAAY,6CAAG,4GACZ9d,EAAUuF,GAAM/H,MAAhBwC,MACFzB,EAFc,UAEJtF,EAASqR,OAAO/R,KAFZ,iBAE2B4R,EAF3B,kBAE0CnK,GAF1C,SAGdgH,EAAS,CACd1B,YAAa,CACZ8I,WAAYF,GACZyH,KAAM,CAAEA,SAETtQ,kBAAmB,CAClBkQ,MAAM,EACNC,kBAVkB,OAapBhd,OAAO8F,KAAKC,EAAK4L,GAbG,2CAAH,qDAgBZ4T,EAAW,6CAAG,6FACnBF,GAAQ,GADW,KAEXrI,EAFW,cAGb1H,GAHa,SAcbA,GAda,yBAIjBtV,OAAO8F,KAAKC,EAAK4L,GAJA,SAKXnD,EAAS,CACd3B,kBAAmB,CAAEkQ,MAAM,EAAOhX,MAAKiX,gBACvClQ,YAAa,CACZ8I,WAAYF,GACZyH,KAAM,CAAEA,WATO,2DAeX1c,EAAS+kB,iBAAiB9P,GAAwB/D,EAAKyL,GAf5C,apB2Mepd,OAAOylB,YAAc,KAAOzlB,OAAO0lB,aAAe,KoB3MjE,wBAiBhBJ,IAjBgB,8CAoBX9W,EAAS,CAAE1B,YAAa,CAAE8I,WAAYF,GAAiCyH,KAAM,CAAEA,WApBpE,gFAAH,qDA0BXwI,EAAY,6CAAG,6GACdllB,EAAS+kB,iBAAiB9P,GAAqB/D,EAAKyL,GADtC,uBAEd3c,EAASmlB,mBAAmBjU,GAFd,uBAGdnD,EAAS,CACd3B,kBAAmB,KACnBC,YAAa,CACZ8I,WAAYF,GACZyH,KAAM,CAAEA,WAPU,2CAAH,qDAYlB,OACC,mBAAK7U,UAAWiH,GAAgBC,KAAQ,sBAEtCuN,GACC,mBAAKzU,UAAciH,GAAgBC,KAAQ,+BAC1C,mBAAKlH,UAAciH,GAAgBC,KAAQ,sCAC1C,YAAC,GAAD,CAAQ3L,IAAQ+N,GAAaqL,GAAkB6H,OAAK,KAErD,mBAAKxc,UAAciH,GAAgBC,KAAQ,uCACxCsF,IAAK7C,EAAE,wBAEV,mBAAK3J,UAAciH,GAAgBC,KAAQ,uCAC1C,YAACuJ,GAAD,CACCY,QAAYgM,EACZrd,UAAciH,GAAgBC,KAAQ,+CACtC,YAAC,KAAD,CAAc5K,MAAU,GAAKD,OAAW,KACxC,oBAAMF,MAAM,mBAAZ,IAAgCqQ,IAAK7C,EAAE,WAAvC,MAED,YAAC8G,GAAD,CAAQY,QAAY4L,EACnBjd,UAAaiH,GAAgBC,KAAQ,8CACrC,YAAC,KAAD,CAAa5K,MAAU,GAAKD,OAAW,KACvC,oBAAMF,MAAM,mBAAZ,IAAgCqQ,IAAK7C,EAAE,UAAvC,U,6EChGK4T,GAAiBvS,IAAK,gBAAGiF,EAAH,EAAGA,KAAMoB,EAAT,EAASA,QAASrR,EAAlB,EAAkBA,UAAlB,IAA6B7D,aAA7B,MAAqC,GAArC,EAAyCmK,EAAzC,EAAyCA,SAAzC,OAClC,sBACCiL,KAAK,SACLE,aAAYxB,EACZoB,QAASA,EACTrR,UAAWiH,GAAgBC,KAAQ,mBAAoB,GAAI,CAAClH,IAC5D7D,MAAOA,GAENmK,M,sBCRUkX,GAAkBxS,IAAK,gBAAGhL,EAAH,EAAGA,UAAH,IAAc7D,aAAd,MAAsB,GAAtB,EAA0BmK,EAA1B,EAA0BA,SAA1B,OACnC,mBACCtG,UAAWiH,GAAgBC,KAAQ,oBAAqB,GAAI,CAAClH,IAC7D7D,MAAOA,GAENmK,M,4uDCHH,IAAMmX,GAAY,CACjB,IAAK,QACL,IAAK,OACL,IAAK,OACL,IAAK,SACLC,IAAM,SACN,IAAK,UAGAC,GAAc,IAAI7D,OAAJ,aAAkBrjB,OAAOY,KAAKomB,IAAWlkB,KAAK,KAA9C,KAAwD,KAEtEqkB,GAAaC,MAClB,SAACC,GAAD,OAAYA,EAAOC,QAAQJ,IAAa,SAACzlB,GAAD,OAAWulB,GAAUvlB,SAGxDL,GAAQ,SAACmmB,GAAD,MACb,CAAC,CAAEC,MAAOD,IACRrnB,KAAI,gBAAGsnB,EAAH,EAAGA,MAAOC,EAAV,EAAUA,KAAV,OAAsBD,EAAQL,GAAWK,GAASC,GAAQ,MAC9D3kB,KAAK,KAgBF4kB,GAAe,SAACC,GAErB,IAAM7N,EAhBkB,SAAnB8N,EAAoBC,GACzB,GAAIA,EAAKC,WAAaC,KAAKC,UAC1B,OAAOH,EAGR,IADA,IAAMhY,EAAWgY,EAAKI,WACbC,EAAIrY,EAAStN,OAAS,EAAG2lB,GAAK,EAAGA,IAAK,CAC9C,IAAMC,EAAWP,EAAiB/X,EAASqY,IAC3C,GAAiB,OAAbC,EACH,OAAOA,EAGT,OAAO,KAKQP,CAAiBD,GAE1BS,EAAkB7oB,SAAS8oB,gBAAkBV,EACnD,GAAe,OAAX7N,GAAwC,OAArBA,EAAOwO,WAAsBF,EAAiB,CACpE,IAAMG,EAAQhpB,SAASipB,cACjBC,EAAMxnB,OAAOynB,eACnBH,EAAMI,SAAS7O,EAAQA,EAAOwO,UAAU/lB,QACxCgmB,EAAMK,UAAS,GACfH,EAAII,kBACJJ,EAAIK,SAASP,GACTZ,aAAcoB,aACjBpB,EAAGzhB,UAKO8iB,GAAb,a,mOAAA,U,MAAA,QA2FC,WAAY9pB,GAAO,a,4FAAA,UAClB,cAAMA,IA3FP+pB,UAAY,SAACtB,GACZ,EAAKA,GAAKA,GAyFQ,EAtFnBuB,YAAc,SAACC,GAAD,OAAc,WACvB,EAAKljB,MAAMmjB,WAGfD,GAAYA,EAASE,oBAAS,EAAK1B,GAAG2B,cAkFpB,EA/EnBC,eAAiB,SAACC,GAAD,OAAc,SAAC7E,GACX,KAAhBA,EAAM8E,OAAiB9E,EAAM+E,WAChC/E,EAAMgF,iBACNH,GAAYA,EAAS,EAAK7B,GAAG2B,WAC7B,EAAK3B,GAAG2B,UAAY,MA2EH,EAvEnBM,YAAc,SAACC,GAAD,oDAAc,WAAOlF,GAAP,2FACtBA,EAAMmF,eAAkBnF,EAAMmF,cAAcC,MADtB,oDAK3BpF,EAAMgF,iBAEAI,EAAQnnB,MAAMC,KAAK8hB,EAAMmF,cAAcC,SAEvCC,EAAQD,EAAMjb,QAAO,SAAC+C,GAAD,MAAwB,SAAdA,EAAKoY,MAAmB,WAAWC,KAAKrY,EAAKiJ,SAChF5a,KAAI,SAAC2R,GAAD,OAAUA,EAAKsY,gBACX5nB,OAXiB,uBAY1BsnB,GAAYA,EAASG,GAZK,2CAgBPrQ,QAAQC,IAC3BmQ,EAAMjb,QAAO,SAAC+C,GAAD,MAAwB,WAAdA,EAAKoY,MAAqB,eAAeC,KAAKrY,EAAKiJ,SACxE5a,KAAI,SAAC2R,GAAD,OAAU,IAAI8H,SAAQ,SAAC9Y,GAAD,OAAagR,EAAKuY,YAAYvpB,UAlBhC,eAoBrByF,SAAQ,SAACkT,GAAD,OAAU,EAAK6Q,UAAUjpB,GAAMoY,OApBlB,4CAAd,uDAuEK,EAhDnB8Q,WAAa,SAACT,GAAD,oDAAc,WAAOlF,GAAP,2FACrBA,EAAM4F,cAAiB5F,EAAM4F,aAAaR,MADrB,oDAK1BpF,EAAMgF,iBAEAI,EAAQnnB,MAAMC,KAAK8hB,EAAM4F,aAAaR,SAEtCC,EAAQD,EAAMjb,QAAO,SAAC+C,GAAD,MAAwB,SAAdA,EAAKoY,MAAmB,WAAWC,KAAKrY,EAAKiJ,SAChF5a,KAAI,SAAC2R,GAAD,OAAUA,EAAKsY,gBACX5nB,OAXgB,uBAYzBsnB,GAAYA,EAASG,GAZI,2CAgBNrQ,QAAQC,IAC3BmQ,EAAMjb,QAAO,SAAC+C,GAAD,MAAwB,WAAdA,EAAKoY,MAAqB,eAAeC,KAAKrY,EAAKiJ,SACxE5a,KAAI,SAAC2R,GAAD,OAAU,IAAI8H,SAAQ,SAAC9Y,GAAD,OAAagR,EAAKuY,YAAYvpB,UAlBjC,eAoBpByF,SAAQ,SAACkT,GAAD,OAAU,EAAK6Q,UAAUjpB,GAAMoY,OApBnB,4CAAd,uDAgDM,EAzBnBgR,YAAc,WAAM,IACXC,EAAqB,EAAKvrB,MAA1BurB,iBACRA,GAAoBA,KAuBF,EApBnBJ,UAAY,SAAC9C,GAGZ,GAFA,EAAKI,GAAGzhB,QAEJ3G,SAASmrB,sBAAsB,cAClCnrB,SAASorB,YAAY,cAAc,EAAOpD,OAD3C,CAKA,IAAMgB,EAAQhpB,SAASmpB,eAAekC,WAAW,GACjDrC,EAAMsC,iBACN,IAAM1C,EAAW5oB,SAASurB,eAAevD,GACzCgB,EAAMwC,WAAW5C,GACjBI,EAAMyC,mBAAmB7C,GACzBI,EAAMK,UAAS,GAEf,IAAMqC,EAAYhqB,OAAOynB,eACzBuC,EAAUpC,kBACVoC,EAAUnC,SAASP,KAGD,EA2FnB3Y,OAAS,gBAAGsb,EAAH,EAAGA,IAAKC,EAAR,EAAQA,KAAMjjB,EAAd,EAAcA,MAAOkjB,EAArB,EAAqBA,YAAajC,EAAlC,EAAkCA,SAAUK,EAA5C,EAA4CA,SAAUK,EAAtD,EAAsDA,SAAUtgB,EAAhE,EAAgEA,UAAW7D,EAA3E,EAA2EA,MAA3E,OAER,mBAAK6D,UAAWiH,GAAgBC,KAAQ,WAAY,GAAK,CAAClH,IAAa7D,MAAOA,GAC5EwlB,EACD,sBACC/rB,IAAK,EAAK8pB,WAET,CACCoC,wBAAyB,CACxBC,OAAQlqB,GAAM8G,IAEfqjB,iBAAiB,EACjB,mBAAoBH,EACpBI,QAAS,EAAKtC,YAAYC,GAC1BsC,WAAY,EAAKlC,eAAeC,GAChCkC,QAAS,EAAK9B,YAAYC,GAC1B8B,OAAQ,EAAKrB,WAAWT,GACxBjP,QAAS,EAAK4P,aAbjB,CAiBCoB,mBAAoB,WACnB,EAAKC,iBAAgB,IAGtBC,iBAAkB,WACjB,EAAKD,iBAAgB,GACrB1C,GAAYA,EAAS,EAAKxB,GAAG2B,YAI9B/f,UAAWiH,GAAgBC,KAAQ,sBAEnC0a,IA1HF,EAAKllB,MAAQ,CACZmjB,WAAW,GAEZ,EAAKlhB,MAAQ,EAAKhJ,MAAMgJ,MACxB,EAAK6jB,wBAA0B,EAAKA,wBAAwBrc,KAA7B,OAEa,mBAAjC,EAAKxQ,MAAM8sB,mBACrB,EAAK9sB,MAAM8sB,kBAAkB,EAAKD,yBATjB,EA3FpB,O,EAAA,G,EAAA,gDA0G6C,IAAbE,EAAa,EAApB/jB,MAAoB,EACRzB,KAAKvH,MAAhCgJ,EADmC,EACnCA,MAAOgkB,EAD4B,EAC5BA,gBAKf,QAHwBD,GAAkC,IAArBA,EAAU1pB,WAC3B2F,GAA0B,IAAjBA,EAAM3F,SAM/B0pB,EAAU1pB,SAAW2pB,GAAmBhkB,EAAM3F,SAAW2pB,IApH/D,2CA2HsB,IACZvE,EAAOlhB,KAAPkhB,GACHA,IAIDlhB,KAAKvH,MAAMgJ,QAAUyf,EAAGloB,YAC3BgH,KAAKyB,MAAQzB,KAAKvH,MAAMgJ,MACxByf,EAAGloB,UAAYgH,KAAKyB,OAErBwf,GAAaC,MArIf,8CAwIyBwE,GAAO,IACtBhD,EAAa1iB,KAAKvH,MAAlBiqB,SACFiD,EAAgB3lB,KAAK4lB,iBAAiB5lB,KAAKkhB,IAC3C2E,EAAU7lB,KAAKkhB,GAAG2B,UAClBiD,EAAU,GAAH,OAAOD,EAAQ9pB,OAAO,EAAG4pB,IAAzB,OAA4CD,EAA5C,iBAA4DG,EAAQ9pB,OAAO4pB,IACxF3lB,KAAKkhB,GAAGloB,UAAY8sB,EACpB9lB,KAAK+lB,wBAAwBJ,EAAgBD,EAAM5pB,OAAS,GAC5D4mB,GAAYA,EAAS1iB,KAAKkhB,GAAG2B,aA/I/B,8CAkJyBmD,GACvB,IAAMC,EAASntB,SAASipB,cAClBmE,EAAM1rB,OAAOynB,eACnBgE,EAAO/D,SAASliB,KAAKkhB,GAAGM,WAAW,GAAIwE,GACvCC,EAAO9D,UAAS,GAChB+D,EAAI9D,kBACJ8D,EAAI7D,SAAS4D,KAxJf,uCA2JkBE,GAChB,IAAMC,EAAMD,EAAQE,eAAiBF,EAAQrtB,SACvCwtB,EAAMF,EAAIG,aAAeH,EAAII,aACnC,QAAgC,IAArBF,EAAIrE,cAAgCqE,EAAIrE,eAAewE,WAAa,EAAG,CACjF,IAAM3E,EAAQwE,EAAIrE,eAAekC,WAAW,GACtCuC,EAAgB5E,EAAM6E,aAG5B,OAFAD,EAAcnC,mBAAmB4B,GACjCO,EAAcE,OAAO9E,EAAM+E,aAAc/E,EAAMgF,WACxCJ,EAAcjqB,WAAWX,OAGjC,GAAIsqB,EAAI5B,WAAoC,YAAvB4B,EAAI5B,UAAUnQ,KAAoB,CACtD,IAAM0S,EAAYX,EAAI5B,UAAUzC,cAC1BiF,EAAoBZ,EAAIvnB,KAAKooB,kBAGnC,OAFAD,EAAkBE,kBAAkBf,GACpCa,EAAkBG,YAAY,WAAYJ,GACnCC,EAAkBjU,KAAKjX,OAG/B,OAAO,IA9KT,sCAiLiBsrB,GAEf,OADApnB,KAAKmI,SAAS,CAAEwa,UAAWyE,IACpB,O,6BAnLT,GAA8B9d,a,oqCCtD9B,IAAM+d,GAAkB,SAACzG,GAAD,OAAYA,EAAOC,QAAQ,sBAAuB,SAE7DyG,GAAb,a,mOAAA,mKACC9nB,MAAQ,CACP+nB,UAAW,GAFb,EAKCC,eAAiB,SAAC9uB,GACjB,EAAK+uB,MAAQ/uB,GANf,EASCgvB,eAAiB,SAACxJ,GACjBA,EAAMgF,kBAVR,EAaCyE,gBAAkB,SAACzJ,GAClBA,EAAMgF,iBACN,EAAK/a,SAAS,CAAEof,UAAW,EAAK/nB,MAAM+nB,UAAY,KAfpD,EAkBCK,gBAAkB,SAAC1J,GAClBA,EAAMgF,iBACN,EAAK/a,SAAS,CAAEof,UAAW,EAAK/nB,MAAM+nB,UAAY,KApBpD,EAuBC1D,WAAa,SAAC3F,GACbA,EAAMgF,iBADiB,IAGjBqE,EAAc,EAAK/nB,MAAnB+nB,UACY,IAAdA,IAIJA,EAAY,EACZ,EAAKpf,SAAS,CAAEof,cAEhB,EAAKM,aAAa3J,EAAM4F,aAAaP,SAlCvC,EAqCCuE,kBAAoB,SAAC5J,GACpB,EAAK2J,aAAa3J,EAAM6J,cAAcxE,QAtCxC,EAyCCsE,aAAe,SAACtE,GAAU,MACc,EAAK9qB,MAApCuvB,EADiB,EACjBA,OAAQC,EADS,EACTA,SAAU7E,EADD,EACCA,SAE1B,GAAKA,EAAL,CAIA,IAAI8E,EAAgB/rB,MAAMC,KAAKmnB,GAE/B,GAAIyE,EAAQ,CACX,IAAMG,EAAiBH,EAAOpX,MAAM,KAClCnX,KAAI,SAAC2uB,GACL,GAA+B,MAA3BA,EAAaC,OAAO,GACvB,OAAO,gBAAGnmB,EAAH,EAAGA,KAAH,OAAc,IAAI0a,OAAJ,UAAeyK,GAAgBe,GAA/B,KAAkD,KAAK3E,KAAKvhB,IAGlF,IAAMomB,EAAgB,cAAcC,KAAKH,GACzC,OAAIE,EACI,gBAAGjU,EAAH,EAAGA,KAAH,OAAc,IAAIuI,OAAJ,WAAgByK,GAAgBiB,EAAc,IAA9C,QAA0D,KAAK7E,KAAKpP,IAGnF,gBAAGA,EAAH,EAAGA,KAAH,OAAc,IAAIuI,OAAJ,YAAiByK,GAAgBe,GAAjC,KAAoD,KAAK3E,KAAKpP,OAGrF6T,EAAgBA,EAAc7f,QAAO,SAACmgB,GAAD,OAAUL,EAAeM,MAAK,SAACC,GAAD,OAAmBA,EAAcF,SAGhGP,IACJC,EAAgBA,EAAc/Y,MAAM,EAAG,IAGxC+Y,EAAcpsB,QAAUsnB,EAAS8E,KAxEnC,EA2ECS,OAAS,WACR,EAAKlB,MAAMmB,SA5Eb,EA+ECzf,OAAS,kBACR0f,EADQ,EACRA,UACAC,EAFQ,EAERA,YACAd,EAHQ,EAGRA,OACAC,EAJQ,EAIRA,SACAnlB,EALQ,EAKRA,UALQ,IAMR7D,aANQ,MAMA,GANA,EAORmK,EAPQ,EAORA,SACIme,EARI,EAQJA,UARI,OASR,mBACCwB,oBAAmBD,EACnBE,WAAY,EAAKtB,eACjBuB,YAAa,EAAKtB,gBAClBuB,YAAa,EAAKtB,gBAClB1C,OAAQ,EAAKrB,WACb/gB,UAAWiH,GAAgBC,KAAQ,OAAQ,CAAE6e,YAAWM,SAAU5B,EAAY,GAAK,CAACzkB,IACpF7D,MAAOA,GAEP,qBACCvG,IAAK,EAAK8uB,eACVnT,KAAK,OACL2T,OAAQA,EACRC,SAAUA,EACVvF,SAAU,EAAKoF,kBACfhlB,UAAWiH,GAAgBC,KAAQ,iBAEnCZ,IAzGJ,YAAqCE,a,8kFCFrC,IAAM8f,GAAiBtgB,0BAGjBugB,GAAiB,SAAC,GAAD,IAAGjgB,EAAH,EAAGA,SAAUtG,EAAb,EAAaA,UAAWiE,EAAxB,EAAwBA,QAAYtO,EAApC,gDACtB,sBACCqK,UAAWiH,GAAgBC,KAAQ,mBAAoB,CAAEjD,WAAW,CAACjE,KACjErK,GAEH2Q,IAKUkgB,GAAb,a,mOAAA,U,MAAA,yJACC9pB,MAAQ,CACP+pB,SAAU,MAFZ,EAKCjpB,KAAO,SAACipB,EAAU9wB,GAAkC,IAC/C+wB,EACAC,EAF+C,yDAAP,GAAlB1B,EAAyB,EAAzBA,cAItB,EAAK2B,aACRF,EAAgBpc,GAAiB,EAAKsc,WAAWC,KAAKC,0BAGnD7B,IACH0B,EAAgBrc,GAAiB2a,EAAc6B,0BAGhD,EAAKzhB,SAAL,OAAgBohB,YAAa9wB,GAA7B,IAAoC+wB,gBAAeC,oBAjBrD,EAoBCI,QAAU,WACT,EAAK1hB,SAAS,CAAEohB,SAAU,KAAMC,cAAe,KAAMC,cAAe,QArBtE,EAwBCK,qBAAuB,YAA+B,EAA5B/B,gBAA4B,EAAb1U,QAKxC,EAAKwW,WA7BP,EAgCC/U,cAAgB,YACH,WADgB,EAAVtT,KAKlB,EAAKqoB,WArCP,EAwCCE,iBAAmB,SAACrxB,GACnB,EAAKgxB,WAAahxB,GAzCpB,EAsDCyQ,OAAS,kBAAGC,EAAH,EAAGA,SAAcmgB,EAAjB,EAAiBA,SAAUS,EAA3B,EAA2BA,aAAcR,EAAzC,EAAyCA,cAAeC,EAAxD,EAAwDA,cAAxD,OACR,YAACL,GAAergB,SAAhB,CAAyBtH,MAAO,CAAEnB,KAAM,EAAKA,OAC5C,mBAAKwC,UAAWiH,GAAgBC,KAAQ,uBACtCZ,EACD,YAAC,GAAD,IACC1Q,IAAK,EAAKqxB,iBACVxU,YAAa,EAAKuU,qBAClBxU,aAAc,EAAKwU,qBACnB/iB,UAAWwiB,GACPS,GAEHT,EAAWA,EAAS,CAAEM,QAAS,EAAKA,QAASL,gBAAeC,kBAAmB,SAjErF,S,EAAA,G,EAAA,2CA6CEzpB,KAAKoV,SAAU,EACf5a,OAAOsJ,iBAAiB,UAAW9D,KAAK8U,eAAe,KA9CzD,6CAkDE9U,KAAKoV,SAAU,EACf5a,OAAOiT,oBAAoB,UAAWzN,KAAK8U,eAAe,Q,6BAnD5D,GAAsCxL,aAyEzB2gB,GAAiB,SAAC,GAAD,IAAG7gB,EAAH,EAAGA,SAAa3Q,EAAhB,0BAC7B,YAAC2wB,GAAe5f,SAAhB,MACE,gBAAGlJ,EAAH,EAAGA,KAAH,OAAc8I,EAAS,GAAG,CAAEkQ,IAAKhZ,EAAK2I,KAAK,KAAMG,EAAS,GAAI3Q,S,8kFCvF1D,IAAMyxB,GAAO,SAAC,GAAD,IAAG9gB,EAAH,EAAGA,SAAUmE,EAAb,EAAaA,OAAQ4c,EAArB,EAAqBA,UAAc1xB,EAAnC,+CACnB,sBAAKqK,UAAWiH,GAAgBC,KAAQ,OAAQ,CAAEuD,SAAQ4c,eAAkB1xB,GAC1E2Q,IA6BGghB,G,yZACL5qB,MAAQ,G,EAERgjB,UAAY,SAAC9pB,GACZ,EAAK2xB,QAAU3xB,G,EAGhBqrB,YAAc,YAAgB,EAAb1Q,OACJiX,QAAP,WAAoBtgB,KAAOugB,eAKhCV,EADoB,EAAKpxB,MAAjBoxB,Y,EA6BT1gB,OAAS,gBAAGC,EAAH,EAAGA,SAAH,OACR,YAAC,GAAD,CACC1Q,IAAK,EAAK8pB,UACVvjB,MAAK,IAAI8D,SAAU,YAAe,EAAKvD,MAAMuD,UAC7ConB,UAAW,EAAK3qB,MAAM2qB,UACtBK,eAAgB,EAAKzG,aAEpB3a,I,2DAhCiB,MACsBpJ,KAAKvH,MAAtCgxB,EADW,EACXA,cAAeD,EADJ,EACIA,cACjBiB,EAAard,GAAiBpN,KAAKqqB,QAAQV,KAAKC,yBAEhDc,EAAYD,EAAWvnB,MAAQunB,EAAWvrB,KAC1CyrB,EAAaF,EAAWxnB,OAASwnB,EAAWpd,IAE5Cud,EAAapB,EAActmB,MAAQumB,EAAcvqB,KACjD2rB,EAAcrB,EAAcvmB,OAASwmB,EAAcxmB,OAEnD/D,EAAOwrB,EAAYE,EAAanB,EAAcvqB,KAAOsqB,EAActqB,KAAO,KAC1EgE,EAAQwnB,EAAYE,EAAa,KAAOpB,EAActmB,MAAQumB,EAAcvmB,MAE5EmK,EAAMsd,EAAaE,EAAcpB,EAAcxmB,OAAS,KACxDA,EAAS0nB,EAAaE,EAAc,KAAOrB,EAAcvmB,OAASwmB,EAAcpc,IAEhF8c,EAAY,GAAH,OAAOO,EAAYE,EAAa,QAAU,OAA1C,YAAsDD,EAAaE,EAAc,SAAW,OAG3G7qB,KAAKmI,SAAS,CACbpF,SAAU,CAAE7D,OAAMgE,QAAOmK,MAAKpK,UAC9BknB,mB,gCArC8B7gB,aAsDpBwhB,GAAc,SAAC,GAAD,IAAG1hB,EAAH,EAAGA,SAAUgQ,EAAb,EAAaA,QAASyP,EAAtB,EAAsBA,UAAtB,OAC1B,YAAC,GAAD,CACCmB,aAAc,CACblnB,UAAW+lB,EAAY9e,GAAgBC,KAAQ,yBAA2B,OAG1EoP,GACA,gBAAGyQ,EAAH,EAAGA,QAASJ,EAAZ,EAAYA,cAAeD,EAA3B,EAA2BA,cAA3B,OACA,YAAC,GAAD,CACCK,QAASA,EACTJ,cAAeA,EACfD,cAAeA,GAEdpgB,OAOL8gB,GAAKa,MAlGgB,SAAC,GAAD,IAAG3hB,EAAH,EAAGA,SAAU9H,EAAb,EAAaA,MAAU7I,EAAvB,kCACpB,sBAAKqK,UAAWiH,GAAgBC,KAAQ,gBAAoBvR,GAC1D6I,GAAS,mBAAKwB,UAAWiH,GAAgBC,KAAQ,sBAAuB1I,GACxE8H,IAgGH8gB,GAAKc,KA3Fe,SAAC,GAAD,IAAG5hB,EAAH,EAAGA,SAAU6hB,EAAb,EAAaA,QAASrX,EAAtB,EAAsBA,OAAQH,EAA9B,EAA8BA,SAAUS,EAAxC,EAAwCA,KAASzb,EAAjD,+DACnB,yBACCqK,UAAWiH,GAAgBC,KAAQ,aAAc,CAAEihB,UAASrX,SAAQH,aACpEA,SAAUA,GACNhb,GAEHyb,GACA,mBAAKpR,UAAWiH,GAAgBC,KAAQ,qBACtC1Q,YAAE4a,IAGJ9K,IAiFH8gB,GAAKgB,QAAUJ,GAGAZ,U,knBC5GR,IAAMiB,GAAS,SAAC,GAAD,IAAG/hB,EAAH,EAAGA,SAAUtG,EAAb,EAAaA,UAAcrK,EAA3B,sCACrB,yBAAQqK,UAAWiH,GAAgBC,KAAQ,SAAU,GAAI,CAAClH,KAAiBrK,GACzE2Q,IAKUgiB,GAAgB,SAAC,GAAD,IAAGhiB,EAAH,EAAGA,SAAUtG,EAAb,EAAaA,UAAcrK,EAA3B,sCAC5B,sBAAKqK,UAAWiH,GAAgBC,KAAQ,kBAAmB,GAAI,CAAClH,KAAiBrK,GAC/E2Q,IAKUiiB,GAAY,SAAC,GAAD,IAAGvoB,EAAH,EAAGA,UAAcrK,EAAjB,2BACxB,qBAAIqK,UAAWiH,GAAgBC,KAAQ,aAAc,GAAI,CAAClH,KAAiBrK,GACzE6W,IAAK7C,EAAE,0BAA0BmE,MAAM,eAAe,GACvD,iBAAGhO,KAAK,sBAAsByQ,OAAO,SAASiY,IAAI,uBACjD,YAAC,KAAD,CAAMxoB,UAAWiH,GAAgBC,KAAQ,oBAAqB5K,MAAO,GAAID,OAAQ,MAAiBosB,KAAK,MAAMhX,aAAW,iBAExHjF,IAAK7C,EAAE,0BAA0BmE,MAAM,eAAe,KAKnDwC,GAAgB,SAAC,GAAD,SAAGC,OAAoBC,QAEvCkY,GAAiB,SAAC,GAAD,IAAGlS,EAAH,EAAGA,IAAH,OACtB,sBAAQxW,UAAWiH,GAAgBC,KAAQ,mBAAoBmK,QAASmF,EAAKhF,UAAWlB,IACtF9D,IAAK7C,EAAE,aAKGgf,GAAgB,SAAC,GAAD,IAAGriB,EAAH,EAAGA,SAAH,OAC5B,YAAC,GAAD,CAAagQ,QAASoS,GAAgB3C,WAAS,GAC7Czf,IAKUsiB,GAAc,SAAC,GAAD,IAAG5oB,EAAH,EAAGA,UAAH,IAAc7D,aAAd,MAAsB,GAAtB,EAA0B0sB,EAA1B,EAA0BA,WAAYlG,EAAtC,EAAsCA,gBAAtC,OAC1B,oBACC3iB,UAAWiH,GAAgBC,KAAQ,oBAAqB,CAAE4hB,UAAWD,IAAelG,GAAmB,CAAC3iB,IACxG7D,MAAOA,GAEN0sB,EAJF,MAIiBlG,I,sBCjDLoG,GAAgB/d,IAAK,gBACjCge,EADiC,EACjCA,QACAnY,EAFiC,EAEjCA,KACAoY,EAHiC,EAGjCA,OACAjpB,EAJiC,EAIjCA,UAJiC,IAKjC7D,aALiC,MAKzB,GALyB,EAMjCmK,EANiC,EAMjCA,SANiC,IAOjC4iB,cAPiC,gBASjC,mBACClpB,UAAWiH,GAAgBC,KAAQ,iBAAkB,CAAE8hB,UAASnY,OAAMoY,SAAQC,UAAU,CAAClpB,IACzF7D,MAAOA,GAEP,mBAAK6D,UAAWiH,GAAgBC,KAAQ,0BACtCZ,O,4lBCZG,IAAM6iB,GAAkBne,IAAK,gBACnCvN,EADmC,EACnCA,IACAuC,EAFmC,EAEnCA,UACGopB,EAHgC,iCAKnC,YAACL,GAAD,IACClY,MAAI,EACJ7Q,UAAWiH,GAAgBC,KAAQ,mBAAoB,GAAI,CAAClH,KACxDopB,GAEJ,qBACC7tB,IAAKkC,EACL4rB,UAAQ,EACRrpB,UAAWiH,GAAgBC,KAAQ,4BAElCsF,IAAK7C,EAAE,kD,0JCZE2f,GAAqBte,IAAK,YAAa,IAAVvN,EAAU,EAAVA,IACnC8rB,EAAY9rB,EAAMA,EAAIqQ,MAAM,KAAK0I,MAAQ,KAEzCgT,EAAQ,OAAO7I,KAAK4I,IAAcE,MACnC,kCAAkC9I,KAAK4I,IAAcG,MACrD,gBAAgB/I,KAAK4I,IAAcI,MACnC,gBAAgBhJ,KAAK4I,IAAcK,MACnC,iBAAiBjJ,KAAK4I,IAAcM,MACrCC,KACJ,OAAO,YAACN,EAAD,CAAMltB,MAAO,Q,4lBCXd,IAAMytB,GAAiB/e,IAAK,gBAClCvN,EADkC,EAClCA,IACAe,EAFkC,EAElCA,MACAwB,EAHkC,EAGlCA,UACGopB,EAJ+B,yCAMlC,YAACL,GAAD,IACC/oB,UAAWiH,GAAgBC,KAAQ,kBAAmB,GAAI,CAAClH,KACvDopB,GAEJ,iBACCtpB,KAAMrC,EACNusB,UAAQ,EACRzZ,OAAO,SACPiY,IAAI,sBACJxoB,UAAWiH,GAAgBC,KAAQ,2BAEnC,YAACoiB,GAAD,CAAoB7rB,IAAKA,IACzB,oBAAMuC,UAAWiH,GAAgBC,KAAQ,2BAA4B1I,GACrE,YAAC,KAAD,CAAclC,MAAO,GAAID,OAAQ,GAAI2D,UAAWiH,GAAgBC,KAAQ,2C,4lBCrBpE,IAAM+iB,GAAkBjf,IAAK,gBACnCvN,EADmC,EACnCA,IACAuC,EAFmC,EAEnCA,UACGopB,EAHgC,iCAKnC,YAACL,GAAD,IACClY,MAAI,EACJ7Q,UAAWiH,GAAgBC,KAAQ,mBAAoB,GAAI,CAAClH,KACxDopB,GAEJ,mBACC7tB,IAAKkC,EACLuC,UAAWiH,GAAgBC,KAAQ,iC,gCCbzBgjB,GAAiBlf,IAAK,oBAClCmf,sBADkC,MACjB,kBAAM,MADW,MAElCC,iBAFkC,MAEtB,GAFsB,EAGlCpqB,EAHkC,EAGlCA,UAHkC,IAIlC7D,aAJkC,MAI1B,GAJ0B,SAMlC,mBACC6D,UAAWiH,GAAgBC,KAAQ,kBAAmB,GAAI,CAAClH,IAC3D7D,MAAOA,GAENiuB,EAAUzzB,KAAI,SAAC4S,GAAD,OACd,YAAC,GAAD,CACChO,IAAK4uB,EAAe5gB,GACpBkT,YAAalT,EACbvJ,UAAWiH,GAAgBC,KAAQ,oC,+eCjBhC,IAAMmjB,GAAuB,CACnCC,WAAY,aACZC,YAAa,cACbC,aAAc,eACdC,OAAQ,UAGIC,GACL,cAKKC,GACH,UAMJC,GAAa,IAAIC,IAIjBC,GAAsB,SAACh0B,GAC5B,IAAMi0B,EAAQH,GAAWI,IAAIl0B,GAE7B,OADA8zB,GAAWK,OAAOn0B,GACXi0B,GAGFG,GAAoB,SAACH,GAC1B,IAAM/R,ExCVuB,eAAC7f,EAAD,uDAAc,GAAd,OAC7BD,EAAmBC,EAAYb,GwCSb6yB,GAGlB,OAFAP,GAAWxH,IAAIpK,EAAW+R,GAC1B/iB,WAAW8iB,GAfY,IAe0B9R,GAC1CA,GAGFoS,GAA+B,SAAC7Z,EAAD,GAA8C,IAAzByH,EAAyB,EAAzBA,UAAc/d,EAAW,oBAClF,GAAK2vB,GAAWS,IAAIrS,IAGN8R,GAAoB9R,GAClC,CALkF,IAS1EsS,EAASrwB,EAATqwB,KACFC,EAAWtwB,EAAXswB,OAMN,GAJID,GAAQA,EAAKx0B,KAChBy0B,EAASD,EAAKx0B,IAGVy0B,EAIL,MAAI,CAAClB,GAAqBI,QAAQtnB,SAASoO,GAQnC8Y,GAAqBI,OAGzB,CAACJ,GAAqBG,cAAcrnB,SAASoO,GAQzC8Y,GAAqBG,aAGzB,CAACH,GAAqBC,YAAYnnB,SAASoO,GAavC8Y,GAAqBC,WAGtBD,GAAqBmB,cAGhBpS,GAAa,e,EAAA,G,EAAA,yBAAG,mIAC5B2R,EAD4B,EAC5BA,MACAxZ,EAF4B,EAE5BA,KACAka,EAH4B,EAG5BA,SACApiB,EAJ4B,EAI5BA,IACAqiB,EAL4B,EAK5BA,IACAH,EAN4B,EAM5BA,OACAjrB,EAP4B,EAO5BA,UACAqrB,EAR4B,EAQ5BA,QAEM3S,EAAYkS,GAAkBH,GAVR,SAarB1vB,EAAS,CACdkW,OACAka,WACApiB,MACAqiB,MACAH,SACAjrB,YACA0Y,YACA2S,WArB0B,SAwBNvb,QAAQwb,KAAK,CACjCC,MAAM,GAAD,OAAK1zB,EAASqR,OAAO/R,KAArB,gBAAmCq0B,UAAU,uBAAD,OAAyBf,KAAc,CACvFrpB,OAAQ,OACR3F,KAAM5D,EAASqR,OAAOuiB,QAAQ1wB,GAC9B2wB,QAASv1B,OAAOC,OAAO,CAAE,kBAAmByB,EAASsT,YAAYvM,OAAS/G,EAASqR,OAAOyiB,gBACxFrY,KAAKzb,EAASqR,OAAO0iB,QACxB,IAAI9b,SAAQ,SAACrW,EAAGsf,GACfrR,YAAW,WACVqR,EAAO,IAAIliB,MAAM6hB,MAhHE,UAgFK,cAwBrBlS,EAxBqB,OAqCbqlB,EAA6BrlB,EAAnCyK,KAA0BtW,EArCP,GAqCgB6L,EArChB,4BAuCpBskB,GAA6Be,EAAiBlxB,IAvC1B,wCAyC3B6vB,GAAoB9R,GAzCO,8D,iLAAH,sD,UClGpBoT,GAAiBpmB,wBAAc,CACpCqmB,eAAgB,eAcFrhB,iBAXC,SAAC,GAAD,IAAG1E,EAAH,EAAGA,SAAU+lB,EAAb,EAAaA,eAAb,OACf,YAACD,GAAenmB,SAAhB,CACCK,SAAUA,EACV3H,MAAO,CACN0tB,uB,2wCCNH,IAAMC,GAAetmB,wBAAc,CAClC+kB,MAAO,KACPwB,QAAS,OAYGC,GAAmB,SAACf,GAAa,IACrCV,EAAU0B,aAAWH,IAArBvB,MACFsB,EDLNI,aAAWL,IAAgBC,eCGkB,KAITvP,cAAS,GAJA,GAItC4P,EAJsC,KAI1BC,EAJ0B,KAKvCC,EAAa/2B,cAAO,GAsB1B,OApBAC,cAAU,kBAAM,WACf82B,EAAWt2B,SAAU,KACnB,IAkBI,CAhBSu2B,aAAW,4BAAC,sHAAOlB,EAAP,+BAAiB,GAC5CgB,GAAc,GADa,kBAIpBN,EAAe,CACpBtB,QACAU,WACAE,YAPyB,uBAUtBiB,EAAWt2B,SACdq2B,GAAc,GAXW,uEAczB,CAAClB,EAAUV,EAAOsB,IAEJK,IAGH1hB,iBAvCD,SAAC,GAAD,IAAG+f,EAAH,EAAGA,MAAOwB,EAAV,EAAUA,QAASjmB,EAAnB,EAAmBA,SAAnB,OACb,YAACgmB,GAAarmB,SAAd,CACCK,SAAUA,EACV3H,MAAO,CACNosB,QACAwB,gB,i+BCLH,IA6BevhB,iBA7BM,SAAC,GAAyC,IAAvC+f,EAAuC,EAAvCA,MAAOwB,EAAgC,EAAhCA,QAASO,EAAuB,EAAvBA,SAAUC,EAAa,EAAbA,OAAa,KAC5BjQ,cAAS,GADmB,GACvDkQ,EADuD,KAC5CC,EAD4C,KAExDC,EAAqBC,cAAQ,kBAAOH,EAAYF,EAASzgB,MAAM,EAAG,GAAKygB,IAAW,CAACE,EAAWF,IAC9FM,EAAsBN,EAAS9zB,OAASk0B,EAAmBl0B,OAC3Dq0B,EAAsBD,EAAsB,EAE5CE,EAAwBT,cAAY,WACzCI,GAAa,KACX,IAEH,OAAO,YAAC,GAAD,CAAOlC,MAAOA,EAAOwB,QAASA,GACpC,mBAAKvsB,UAAWiH,GAAgBC,KAAQ,wBACtCgmB,EAAmBv2B,KAAI,SAAC0sB,EAAS3kB,GACjC,IAAM6uB,EAAkBR,EAAOS,cAAcnK,EAASoK,iBAAcC,QACpE,OAAKH,EAIE,mBAAK7uB,IAAKA,EAAKsB,UAAWiH,GAAgBC,KAAQ,8BACvDqmB,GAJM,QAORF,GAAuB,YAAC5c,GAAD,CAAQG,SAAO,EAACG,WAAS,EAACE,OAAK,EAACI,QAASic,GAC/D9gB,IAAK7C,EAAE,gCAAiC,CAAEyjB,8B,2lCCzB/C,IAAM9c,GAAgB,SAAC,GAAD,SAAGC,OAAoBC,QAoC9BxF,iBAlCO,SAAC,GAAoE,IAAlEiF,EAAkE,EAAlEA,KAAMwb,EAA4D,EAA5DA,SAAUhuB,EAAkD,EAAlDA,IAAKkB,EAA6C,EAA7CA,MAAOxC,EAAsC,EAAtCA,MAAO2L,EAA+B,EAA/BA,QAAS6lB,EAAsB,EAAtBA,QAASZ,EAAa,EAAbA,OAAa,KAChDP,GAAiBf,GAD+B,GACnFmC,EADmF,KACpEC,EADoE,KAGpF5M,EAAc4L,aAAW,e,EAAA,G,EAAA,yBAAC,WAAOzR,GAAP,yFAC/BA,EAAMgF,kBAMF3iB,EAP2B,uBAQxBqwB,EAASp2B,OAAO8F,QACfuwB,OAAS,KAChBD,EAAOh2B,SAAW2F,EAVY,0CAczBmwB,EAAc,CAAEjvB,UAdS,0C,iLAAD,sDAe5B,CAACgvB,EAASC,EAAenwB,EAAKkB,IAEjC,OAAO,sBACN2H,SAAUymB,EAAO9c,KAAKA,GACtBjQ,UAAWiH,GAAgBC,KAAQ,eAAgB,CAClD/K,QACA6xB,UAAWlmB,IAAY2lB,iBAAcQ,QACrC7yB,OAAQ0M,IAAY2lB,iBAAcC,SAEnC/c,SAAUkd,EACVtc,KAAK,SACLF,QAAS4P,EACTzP,UAAWlB,Q,sBCtBEtF,iBAVM,SAAC,GAAD,IAAG+f,EAAH,EAAGA,MAAOwB,EAAV,EAAUA,QAASO,EAAnB,EAAmBA,SAAUC,EAA7B,EAA6BA,OAA7B,OACpB,YAAC,GAAD,CAAOhC,MAAOA,EAAOwB,QAASA,GAC7B,mBAAKvsB,UAAWiH,GAAgBC,KAAQ,wBACtC4lB,EAASn2B,KAAI,SAAC0sB,EAAS3kB,GAAV,OACb,mBAAKA,IAAKA,EAAKsB,UAAWiH,GAAgBC,KAAQ,8BAChD6lB,EAAOmB,cAAc7K,EAASoK,iBAAcU,kB,sBCiBnCnjB,OAzBG,SAAC,GAAD,IACjB5L,EADiB,EACjBA,KACAT,EAFiB,EAEjBA,MACAkjB,EAHiB,EAGjBA,YACAlR,EAJiB,EAIjBA,SACAM,EALiB,EAKjBA,MACApB,EANiB,EAMjBA,MACA+P,EAPiB,EAOjBA,SACAqC,EARiB,EAQjBA,QACAjiB,EATiB,EASjBA,UATiB,IAUjB7D,aAViB,MAUT,GAVS,SAYjB,qBACCoV,KAAK,OACLnS,KAAMA,EACNT,MAAOA,EACPkjB,YAAaA,EACblR,SAAUA,EACViP,SAAUA,EACVqC,QAASA,EACTjiB,UAAWiH,GAAgBC,KAAQ,aAAc,CAAEyJ,WAAUd,QAAOoB,SAAS,CAACjR,IAC9E7D,MAAOA,O,qkCCpBT,IAyBe6O,iBAzBW,SAAC,GAAwE,IAAtEygB,EAAsE,EAAtEA,SAAUkC,EAA4D,EAA5DA,QAA4BS,EAAgC,EAAhCA,YAAgC,KACxD5B,GAAiBf,GADuC,GAC3FmC,EAD2F,KAC5EC,EAD4E,KAG5FQ,EAAexB,aAAW,e,EAAA,G,EAAA,yBAAC,WAAOzR,GAAP,uFAChCA,EAAMgF,iBAD0B,SAO1BwN,EAAc,CACnBQ,cACAE,aAAclT,EAAM7K,OAAO5R,QATI,0C,iLAAD,sDAW7B,CAACgvB,EAASS,EAAaR,IAE1B,OAAO,YAAC,GAAD,CACNjvB,MAAOyvB,EACPzd,SAAUkd,EAEV5c,OAAK,EACL2O,SAAUyO,O,sBCbGrjB,iBAPM,SAAC,GAAD,IAAG+f,EAAH,EAAGA,MAAOwB,EAAV,EAAUA,QAAV,OACpB,YAAC,GAAD,CAAOxB,MAAOA,EAAOwB,QAASA,GAC7B,kBACCvsB,UAAWiH,GAAgBC,KAAQ,6B,i+BCHtC,IA4Ee8D,iBA1EI,SAAC,GAAyD,IAAvD+f,EAAuD,EAAvDA,MAAOwB,EAAgD,EAAhDA,QAAS/tB,EAAuC,EAAvCA,MAAO+vB,EAAgC,EAAhCA,SAAUC,EAAsB,EAAtBA,QAASzB,EAAa,EAAbA,OAAa,KAKrDjQ,cAAS,iBAAO,CACtC5L,SAAS,EACTud,aATe,IAUfC,cAVe,QAE4D,UAE3Exd,EAF2E,EAE3EA,QACAud,EAH2E,EAG3EA,aACAC,EAJ2E,EAI3EA,cACEC,EALyE,KAW5E74B,cAAU,WACT,IAAM84B,EAAQ,IAAIC,MACdC,GAAY,EAgBhB,OAdAF,EAAMG,OAAS,WACVD,GAIJH,EAAiB,CAChBzd,SAAS,EACTud,aAAcG,EAAMH,aACpBC,cAAeE,EAAMF,iBAIvBE,EAAMrzB,IAAMgzB,EAEL,WACNO,GAAY,KAEX,CAACP,IAEJ,IAAMS,EAAe7B,cAAQ,iBAAO,CACnC8B,SAAUt2B,KAAK8P,IArCA,IAqCcgmB,EAAeC,EArC7B,QAsCZ,CAACA,EAAeD,IAEdS,EAAe/B,cAAQ,iBAAO,CACnCgC,cAAe,GAAF,OAAMT,EAAgBD,EAAe,IAArC,QACV,CAACC,EAAeD,IAEdW,EAAYjC,cAAQ,iBAAO,CAChCzb,gBAAiB,OAAF,OAAU6c,EAAV,QACZ,CAACA,IAEL,OAAO,YAAC,GAAD,CAAOxD,MAAOA,EAAOwB,QAASA,GACpC,mBAAKvsB,UAAWiH,GAAgBC,KAAQ,sBACtC1I,GAAS,kBAAIwB,UAAWiH,GAAgBC,KAAQ,6BAC/C6lB,EAAO9c,KAAKzR,IAEd,mBACCwB,UAAWiH,GAAgBC,KAAQ,6BAA8B,CAAEgK,YACnE/U,MAAO6yB,GAEP,mBACChvB,UAAWiH,GAAgBC,KAAQ,8BACnC/K,MAAO+yB,GAEP,iBACC5oB,SAAUioB,EACVvuB,UAAWiH,GAAgBC,KAAQ,2BACnCpH,KAAMyuB,EACN/F,IAAI,sBACJrsB,MAAOizB,EACP7e,OAAO,SACP/R,MAAOgwB,W,sBCtDExjB,iBAdM,SAAC,GAAD,IAAGujB,EAAH,EAAGA,SAAUC,EAAb,EAAaA,QAAS1mB,EAAtB,EAAsBA,QAAtB,OACpB,mBACC2J,aAAY+c,EACZxuB,UAAWiH,GAAgBC,KAAQ,cAAe,CACjD8mB,UAAWlmB,IAAY2lB,iBAAcQ,QACrCnmB,QAASA,IAAY2lB,iBAAcU,UAEpC1F,KAAK,MACLtsB,MAAO,CACNuV,gBAAiB,OAAF,OAAU6c,EAAV,MAEhB/vB,MAAOgwB,OCdMa,GAJD,CAAE,SAAU,KAAM,SAAU,KAAM,QAAS,KAAM,OAAS,KAAM,OAAS,KAAM,OAAS,KAAM,OAAQ,KAAM,OAAS,KAAM,OAAQ,KAAM,OAAS,KAAM,OAAQ,KAAM,OAAQ,KAAM,OAAQ,KAAM,OAAQ,KAAM,OAAQ,KAAM,OAAQ,KAAM,OAAQ,KAAM,OAAQ,KAAM,MAAO,KAAM,MAAO,KAAM,MAAQ,KAAM,MAAO,KAAM,MAAQ,KAAM,MAAQ,KAAM,MAAQ,KAAM,MAAQ,KAAM,MAAO,KAAM,MAAO,KAAM,MAAO,KAAM,MAAO,KAAM,MAAO,KAAM,MAAO,KAAM,MAAO,KAAM,MAAQ,KAAM,MAAQ,KAAM,MAAO,KAAM,MAAO,KAAM,MAAO,KAAM,MAAO,KAAM,MAAO,KAAM,MAAO,KAAM,MAAO,KAAM,MAAO,KAAM,MAAQ,KAAM,MAAO,KAAM,MAAO,KAAM,MAAO,KAAM,MAAO,KAAM,MAAO,KAAM,OAAQ,KAAM,OAAQ,KAAM,MAAO,KAAM,MAAO,KAAM,MAAO,KAAM,MAAO,KAAM,MAAO,KAAM,MAAO,KAAM,MAAO,KAAM,MAAO,KAAM,MAAO,KAAM,MAAO,KAAM,OAAQ,KAAM,MAAO,KAAM,MAAO,KAAM,MAAO,KAAM,MAAO,KAAM,KAAM,KAAM,MAAO,KAAM,MAAO,KAAMC,IAAK,KAAM,MAAO,KAAM,MAAO,KAAM,MAAO,KAAM,MAAO,KAAM,MAAO,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MCC/8CC,GADA,CAAE,YAAa,iBAAkB,aAAc,iBAAkB,UAAW,iBAAkB,6DAA8D,eAAgB,kCAAmC,eAAgB,uDAAwD,eAAgB,kCAAmC,eAAgB,8DAA+D,eAAgB,kCAAmC,eAAgB,4DAA6D,eAAgB,kCAAmC,eAAgB,mEAAoE,eAAgB,kCAAmC,eAAgB,6DAA8D,eAAgB,kCAAmC,eAAgB,qDAAsD,eAAgB,kCAAmC,eAAgB,4DAA6D,eAAgB,kCAAmC,eAAgB,sDAAuD,eAAgB,kCAAmC,eAAgB,2DAA4D,eAAgB,kCAAmC,eAAgB,yCAA0C,eAAgB,+BAAgC,eAAgB,gDAAiD,eAAgB,+BAAgC,eAAgB,gEAAiE,eAAgB,qCAAsC,eAAgB,0CAA2C,eAAgB,+BAAgC,eAAgB,0DAA2D,eAAgB,qCAAsC,eAAgB,iEAAkE,eAAgB,qCAAsC,eAAgB,+CAAgD,eAAgB,+BAAgC,eAAgB,+DAAgE,eAAgB,qCAAsC,eAAgB,sEAAuE,eAAgB,qCAAsC,eAAgB,gEAAiE,eAAgB,qCAAsC,eAAgB,wCAAyC,eAAgB,+BAAgC,eAAgB,wDAAyD,eAAgB,qCAAsC,eAAgB,+DAAgE,eAAgB,qCAAsC,eAAgB,yDAA0D,eAAgB,qCAAsC,eAAgB,8DAA+D,eAAgB,qCAAsC,eAAgB,uEAAwE,eAAgB,4CAA6C,eAAgB,iEAAkE,eAAgB,4CAA6C,eAAgB,sEAAuE,eAAgB,4CAA6C,eAAgB,+DAAgE,eAAgB,4CAA6C,eAAgB,uEAAwE,eAAgB,4CAA6C,eAAgB,wEAAyE,eAAgB,4CAA6C,eAAgB,6EAA8E,eAAgB,4CAA6C,eAAgB,sEAAuE,eAAgB,4CAA6C,eAAgB,iEAAkE,eAAgB,4CAA6C,eAAgB,wEAAyE,eAAgB,4CAA6C,eAAgB,uEAAwE,eAAgB,4CAA6C,eAAgB,gEAAiE,eAAgB,4CAA6C,eAAgB,sEAAuE,eAAgB,4CAA6C,eAAgB,6EAA8E,eAAgB,4CAA6C,eAAgB,uEAAwE,eAAgB,4CAA6C,eAAgB,qEAAsE,eAAgB,4CAA6C,eAAgB,+DAAgE,eAAgB,4CAA6C,eAAgB,sEAAuE,eAAgB,4CAA6C,eAAgB,gEAAiE,eAAgB,4CAA6C,eAAgB,qEAAsE,eAAgB,4CAA6C,eAAgB,+DAAgE,eAAgB,oCAAqC,eAAgB,yDAA0D,eAAgB,oCAAqC,eAAgB,gEAAiE,eAAgB,oCAAqC,eAAgB,8DAA+D,eAAgB,oCAAqC,eAAgB,qEAAsE,eAAgB,oCAAqC,eAAgB,+DAAgE,eAAgB,oCAAqC,eAAgB,uDAAwD,eAAgB,oCAAqC,eAAgB,8DAA+D,eAAgB,oCAAqC,eAAgB,wDAAyD,eAAgB,oCAAqC,eAAgB,6DAA8D,eAAgB,oCAAqC,eAAgB,gBAAiB,cAAe,gBAAiB,cAAe,gBAAiB,cAAe,gBAAiB,cAAe,gBAAiB,cAAe,gBAAiB,cAAe,gBAAiB,cAAe,gBAAiB,cAAe,gBAAiB,cAAe,kBAAmB,aAAc,YAAa,aAAc,mBAAoB,aAAc,kBAAmB,aAAc,YAAa,aAAc,uBAAwB,WAAY,wBAAyB,WAAY,yBAA0B,WAAY,yBAA0B,WAAY,eAAgB,WAAY,eAAgB,WAAY,eAAgB,WAAY,yBAA0B,WAAY,0BAA2B,WAAY,2BAA4B,WAAY,eAAgB,WAAY,eAAgB,WAAY,+BAAgC,UAAW,qBAAsB,UAAW,sCAAuC,UAAW,qBAAsB,UAAW,gCAAiC,UAAW,qBAAsB,UAAW,qCAAsC,UAAW,qBAAsB,UAAW,8BAA+B,UAAW,qBAAsB,UAAW,kCAAmC,UAAW,wBAAyB,UAAW,yCAA0C,UAAW,wBAAyB,UAAW,mCAAoC,UAAW,wBAAyB,UAAW,wCAAyC,UAAW,wBAAyB,UAAW,iCAAkC,UAAW,wBAAyB,UAAW,6BAA8B,UAAW,mBAAoB,UAAW,oCAAqC,UAAW,mBAAoB,UAAW,8BAA+B,UAAW,mBAAoB,UAAW,mCAAoC,UAAW,mBAAoB,UAAW,4BAA6B,UAAW,mBAAoB,UAAW,6BAA8B,UAAW,mBAAoB,UAAW,oCAAqC,UAAW,mBAAoB,UAAW,8BAA+B,UAAW,mBAAoB,UAAW,mCAAoC,UAAW,mBAAoB,UAAW,4BAA6B,UAAW,mBAAoB,UAAW,qCAAsC,UAAW,2BAA4B,UAAW,4CAA6C,UAAW,2BAA4B,UAAW,sCAAuC,UAAW,2BAA4B,UAAW,2CAA4C,UAAW,2BAA4B,UAAW,oCAAqC,UAAW,2BAA4B,UAAW,uCAAwC,UAAW,6BAA8B,UAAW,8CAA+C,UAAW,6BAA8B,UAAW,wCAAyC,UAAW,6BAA8B,UAAW,6CAA8C,UAAW,6BAA8B,UAAW,sCAAuC,UAAW,6BAA8B,UAAW,+BAAgC,UAAW,qBAAsB,UAAW,sCAAuC,UAAW,qBAAsB,UAAW,gCAAiC,UAAW,qBAAsB,UAAW,qCAAsC,UAAW,qBAAsB,UAAW,8BAA+B,UAAW,qBAAsB,UAAW,oCAAqC,UAAW,0BAA2B,UAAW,2CAA4C,UAAW,0BAA2B,UAAW,qCAAsC,UAAW,0BAA2B,UAAW,0CAA2C,UAAW,0BAA2B,UAAW,mCAAoC,UAAW,0BAA2B,UAAW,6CAA8C,UAAW,mCAAoC,UAAW,oDAAqD,UAAW,mCAAoC,UAAW,8CAA+C,UAAW,mCAAoC,UAAW,mDAAoD,UAAW,mCAAoC,UAAW,4CAA6C,UAAW,mCAAoC,UAAW,gDAAiD,UAAW,sCAAuC,UAAW,uDAAwD,UAAW,sCAAuC,UAAW,iDAAkD,UAAW,sCAAuC,UAAW,sDAAuD,UAAW,sCAAuC,UAAW,+CAAgD,UAAW,sCAAuC,UAAW,iCAAkC,UAAW,uBAAwB,UAAW,wCAAyC,UAAW,uBAAwB,UAAW,kCAAmC,UAAW,uBAAwB,UAAW,uCAAwC,UAAW,uBAAwB,UAAW,gCAAiC,UAAW,uBAAwB,UAAW,sCAAuC,UAAW,4BAA6B,UAAW,6CAA8C,UAAW,4BAA6B,UAAW,uCAAwC,UAAW,4BAA6B,UAAW,4CAA6C,UAAW,4BAA6B,UAAW,qCAAsC,UAAW,4BAA6B,UAAW,mCAAoC,UAAW,yBAA0B,UAAW,0CAA2C,UAAW,yBAA0B,UAAW,oCAAqC,UAAW,yBAA0B,UAAW,yCAA0C,UAAW,yBAA0B,UAAW,kCAAmC,UAAW,yBAA0B,UAAW,kCAAmC,UAAW,wBAAyB,UAAW,yCAA0C,UAAW,wBAAyB,UAAW,mCAAoC,UAAW,wBAAyB,UAAW,wCAAyC,UAAW,wBAAyB,UAAW,iCAAkC,UAAW,wBAAyB,UAAW,+BAAgC,UAAW,qBAAsB,UAAW,sCAAuC,UAAW,qBAAsB,UAAW,gCAAiC,UAAW,qBAAsB,UAAW,qCAAsC,UAAW,qBAAsB,UAAW,8BAA+B,UAAW,qBAAsB,UAAW,gCAAiC,UAAW,sBAAuB,UAAW,uCAAwC,UAAW,sBAAuB,UAAW,iCAAkC,UAAW,sBAAuB,UAAW,sCAAuC,UAAW,sBAAuB,UAAW,+BAAgC,UAAW,sBAAuB,UAAW,gCAAiC,UAAW,sBAAuB,UAAW,uCAAwC,UAAW,sBAAuB,UAAW,iCAAkC,UAAW,sBAAuB,UAAW,sCAAuC,UAAW,sBAAuB,UAAW,+BAAgC,UAAW,sBAAuB,UAAW,qCAAsC,UAAW,2BAA4B,UAAW,4CAA6C,UAAW,2BAA4B,UAAW,sCAAuC,UAAW,2BAA4B,UAAW,2CAA4C,UAAW,2BAA4B,UAAW,oCAAqC,UAAW,2BAA4B,UAAW,qCAAsC,UAAW,2BAA4B,UAAW,4CAA6C,UAAW,2BAA4B,UAAW,sCAAuC,UAAW,2BAA4B,UAAW,2CAA4C,UAAW,2BAA4B,UAAW,oCAAqC,UAAW,2BAA4B,UAAW,0CAA2C,UAAW,gCAAiC,UAAW,iDAAkD,UAAW,gCAAiC,UAAW,2CAA4C,UAAW,gCAAiC,UAAW,gDAAiD,UAAW,gCAAiC,UAAW,yCAA0C,UAAW,gCAAiC,UAAW,yBAA0B,WAAY,iCAAkC,UAAW,uBAAwB,UAAW,wCAAyC,UAAW,uBAAwB,UAAW,kCAAmC,UAAW,uBAAwB,UAAW,uCAAwC,UAAW,uBAAwB,UAAW,gCAAiC,UAAW,uBAAwB,UAAW,oCAAqC,UAAW,0BAA2B,UAAW,2CAA4C,UAAW,0BAA2B,UAAW,qCAAsC,UAAW,0BAA2B,UAAW,0CAA2C,UAAW,0BAA2B,UAAW,mCAAoC,UAAW,0BAA2B,UAAW,+BAAgC,UAAW,qBAAsB,UAAW,sCAAuC,UAAW,qBAAsB,UAAW,gCAAiC,UAAW,qBAAsB,UAAW,qCAAsC,UAAW,qBAAsB,UAAW,8BAA+B,UAAW,qBAAsB,UAAW,+BAAgC,UAAW,qBAAsB,UAAW,sCAAuC,UAAW,qBAAsB,UAAW,gCAAiC,UAAW,qBAAsB,UAAW,qCAAsC,UAAW,qBAAsB,UAAW,8BAA+B,UAAW,qBAAsB,UAAW,uCAAwC,UAAW,6BAA8B,UAAW,8CAA+C,UAAW,6BAA8B,UAAW,wCAAyC,UAAW,6BAA8B,UAAW,6CAA8C,UAAW,6BAA8B,UAAW,sCAAuC,UAAW,6BAA8B,UAAW,yCAA0C,UAAW,+BAAgC,UAAW,gDAAiD,UAAW,+BAAgC,UAAW,0CAA2C,UAAW,+BAAgC,UAAW,+CAAgD,UAAW,+BAAgC,UAAW,wCAAyC,UAAW,+BAAgC,UAAW,iCAAkC,UAAW,uBAAwB,UAAW,wCAAyC,UAAW,uBAAwB,UAAW,kCAAmC,UAAW,uBAAwB,UAAW,uCAAwC,UAAW,uBAAwB,UAAW,gCAAiC,UAAW,uBAAwB,UAAW,sCAAuC,UAAW,4BAA6B,UAAW,6CAA8C,UAAW,4BAA6B,UAAW,uCAAwC,UAAW,4BAA6B,UAAW,4CAA6C,UAAW,4BAA6B,UAAW,qCAAsC,UAAW,4BAA6B,UAAW,+CAAgD,UAAW,qCAAsC,UAAW,sDAAuD,UAAW,qCAAsC,UAAW,gDAAiD,UAAW,qCAAsC,UAAW,qDAAsD,UAAW,qCAAsC,UAAW,8CAA+C,UAAW,qCAAsC,UAAW,kDAAmD,UAAW,wCAAyC,UAAW,yDAA0D,UAAW,wCAAyC,UAAW,mDAAoD,UAAW,wCAAyC,UAAW,wDAAyD,UAAW,wCAAyC,UAAW,iDAAkD,UAAW,wCAAyC,UAAW,mCAAoC,UAAW,yBAA0B,UAAW,0CAA2C,UAAW,yBAA0B,UAAW,oCAAqC,UAAW,yBAA0B,UAAW,yCAA0C,UAAW,yBAA0B,UAAW,kCAAmC,UAAW,yBAA0B,UAAW,wCAAyC,UAAW,8BAA+B,UAAW,+CAAgD,UAAW,8BAA+B,UAAW,yCAA0C,UAAW,8BAA+B,UAAW,8CAA+C,UAAW,8BAA+B,UAAW,uCAAwC,UAAW,8BAA+B,UAAW,qCAAsC,UAAW,2BAA4B,UAAW,4CAA6C,UAAW,2BAA4B,UAAW,sCAAuC,UAAW,2BAA4B,UAAW,2CAA4C,UAAW,2BAA4B,UAAW,oCAAqC,UAAW,2BAA4B,UAAW,oCAAqC,UAAW,0BAA2B,UAAW,2CAA4C,UAAW,0BAA2B,UAAW,qCAAsC,UAAW,0BAA2B,UAAW,0CAA2C,UAAW,0BAA2B,UAAW,mCAAoC,UAAW,0BAA2B,UAAW,iCAAkC,UAAW,uBAAwB,UAAW,wCAAyC,UAAW,uBAAwB,UAAW,kCAAmC,UAAW,uBAAwB,UAAW,uCAAwC,UAAW,uBAAwB,UAAW,gCAAiC,UAAW,uBAAwB,UAAW,kCAAmC,UAAW,wBAAyB,UAAW,yCAA0C,UAAW,wBAAyB,UAAW,mCAAoC,UAAW,wBAAyB,UAAW,wCAAyC,UAAW,wBAAyB,UAAW,iCAAkC,UAAW,wBAAyB,UAAW,kCAAmC,UAAW,wBAAyB,UAAW,yCAA0C,UAAW,wBAAyB,UAAW,mCAAoC,UAAW,wBAAyB,UAAW,wCAAyC,UAAW,wBAAyB,UAAW,iCAAkC,UAAW,wBAAyB,UAAW,uCAAwC,UAAW,6BAA8B,UAAW,8CAA+C,UAAW,6BAA8B,UAAW,wCAAyC,UAAW,6BAA8B,UAAW,6CAA8C,UAAW,6BAA8B,UAAW,sCAAuC,UAAW,6BAA8B,UAAW,uCAAwC,UAAW,6BAA8B,UAAW,8CAA+C,UAAW,6BAA8B,UAAW,wCAAyC,UAAW,6BAA8B,UAAW,6CAA8C,UAAW,6BAA8B,UAAW,sCAAuC,UAAW,6BAA8B,UAAW,4CAA6C,UAAW,kCAAmC,UAAW,mDAAoD,UAAW,kCAAmC,UAAW,6CAA8C,UAAW,kCAAmC,UAAW,kDAAmD,UAAW,kCAAmC,UAAW,2CAA4C,UAAW,kCAAmC,UAAW,qCAAsC,UAAW,2BAA4B,UAAW,4CAA6C,UAAW,2BAA4B,UAAW,sCAAuC,UAAW,2BAA4B,UAAW,2CAA4C,UAAW,2BAA4B,UAAW,oCAAqC,UAAW,2BAA4B,UAAW,uCAAwC,UAAW,6BAA8B,UAAW,8CAA+C,UAAW,6BAA8B,UAAW,wCAAyC,UAAW,6BAA8B,UAAW,6CAA8C,UAAW,6BAA8B,UAAW,sCAAuC,UAAW,6BAA8B,UAAW,yBAA0B,WAAY,cAAe,WAAY,gCAAiC,WAAY,yBAA0B,WAAY,cAAe,WAAY,6BAA8B,UAAW,mBAAoB,UAAW,oCAAqC,UAAW,mBAAoB,UAAW,8BAA+B,UAAW,mBAAoB,UAAW,mCAAoC,UAAW,mBAAoB,UAAW,4BAA6B,UAAW,mBAAoB,UAAW,+BAAgC,UAAW,qBAAsB,UAAW,sCAAuC,UAAW,qBAAsB,UAAW,gCAAiC,UAAW,qBAAsB,UAAW,qCAAsC,UAAW,qBAAsB,UAAW,8BAA+B,UAAW,qBAAsB,UAAW,+BAAgC,UAAW,qBAAsB,UAAW,sCAAuC,UAAW,qBAAsB,UAAW,gCAAiC,UAAW,qBAAsB,UAAW,qCAAsC,UAAW,qBAAsB,UAAW,8BAA+B,UAAW,qBAAsB,UAAW,+BAAgC,UAAW,qBAAsB,UAAW,sCAAuC,UAAW,qBAAsB,UAAW,gCAAiC,UAAW,qBAAsB,UAAW,qCAAsC,UAAW,qBAAsB,UAAW,8BAA+B,UAAW,qBAAsB,UAAW,qCAAsC,UAAW,2BAA4B,UAAW,4CAA6C,UAAW,2BAA4B,UAAW,sCAAuC,UAAW,2BAA4B,UAAW,2CAA4C,UAAW,2BAA4B,UAAW,oCAAqC,UAAW,2BAA4B,UAAW,iCAAkC,UAAW,uBAAwB,UAAW,wCAAyC,UAAW,uBAAwB,UAAW,kCAAmC,UAAW,uBAAwB,UAAW,uCAAwC,UAAW,uBAAwB,UAAW,gCAAiC,UAAW,uBAAwB,UAAW,4CAA6C,UAAW,kCAAmC,UAAW,mDAAoD,UAAW,kCAAmC,UAAW,6CAA8C,UAAW,kCAAmC,UAAW,kDAAmD,UAAW,kCAAmC,UAAW,2CAA4C,UAAW,kCAAmC,UAAW,kCAAmC,WAAY,wBAAyB,WAAY,yCAA0C,WAAY,wBAAyB,WAAY,mCAAoC,WAAY,wBAAyB,WAAY,wCAAyC,WAAY,wBAAyB,WAAY,iCAAkC,WAAY,wBAAyB,WAAY,4BAA6B,UAAW,kBAAmB,UAAW,mCAAoC,UAAW,kBAAmB,UAAW,6BAA8B,UAAW,kBAAmB,UAAW,kCAAmC,UAAW,kBAAmB,UAAW,2BAA4B,UAAW,kBAAmB,UAAW,oCAAqC,UAAW,0BAA2B,UAAW,2CAA4C,UAAW,0BAA2B,UAAW,qCAAsC,UAAW,0BAA2B,UAAW,0CAA2C,UAAW,0BAA2B,UAAW,mCAAoC,UAAW,0BAA2B,UAAW,8BAA+B,UAAW,oBAAqB,UAAW,qCAAsC,UAAW,oBAAqB,UAAW,+BAAgC,UAAW,oBAAqB,UAAW,oCAAqC,UAAW,oBAAqB,UAAW,6BAA8B,UAAW,oBAAqB,UAAW,iCAAkC,UAAW,uBAAwB,UAAW,wCAAyC,UAAW,uBAAwB,UAAW,kCAAmC,UAAW,uBAAwB,UAAW,uCAAwC,UAAW,uBAAwB,UAAW,gCAAiC,UAAW,uBAAwB,UAAW,qCAAsC,UAAW,2BAA4B,UAAW,4CAA6C,UAAW,2BAA4B,UAAW,sCAAuC,UAAW,2BAA4B,UAAW,2CAA4C,UAAW,2BAA4B,UAAW,oCAAqC,UAAW,2BAA4B,UAAW,qCAAsC,UAAW,2BAA4B,UAAW,4CAA6C,UAAW,2BAA4B,UAAW,sCAAuC,UAAW,2BAA4B,UAAW,2CAA4C,UAAW,2BAA4B,UAAW,oCAAqC,UAAW,2BAA4B,UAAW,6CAA8C,UAAW,mCAAoC,UAAW,oDAAqD,UAAW,mCAAoC,UAAW,8CAA+C,UAAW,mCAAoC,UAAW,mDAAoD,UAAW,mCAAoC,UAAW,4CAA6C,UAAW,mCAAoC,UAAW,wCAAyC,UAAW,8BAA+B,UAAW,+CAAgD,UAAW,8BAA+B,UAAW,yCAA0C,UAAW,8BAA+B,UAAW,8CAA+C,UAAW,8BAA+B,UAAW,uCAAwC,UAAW,8BAA+B,UAAW,gCAAiC,WAAY,sBAAuB,WAAY,uCAAwC,WAAY,sBAAuB,WAAY,iCAAkC,WAAY,sBAAuB,WAAY,sCAAuC,WAAY,sBAAuB,WAAY,+BAAgC,WAAY,sBAAuB,WAAY,8BAA+B,UAAW,oBAAqB,UAAW,qCAAsC,UAAW,oBAAqB,UAAW,+BAAgC,UAAW,oBAAqB,UAAW,oCAAqC,UAAW,oBAAqB,UAAW,6BAA8B,UAAW,oBAAqB,UAAW,sCAAuC,UAAW,4BAA6B,UAAW,6CAA8C,UAAW,4BAA6B,UAAW,uCAAwC,UAAW,4BAA6B,UAAW,4CAA6C,UAAW,4BAA6B,UAAW,qCAAsC,UAAW,4BAA6B,UAAW,0CAA2C,UAAW,gCAAiC,UAAW,iDAAkD,UAAW,gCAAiC,UAAW,2CAA4C,UAAW,gCAAiC,UAAW,gDAAiD,UAAW,gCAAiC,UAAW,yCAA0C,UAAW,gCAAiC,UAAW,uCAAwC,UAAW,6BAA8B,UAAW,8CAA+C,UAAW,6BAA8B,UAAW,wCAAyC,UAAW,6BAA8B,UAAW,6CAA8C,UAAW,6BAA8B,UAAW,sCAAuC,UAAW,6BAA8B,UAAW,8BAA+B,UAAW,oBAAqB,UAAW,qCAAsC,UAAW,oBAAqB,UAAW,+BAAgC,UAAW,oBAAqB,UAAW,oCAAqC,UAAW,oBAAqB,UAAW,6BAA8B,UAAW,oBAAqB,UAAW,iCAAkC,UAAW,uBAAwB,UAAW,wCAAyC,UAAW,uBAAwB,UAAW,kCAAmC,UAAW,uBAAwB,UAAW,uCAAwC,UAAW,uBAAwB,UAAW,gCAAiC,UAAW,uBAAwB,UAAW,iCAAkC,UAAW,uBAAwB,UAAW,wCAAyC,UAAW,uBAAwB,UAAW,kCAAmC,UAAW,uBAAwB,UAAW,uCAAwC,UAAW,uBAAwB,UAAW,gCAAiC,UAAW,uBAAwB,UAAW,wCAAyC,WAAY,8BAA+B,WAAY,+CAAgD,WAAY,8BAA+B,WAAY,yCAA0C,WAAY,8BAA+B,WAAY,8CAA+C,WAAY,8BAA+B,WAAY,uCAAwC,WAAY,8BAA+B,WAAY,6BAA8B,UAAW,mBAAoB,UAAW,oCAAqC,UAAW,mBAAoB,UAAW,8BAA+B,UAAW,mBAAoB,UAAW,mCAAoC,UAAW,mBAAoB,UAAW,4BAA6B,UAAW,mBAAoB,UAAW,wCAAyC,UAAW,8BAA+B,UAAW,+CAAgD,UAAW,8BAA+B,UAAW,yCAA0C,UAAW,8BAA+B,UAAW,8CAA+C,UAAW,8BAA+B,UAAW,uCAAwC,UAAW,8BAA+B,UAAW,8BAA+B,UAAW,oBAAqB,UAAW,qCAAsC,UAAW,oBAAqB,UAAW,+BAAgC,UAAW,oBAAqB,UAAW,oCAAqC,UAAW,oBAAqB,UAAW,6BAA8B,UAAW,oBAAqB,UAAW,yCAA0C,UAAW,+BAAgC,UAAW,gDAAiD,UAAW,+BAAgC,UAAW,0CAA2C,UAAW,+BAAgC,UAAW,+CAAgD,UAAW,+BAAgC,UAAW,wCAAyC,UAAW,+BAAgC,UAAW,2CAA4C,UAAW,iCAAkC,UAAW,kDAAmD,UAAW,iCAAkC,UAAW,4CAA6C,UAAW,iCAAkC,UAAW,iDAAkD,UAAW,iCAAkC,UAAW,0CAA2C,UAAW,iCAAkC,UAAW,uCAAwC,UAAW,6BAA8B,UAAW,8CAA+C,UAAW,6BAA8B,UAAW,wCAAyC,UAAW,6BAA8B,UAAW,6CAA8C,UAAW,6BAA8B,UAAW,sCAAuC,UAAW,6BAA8B,UAAW,gCAAiC,UAAW,sBAAuB,UAAW,uCAAwC,UAAW,sBAAuB,UAAW,iCAAkC,UAAW,sBAAuB,UAAW,sCAAuC,UAAW,sBAAuB,UAAW,+BAAgC,UAAW,sBAAuB,UAAW,qCAAsC,UAAW,2BAA4B,UAAW,4CAA6C,UAAW,2BAA4B,UAAW,sCAAuC,UAAW,2BAA4B,UAAW,2CAA4C,UAAW,2BAA4B,UAAW,oCAAqC,UAAW,2BAA4B,UAAW,oCAAqC,UAAW,0BAA2B,UAAW,2CAA4C,UAAW,0BAA2B,UAAW,qCAAsC,UAAW,0BAA2B,UAAW,0CAA2C,UAAW,0BAA2B,UAAW,mCAAoC,UAAW,0BAA2B,UAAW,gCAAiC,UAAW,sBAAuB,UAAW,uCAAwC,UAAW,sBAAuB,UAAW,iCAAkC,UAAW,sBAAuB,UAAW,sCAAuC,UAAW,sBAAuB,UAAW,+BAAgC,UAAW,sBAAuB,UAAW,kCAAmC,UAAW,wBAAyB,UAAW,yCAA0C,UAAW,wBAAyB,UAAW,mCAAoC,UAAW,wBAAyB,UAAW,wCAAyC,UAAW,wBAAyB,UAAW,iCAAkC,UAAW,wBAAyB,UAAW,iCAAkC,UAAW,uBAAwB,UAAW,wCAAyC,UAAW,uBAAwB,UAAW,kCAAmC,UAAW,uBAAwB,UAAW,uCAAwC,UAAW,uBAAwB,UAAW,gCAAiC,UAAW,uBAAwB,UAAW,kCAAmC,UAAW,wBAAyB,UAAW,yCAA0C,UAAW,wBAAyB,UAAW,mCAAoC,UAAW,wBAAyB,UAAW,wCAAyC,UAAW,wBAAyB,UAAW,iCAAkC,UAAW,wBAAyB,UAAW,qCAAsC,UAAW,2BAA4B,UAAW,4CAA6C,UAAW,2BAA4B,UAAW,sCAAuC,UAAW,2BAA4B,UAAW,2CAA4C,UAAW,2BAA4B,UAAW,oCAAqC,UAAW,2BAA4B,UAAW,gCAAiC,UAAW,sBAAuB,UAAW,uCAAwC,UAAW,sBAAuB,UAAW,iCAAkC,UAAW,sBAAuB,UAAW,sCAAuC,UAAW,sBAAuB,UAAW,+BAAgC,UAAW,sBAAuB,UAAW,iCAAkC,UAAW,uBAAwB,UAAW,wCAAyC,UAAW,uBAAwB,UAAW,kCAAmC,UAAW,uBAAwB,UAAW,uCAAwC,UAAW,uBAAwB,UAAW,gCAAiC,UAAW,uBAAwB,UAAW,qCAAsC,UAAW,2BAA4B,UAAW,4CAA6C,UAAW,2BAA4B,UAAW,sCAAuC,UAAW,2BAA4B,UAAW,2CAA4C,UAAW,2BAA4B,UAAW,oCAAqC,UAAW,2BAA4B,UAAW,gCAAiC,UAAW,sBAAuB,UAAW,uCAAwC,UAAW,sBAAuB,UAAW,iCAAkC,UAAW,sBAAuB,UAAW,sCAAuC,UAAW,sBAAuB,UAAW,+BAAgC,UAAW,sBAAuB,UAAW,gCAAiC,UAAW,sBAAuB,UAAW,uCAAwC,UAAW,sBAAuB,UAAW,iCAAkC,UAAW,sBAAuB,UAAW,sCAAuC,UAAW,sBAAuB,UAAW,+BAAgC,UAAW,sBAAuB,UAAW,uCAAwC,UAAW,6BAA8B,UAAW,8CAA+C,UAAW,6BAA8B,UAAW,wCAAyC,UAAW,6BAA8B,UAAW,6CAA8C,UAAW,6BAA8B,UAAW,sCAAuC,UAAW,6BAA8B,UAAW,4BAA6B,UAAW,kBAAmB,UAAW,mCAAoC,UAAW,kBAAmB,UAAW,6BAA8B,UAAW,kBAAmB,UAAW,kCAAmC,UAAW,kBAAmB,UAAW,2BAA4B,UAAW,kBAAmB,UAAW,2BAA4B,UAAW,iBAAkB,UAAW,kCAAmC,UAAW,iBAAkB,UAAW,4BAA6B,UAAW,iBAAkB,UAAW,iCAAkC,UAAW,iBAAkB,UAAW,0BAA2B,UAAW,iBAAkB,UAAW,iCAAkC,UAAW,uBAAwB,UAAW,wCAAyC,UAAW,uBAAwB,UAAW,kCAAmC,UAAW,uBAAwB,UAAW,uCAAwC,UAAW,uBAAwB,UAAW,gCAAiC,UAAW,uBAAwB,UAAW,iCAAkC,UAAW,uBAAwB,UAAW,wCAAyC,UAAW,uBAAwB,UAAW,kCAAmC,UAAW,uBAAwB,UAAW,uCAAwC,UAAW,uBAAwB,UAAW,gCAAiC,UAAW,uBAAwB,UAAW,uCAAwC,UAAW,6BAA8B,UAAW,8CAA+C,UAAW,6BAA8B,UAAW,wCAAyC,UAAW,6BAA8B,UAAW,6CAA8C,UAAW,6BAA8B,UAAW,sCAAuC,UAAW,6BAA8B,UAAW,mCAAoC,UAAW,yBAA0B,UAAW,0CAA2C,UAAW,yBAA0B,UAAW,oCAAqC,UAAW,yBAA0B,UAAW,yCAA0C,UAAW,yBAA0B,UAAW,kCAAmC,UAAW,yBAA0B,UAAW,8CAA+C,UAAW,oCAAqC,UAAW,qDAAsD,UAAW,oCAAqC,UAAW,+CAAgD,UAAW,oCAAqC,UAAW,oDAAqD,UAAW,oCAAqC,UAAW,6CAA8C,UAAW,oCAAqC,UAAW,oCAAqC,WAAY,0BAA2B,WAAY,2CAA4C,WAAY,0BAA2B,WAAY,qCAAsC,WAAY,0BAA2B,WAAY,0CAA2C,WAAY,0BAA2B,WAAY,mCAAoC,WAAY,0BAA2B,WAAY,8BAA+B,UAAW,oBAAqB,UAAW,qCAAsC,UAAW,oBAAqB,UAAW,+BAAgC,UAAW,oBAAqB,UAAW,oCAAqC,UAAW,oBAAqB,UAAW,6BAA8B,UAAW,oBAAqB,UAAW,sCAAuC,UAAW,4BAA6B,UAAW,6CAA8C,UAAW,4BAA6B,UAAW,uCAAwC,UAAW,4BAA6B,UAAW,4CAA6C,UAAW,4BAA6B,UAAW,qCAAsC,UAAW,4BAA6B,UAAW,gCAAiC,UAAW,sBAAuB,UAAW,uCAAwC,UAAW,sBAAuB,UAAW,iCAAkC,UAAW,sBAAuB,UAAW,sCAAuC,UAAW,sBAAuB,UAAW,+BAAgC,UAAW,sBAAuB,UAAW,mCAAoC,UAAW,yBAA0B,UAAW,0CAA2C,UAAW,yBAA0B,UAAW,oCAAqC,UAAW,yBAA0B,UAAW,yCAA0C,UAAW,yBAA0B,UAAW,kCAAmC,UAAW,yBAA0B,UAAW,uCAAwC,UAAW,6BAA8B,UAAW,8CAA+C,UAAW,6BAA8B,UAAW,wCAAyC,UAAW,6BAA8B,UAAW,6CAA8C,UAAW,6BAA8B,UAAW,sCAAuC,UAAW,6BAA8B,UAAW,uCAAwC,UAAW,6BAA8B,UAAW,8CAA+C,UAAW,6BAA8B,UAAW,wCAAyC,UAAW,6BAA8B,UAAW,6CAA8C,UAAW,6BAA8B,UAAW,sCAAuC,UAAW,6BAA8B,UAAW,+CAAgD,UAAW,qCAAsC,UAAW,sDAAuD,UAAW,qCAAsC,UAAW,gDAAiD,UAAW,qCAAsC,UAAW,qDAAsD,UAAW,qCAAsC,UAAW,8CAA+C,UAAW,qCAAsC,UAAW,0CAA2C,UAAW,gCAAiC,UAAW,iDAAkD,UAAW,gCAAiC,UAAW,2CAA4C,UAAW,gCAAiC,UAAW,gDAAiD,UAAW,gCAAiC,UAAW,yCAA0C,UAAW,gCAAiC,UAAW,kCAAmC,WAAY,wBAAyB,WAAY,yCAA0C,WAAY,wBAAyB,WAAY,mCAAoC,WAAY,wBAAyB,WAAY,wCAAyC,WAAY,wBAAyB,WAAY,iCAAkC,WAAY,wBAAyB,WAAY,gCAAiC,UAAW,sBAAuB,UAAW,uCAAwC,UAAW,sBAAuB,UAAW,iCAAkC,UAAW,sBAAuB,UAAW,sCAAuC,UAAW,sBAAuB,UAAW,+BAAgC,UAAW,sBAAuB,UAAW,wCAAyC,UAAW,8BAA+B,UAAW,+CAAgD,UAAW,8BAA+B,UAAW,yCAA0C,UAAW,8BAA+B,UAAW,8CAA+C,UAAW,8BAA+B,UAAW,uCAAwC,UAAW,8BAA+B,UAAW,4CAA6C,UAAW,kCAAmC,UAAW,mDAAoD,UAAW,kCAAmC,UAAW,6CAA8C,UAAW,kCAAmC,UAAW,kDAAmD,UAAW,kCAAmC,UAAW,2CAA4C,UAAW,kCAAmC,UAAW,yCAA0C,UAAW,+BAAgC,UAAW,gDAAiD,UAAW,+BAAgC,UAAW,0CAA2C,UAAW,+BAAgC,UAAW,+CAAgD,UAAW,+BAAgC,UAAW,wCAAyC,UAAW,+BAAgC,UAAW,gCAAiC,UAAW,sBAAuB,UAAW,uCAAwC,UAAW,sBAAuB,UAAW,iCAAkC,UAAW,sBAAuB,UAAW,sCAAuC,UAAW,sBAAuB,UAAW,+BAAgC,UAAW,sBAAuB,UAAW,mCAAoC,UAAW,yBAA0B,UAAW,0CAA2C,UAAW,yBAA0B,UAAW,oCAAqC,UAAW,yBAA0B,UAAW,yCAA0C,UAAW,yBAA0B,UAAW,kCAAmC,UAAW,yBAA0B,UAAW,mCAAoC,UAAW,yBAA0B,UAAW,0CAA2C,UAAW,yBAA0B,UAAW,oCAAqC,UAAW,yBAA0B,UAAW,yCAA0C,UAAW,yBAA0B,UAAW,kCAAmC,UAAW,yBAA0B,UAAW,0CAA2C,WAAY,gCAAiC,WAAY,iDAAkD,WAAY,gCAAiC,WAAY,2CAA4C,WAAY,gCAAiC,WAAY,gDAAiD,WAAY,gCAAiC,WAAY,yCAA0C,WAAY,gCAAiC,WAAY,+BAAgC,UAAW,qBAAsB,UAAW,sCAAuC,UAAW,qBAAsB,UAAW,gCAAiC,UAAW,qBAAsB,UAAW,qCAAsC,UAAW,qBAAsB,UAAW,8BAA+B,UAAW,qBAAsB,UAAW,0CAA2C,UAAW,gCAAiC,UAAW,iDAAkD,UAAW,gCAAiC,UAAW,2CAA4C,UAAW,gCAAiC,UAAW,gDAAiD,UAAW,gCAAiC,UAAW,yCAA0C,UAAW,gCAAiC,UAAW,gCAAiC,UAAW,sBAAuB,UAAW,uCAAwC,UAAW,sBAAuB,UAAW,iCAAkC,UAAW,sBAAuB,UAAW,sCAAuC,UAAW,sBAAuB,UAAW,+BAAgC,UAAW,sBAAuB,UAAW,2CAA4C,UAAW,iCAAkC,UAAW,kDAAmD,UAAW,iCAAkC,UAAW,4CAA6C,UAAW,iCAAkC,UAAW,iDAAkD,UAAW,iCAAkC,UAAW,0CAA2C,UAAW,iCAAkC,UAAW,6CAA8C,UAAW,mCAAoC,UAAW,oDAAqD,UAAW,mCAAoC,UAAW,8CAA+C,UAAW,mCAAoC,UAAW,mDAAoD,UAAW,mCAAoC,UAAW,4CAA6C,UAAW,mCAAoC,UAAW,yCAA0C,UAAW,+BAAgC,UAAW,gDAAiD,UAAW,+BAAgC,UAAW,0CAA2C,UAAW,+BAAgC,UAAW,+CAAgD,UAAW,+BAAgC,UAAW,wCAAyC,UAAW,+BAAgC,UAAW,kCAAmC,UAAW,wBAAyB,UAAW,yCAA0C,UAAW,wBAAyB,UAAW,mCAAoC,UAAW,wBAAyB,UAAW,wCAAyC,UAAW,wBAAyB,UAAW,iCAAkC,UAAW,wBAAyB,UAAW,uCAAwC,UAAW,6BAA8B,UAAW,8CAA+C,UAAW,6BAA8B,UAAW,wCAAyC,UAAW,6BAA8B,UAAW,6CAA8C,UAAW,6BAA8B,UAAW,sCAAuC,UAAW,6BAA8B,UAAW,sCAAuC,UAAW,4BAA6B,UAAW,6CAA8C,UAAW,4BAA6B,UAAW,uCAAwC,UAAW,4BAA6B,UAAW,4CAA6C,UAAW,4BAA6B,UAAW,qCAAsC,UAAW,4BAA6B,UAAW,kCAAmC,UAAW,wBAAyB,UAAW,yCAA0C,UAAW,wBAAyB,UAAW,mCAAoC,UAAW,wBAAyB,UAAW,wCAAyC,UAAW,wBAAyB,UAAW,iCAAkC,UAAW,wBAAyB,UAAW,oCAAqC,UAAW,0BAA2B,UAAW,2CAA4C,UAAW,0BAA2B,UAAW,qCAAsC,UAAW,0BAA2B,UAAW,0CAA2C,UAAW,0BAA2B,UAAW,mCAAoC,UAAW,0BAA2B,UAAW,mCAAoC,UAAW,yBAA0B,UAAW,0CAA2C,UAAW,yBAA0B,UAAW,oCAAqC,UAAW,yBAA0B,UAAW,yCAA0C,UAAW,yBAA0B,UAAW,kCAAmC,UAAW,yBAA0B,UAAW,oCAAqC,UAAW,0BAA2B,UAAW,2CAA4C,UAAW,0BAA2B,UAAW,qCAAsC,UAAW,0BAA2B,UAAW,0CAA2C,UAAW,0BAA2B,UAAW,mCAAoC,UAAW,0BAA2B,UAAW,uCAAwC,UAAW,6BAA8B,UAAW,8CAA+C,UAAW,6BAA8B,UAAW,wCAAyC,UAAW,6BAA8B,UAAW,6CAA8C,UAAW,6BAA8B,UAAW,sCAAuC,UAAW,6BAA8B,UAAW,kCAAmC,UAAW,wBAAyB,UAAW,yCAA0C,UAAW,wBAAyB,UAAW,mCAAoC,UAAW,wBAAyB,UAAW,wCAAyC,UAAW,wBAAyB,UAAW,iCAAkC,UAAW,wBAAyB,UAAW,mCAAoC,UAAW,yBAA0B,UAAW,0CAA2C,UAAW,yBAA0B,UAAW,oCAAqC,UAAW,yBAA0B,UAAW,yCAA0C,UAAW,yBAA0B,UAAW,kCAAmC,UAAW,yBAA0B,UAAW,uCAAwC,UAAW,6BAA8B,UAAW,8CAA+C,UAAW,6BAA8B,UAAW,wCAAyC,UAAW,6BAA8B,UAAW,6CAA8C,UAAW,6BAA8B,UAAW,sCAAuC,UAAW,6BAA8B,UAAW,kCAAmC,UAAW,wBAAyB,UAAW,yCAA0C,UAAW,wBAAyB,UAAW,mCAAoC,UAAW,wBAAyB,UAAW,wCAAyC,UAAW,wBAAyB,UAAW,iCAAkC,UAAW,wBAAyB,UAAW,kCAAmC,UAAW,wBAAyB,UAAW,yCAA0C,UAAW,wBAAyB,UAAW,mCAAoC,UAAW,wBAAyB,UAAW,wCAAyC,UAAW,wBAAyB,UAAW,iCAAkC,UAAW,wBAAyB,UAAW,yCAA0C,UAAW,+BAAgC,UAAW,gDAAiD,UAAW,+BAAgC,UAAW,0CAA2C,UAAW,+BAAgC,UAAW,+CAAgD,UAAW,+BAAgC,UAAW,wCAAyC,UAAW,+BAAgC,UAAW,sCAAuC,UAAW,4BAA6B,UAAW,6CAA8C,UAAW,4BAA6B,UAAW,uCAAwC,UAAW,4BAA6B,UAAW,4CAA6C,UAAW,4BAA6B,UAAW,qCAAsC,UAAW,4BAA6B,UAAW,wCAAyC,UAAW,8BAA+B,UAAW,+CAAgD,UAAW,8BAA+B,UAAW,yCAA0C,UAAW,8BAA+B,UAAW,8CAA+C,UAAW,8BAA+B,UAAW,uCAAwC,UAAW,8BAA+B,UAAW,0BAA2B,OAAQ,gBAAiB,OAAQ,iCAAkC,OAAQ,gBAAiB,OAAQ,2BAA4B,OAAQ,gBAAiB,OAAQ,gCAAiC,OAAQ,gBAAiB,OAAQ,yBAA0B,OAAQ,gBAAiB,OAAQ,gBAAiB,OAAQ,gBAAiB,OAAQ,gBAAiB,OAAQ,gBAAiB,OAAQ,gBAAiB,OAAQ,eAAgB,OAAQ,eAAgB,OAAQ,eAAgB,OAAQ,eAAgB,OAAQ,eAAgB,OAAQ,eAAgB,OAAQ,eAAgB,OAAQ,eAAgB,OAAQ,eAAgB,OAAQ,eAAgB,OAAQ,mCAAoC,OAAQ,yBAA0B,OAAQ,0CAA2C,OAAQ,yBAA0B,OAAQ,oCAAqC,OAAQ,yBAA0B,OAAQ,yCAA0C,OAAQ,yBAA0B,OAAQ,kCAAmC,OAAQ,yBAA0B,OAAQ,iCAAkC,OAAQ,8BAA+B,OAAQ,iCAAkC,OAAQ,8BAA+B,OAAQ,iCAAkC,OAAQ,8BAA+B,OAAQ,iCAAkC,OAAQ,8BAA+B,OAAQ,iCAAkC,OAAQ,8BAA+B,OAAQ,cAAe,OAAQ,cAAe,OAAQ,cAAe,OAAQ,cAAe,OAAQ,cAAe,OAAQ,mCAAoC,OAAQ,yBAA0B,OAAQ,0CAA2C,OAAQ,yBAA0B,OAAQ,oCAAqC,OAAQ,yBAA0B,OAAQ,yCAA0C,OAAQ,yBAA0B,OAAQ,kCAAmC,OAAQ,yBAA0B,OAAQ,0BAA2B,OAAQ,0BAA2B,OAAQ,0BAA2B,OAAQ,0BAA2B,OAAQ,0BAA2B,OAAQ,uBAAwB,OAAQ,kBAAmB,OAAQ,uBAAwB,OAAQ,kBAAmB,OAAQ,uBAAwB,OAAQ,kBAAmB,OAAQ,uBAAwB,OAAQ,kBAAmB,OAAQ,uBAAwB,OAAQ,kBAAmB,OAAQ,0BAA2B,OAAQ,gBAAiB,OAAQ,iCAAkC,OAAQ,gBAAiB,OAAQ,2BAA4B,OAAQ,gBAAiB,OAAQ,gCAAiC,OAAQ,gBAAiB,OAAQ,yBAA0B,OAAQ,gBAAiB,OAAQ,eAAgB,OAAQ,eAAgB,OAAQ,eAAgB,OAAQ,eAAgB,OAAQ,eAAgB,OAAQ,8BAA+B,OAAQ,8BAA+B,OAAQ,8BAA+B,OAAQ,8BAA+B,OAAQ,8BAA+B,OAAQ,iBAAkB,OAAQ,iBAAkB,OAAQ,iBAAkB,OAAQ,iBAAkB,OAAQ,iBAAkB,OAAQ,gCAAiC,OAAQ,sBAAuB,OAAQ,uCAAwC,OAAQ,sBAAuB,OAAQ,iCAAkC,OAAQ,sBAAuB,OAAQ,sCAAuC,OAAQ,sBAAuB,OAAQ,+BAAgC,OAAQ,sBAAuB,OAAQ,cAAe,QAAS,wBAAyB,QAAS,oBAAqB,QAAS,cAAe,QAAS,wBAAyB,QAAS,oBAAqB,QAAS,cAAe,QAAS,wBAAyB,QAAS,oBAAqB,QAAS,cAAe,QAAS,wBAAyB,QAAS,oBAAqB,QAAS,cAAe,QAAS,wBAAyB,QAAS,oBAAqB,QAAS,cAAe,OAAQ,cAAe,OAAQ,cAAe,OAAQ,cAAe,OAAQ,cAAe,OAAQ,yCAA0C,OAAQ,+BAAgC,OAAQ,gDAAiD,OAAQ,+BAAgC,OAAQ,0CAA2C,OAAQ,+BAAgC,OAAQ,+CAAgD,OAAQ,+BAAgC,OAAQ,wCAAyC,OAAQ,+BAAgC,OAAQ,wBAAyB,OAAQ,cAAe,OAAQ,+BAAgC,OAAQ,cAAe,OAAQ,yBAA0B,OAAQ,cAAe,OAAQ,8BAA+B,OAAQ,cAAe,OAAQ,uBAAwB,OAAQ,cAAe,OAAQ,yBAA0B,UAAW,0BAA2B,OAAQ,gBAAiB,OAAQ,iCAAkC,OAAQ,gBAAiB,OAAQ,2BAA4B,OAAQ,gBAAiB,OAAQ,gCAAiC,OAAQ,gBAAiB,OAAQ,yBAA0B,OAAQ,gBAAiB,OAAQ,mBAAoB,QAAS,oBAAqB,QAAS,qBAAsB,QAAS,sBAAuB,QAAS,qDAAsD,OAAQ,0BAA2B,OAAQ,qDAAsD,OAAQ,0BAA2B,OAAQ,qDAAsD,OAAQ,0BAA2B,OAAQ,qDAAsD,OAAQ,0BAA2B,OAAQ,qDAAsD,OAAQ,0BAA2B,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,UAAW,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,UAAW,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,cAAe,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,YAAa,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,gBAAiB,OAAQ,UAAW,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,iBAAkB,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,WAAY,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ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AC3CzP,EAAO22C,IAAIhnB,OAAO,YAAa1Y,IAAKxH,OAAO,OAC3CzP,EAAO22C,IAAIhnB,OAAO,YAAa1Y,IAAKxH,OAAO,OAC3CzP,EAAO22C,IAAIhnB,OAAO,YAAa1Y,IAAKxH,OAAO,OAC3CzP,EAAO22C,IAAIhnB,OAAO,YAAa1Y,IAAKxH,OAAO,OAC3CzP,EAAO22C,IAAIhnB,OAAO,YAAa1Y,IAAKxH,OAAO,OAC3CzP,EAAO22C,IAAIhnB,OAAO,YAAa1Y,IAAKxH,OAAO,OAC3CzP,EAAO22C,IAAIhnB,OAAO,YAAa1Y,IAAKxH,OAAO,OAC3CzP,EAAO22C,IAAIhnB,OAAO,YAAa1Y,IAAKxH,OAAO,OAC3CzP,EAAO22C,IAAIhnB,OAAO,YAAa1Y,IAAKxH,OAAO,OAC3CzP,EAAO22C,IAAIhnB,OAAO,YAAa1Y,IAAKxH,OAAO,OAC3CzP,EAAO22C,IAAIhnB,OAAO,YAAa1Y,IAAKxH,OAAO,OAC3CzP,EAAO22C,IAAIhnB,OAAO,YAAa1Y,IAAKxH,OAAO,OAC3CzP,EAAO22C,IAAIhnB,OAAO,YAAa1Y,IAAKxH,OAAO,OAC3CzP,EAAO22C,IAAIhnB,OAAO,YAAa1Y,IAAKxH,OAAO,OAC3CzP,EAAO22C,IAAIhnB,OAAO,YAAa1Y,IAAKxH,OAAO,OAC3CzP,EAAO22C,IAAIhnB,OAAO,eAAgB1Y,IAAKxH,OAAO,UAC9CzP,EAAO22C,IAAIhnB,OAAO,YAAa1Y,IAAKxH,OAAO,OAC3CzP,EAAO22C,IAAIhnB,OAAO,YAAa1Y,IAAKxH,OAAO,OAC3CzP,EAAO22C,IAAIhnB,OAAO,YAAa1Y,IAAKxH,OAAO,OAC3CzP,EAAO22C,IAAIhnB,OAAO,YAAa1Y,IAAKxH,OAAO,OAC3CzP,EAAO22C,IAAIhnB,OAAO,eAAgB1Y,IAAKxH,OAAO,UAC9CzP,EAAO22C,IAAIhnB,OAAO,YAAa1Y,IAAKxH,OAAO,OAC3CzP,EAAO22C,IAAIhnB,OAAO,YAAa1Y,IAAKxH,OAAO,OAC3CzP,EAAO22C,IAAIhnB,OAAO,eAAgB1Y,IAAKxH,OAAO,UAC9CzP,EAAO22C,IAAIhnB,OAAO,eAAgB1Y,IAAKxH,OAAO,UAC9CzP,EAAO22C,IAAIhnB,OAAO,YAAa1Y,IAAKxH,OAAO,OAC3CzP,EAAO22C,IAAIhnB,OAAO,YAAa1Y,IAAKxH,OAAO,OAC3CzP,EAAO22C,IAAIhnB,OAAO,YAAa1Y,IAAKxH,OAAO,OAC3CzP,EAAO22C,IAAIhnB,OAAO,eAAgB1Y,IAAKxH,OAAO,UAC9CzP,EAAO22C,IAAIhnB,OAAO,eAAgB1Y,IAAKxH,OAAO,UAC9CzP,EAAO22C,IAAIhnB,OAAO,YAAa1Y,IAAKxH,OAAO,OAC3CzP,EAAO22C,IAAIhnB,OAAO,YAAa1Y,IAAKxH,OAAO,OAC3CzP,EAAO22C,IAAIhnB,OAAO,YAAa1Y,IAAKxH,OAAO,OAC3CzP,EAAO22C,IAAIhnB,OAAO,eAAgB1Y,IAAKxH,OAAO,UAC9CzP,EAAO22C,IAAIhnB,OAAO,YAAa1Y,IAAKxH,OAAO,OAC3CzP,EAAO22C,IAAIhnB,OAAO,eAAgB1Y,IAAKxH,OAAO,UAC9CzP,EAAO22C,IAAIhnB,OAAO,eAAgB1Y,IAAKxH,OAAO,UAC9CzP,EAAO22C,IAAIhnB,OAAO,iBAAkB1Y,IAAKxH,OAAO,aAGlCwH,MAAf,I,2CCpIAjX,EAAOC,QAAU,CAAC,oBAAoB,2BAA2B,6BAA6B,oCAAoC,oCAAoC,2CAA2C,qCAAqC,4CAA4C,qCAAqC,4CAA4C,4CAA4C,mDAAmD,6CAA6C,oDAAoD,cAAc,qBAAqB,uBAAuB,8BAA8B,SAAW,kBAAkB,kBAAoB,2BAA2B,8BAA8B,qCAAqC,2BAA2B","file":"63.chunk.f347d.js","sourcesContent":["\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"viewBox\":\"0 0 18 18\",\"xmlns\":\"http://www.w3.org/2000/svg\"},\"content\":\"<path d=\\\"M16.071 5L9 12.071 1.929 5\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" fill=\\\"none\\\"/>\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 20 20\"},\"content\":\"<path d=\\\"M6 6l8.071 8.071m0-8.071L6 14.071\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"square\\\" fill=\\\"none\\\"/>\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","var map = {\n\t\"./_lib/buildFormatLongFn/index.js\": 556,\n\t\"./_lib/buildLocalizeFn/index.js\": 557,\n\t\"./_lib/buildMatchFn/index.js\": 558,\n\t\"./_lib/buildMatchPatternFn/index.js\": 559,\n\t\"./af/_lib/formatDistance/index.js\": 824,\n\t\"./af/_lib/formatLong/index.js\": 825,\n\t\"./af/_lib/formatRelative/index.js\": 826,\n\t\"./af/_lib/localize/index.js\": 827,\n\t\"./af/_lib/match/index.js\": 828,\n\t\"./af/index.js\": 1213,\n\t\"./ar-DZ/_lib/formatDistance/index.js\": 829,\n\t\"./ar-DZ/_lib/formatLong/index.js\": 830,\n\t\"./ar-DZ/_lib/formatRelative/index.js\": 831,\n\t\"./ar-DZ/_lib/localize/index.js\": 832,\n\t\"./ar-DZ/_lib/match/index.js\": 833,\n\t\"./ar-DZ/index.js\": 1214,\n\t\"./ar-MA/_lib/formatDistance/index.js\": 834,\n\t\"./ar-MA/_lib/formatLong/index.js\": 835,\n\t\"./ar-MA/_lib/formatRelative/index.js\": 836,\n\t\"./ar-MA/_lib/localize/index.js\": 837,\n\t\"./ar-MA/_lib/match/index.js\": 838,\n\t\"./ar-MA/index.js\": 1215,\n\t\"./ar-SA/_lib/formatDistance/index.js\": 839,\n\t\"./ar-SA/_lib/formatLong/index.js\": 840,\n\t\"./ar-SA/_lib/formatRelative/index.js\": 841,\n\t\"./ar-SA/_lib/localize/index.js\": 842,\n\t\"./ar-SA/_lib/match/index.js\": 843,\n\t\"./ar-SA/index.js\": 1216,\n\t\"./az/_lib/formatDistance/index.js\": 844,\n\t\"./az/_lib/formatLong/index.js\": 845,\n\t\"./az/_lib/formatRelative/index.js\": 846,\n\t\"./az/_lib/localize/index.js\": 847,\n\t\"./az/_lib/match/index.js\": 848,\n\t\"./az/index.js\": 1217,\n\t\"./be/_lib/formatDistance/index.js\": 849,\n\t\"./be/_lib/formatLong/index.js\": 850,\n\t\"./be/_lib/formatRelative/index.js\": 851,\n\t\"./be/_lib/localize/index.js\": 852,\n\t\"./be/_lib/match/index.js\": 853,\n\t\"./be/index.js\": 1221,\n\t\"./bg/_lib/formatDistance/index.js\": 854,\n\t\"./bg/_lib/formatLong/index.js\": 855,\n\t\"./bg/_lib/formatRelative/index.js\": 856,\n\t\"./bg/_lib/localize/index.js\": 857,\n\t\"./bg/_lib/match/index.js\": 858,\n\t\"./bg/index.js\": 1222,\n\t\"./bn/_lib/formatDistance/index.js\": 859,\n\t\"./bn/_lib/formatLong/index.js\": 860,\n\t\"./bn/_lib/formatRelative/index.js\": 861,\n\t\"./bn/_lib/localize/index.js\": 779,\n\t\"./bn/_lib/match/index.js\": 862,\n\t\"./bn/index.js\": 1223,\n\t\"./ca/_lib/formatDistance/index.js\": 863,\n\t\"./ca/_lib/formatLong/index.js\": 864,\n\t\"./ca/_lib/formatRelative/index.js\": 865,\n\t\"./ca/_lib/localize/index.js\": 866,\n\t\"./ca/_lib/match/index.js\": 867,\n\t\"./ca/index.js\": 1224,\n\t\"./cs/_lib/formatDistance/index.js\": 868,\n\t\"./cs/_lib/formatLong/index.js\": 869,\n\t\"./cs/_lib/formatRelative/index.js\": 870,\n\t\"./cs/_lib/localize/index.js\": 871,\n\t\"./cs/_lib/match/index.js\": 872,\n\t\"./cs/index.js\": 1225,\n\t\"./cy/_lib/formatDistance/index.js\": 873,\n\t\"./cy/_lib/formatLong/index.js\": 874,\n\t\"./cy/_lib/formatRelative/index.js\": 875,\n\t\"./cy/_lib/localize/index.js\": 876,\n\t\"./cy/_lib/match/index.js\": 877,\n\t\"./cy/index.js\": 1226,\n\t\"./da/_lib/formatDistance/index.js\": 878,\n\t\"./da/_lib/formatLong/index.js\": 879,\n\t\"./da/_lib/formatRelative/index.js\": 880,\n\t\"./da/_lib/localize/index.js\": 881,\n\t\"./da/_lib/match/index.js\": 882,\n\t\"./da/index.js\": 1227,\n\t\"./de/_lib/formatDistance/index.js\": 883,\n\t\"./de/_lib/formatLong/index.js\": 884,\n\t\"./de/_lib/formatRelative/index.js\": 885,\n\t\"./de/_lib/localize/index.js\": 886,\n\t\"./de/_lib/match/index.js\": 887,\n\t\"./de/index.js\": 1228,\n\t\"./el/_lib/formatDistance/index.js\": 888,\n\t\"./el/_lib/formatLong/index.js\": 889,\n\t\"./el/_lib/formatRelative/index.js\": 890,\n\t\"./el/_lib/localize/index.js\": 891,\n\t\"./el/_lib/match/index.js\": 892,\n\t\"./el/index.js\": 1229,\n\t\"./en-AU/_lib/formatLong/index.js\": 893,\n\t\"./en-AU/index.js\": 1230,\n\t\"./en-CA/_lib/formatDistance/index.js\": 894,\n\t\"./en-CA/_lib/formatLong/index.js\": 895,\n\t\"./en-CA/index.js\": 1231,\n\t\"./en-GB/_lib/formatLong/index.js\": 896,\n\t\"./en-GB/index.js\": 1232,\n\t\"./en-IN/_lib/formatLong/index.js\": 897,\n\t\"./en-IN/index.js\": 1233,\n\t\"./en-NZ/_lib/formatLong/index.js\": 898,\n\t\"./en-NZ/index.js\": 1234,\n\t\"./en-US/_lib/formatDistance/index.js\": 611,\n\t\"./en-US/_lib/formatLong/index.js\": 899,\n\t\"./en-US/_lib/formatRelative/index.js\": 593,\n\t\"./en-US/_lib/localize/index.js\": 594,\n\t\"./en-US/_lib/match/index.js\": 595,\n\t\"./en-US/index.js\": 1235,\n\t\"./eo/_lib/formatDistance/index.js\": 900,\n\t\"./eo/_lib/formatLong/index.js\": 901,\n\t\"./eo/_lib/formatRelative/index.js\": 902,\n\t\"./eo/_lib/localize/index.js\": 903,\n\t\"./eo/_lib/match/index.js\": 904,\n\t\"./eo/index.js\": 1236,\n\t\"./es/_lib/formatDistance/index.js\": 905,\n\t\"./es/_lib/formatLong/index.js\": 906,\n\t\"./es/_lib/formatRelative/index.js\": 907,\n\t\"./es/_lib/localize/index.js\": 908,\n\t\"./es/_lib/match/index.js\": 909,\n\t\"./es/index.js\": 1237,\n\t\"./et/_lib/formatDistance/index.js\": 910,\n\t\"./et/_lib/formatLong/index.js\": 911,\n\t\"./et/_lib/formatRelative/index.js\": 912,\n\t\"./et/_lib/localize/index.js\": 913,\n\t\"./et/_lib/match/index.js\": 914,\n\t\"./et/index.js\": 1238,\n\t\"./eu/_lib/formatDistance/index.js\": 915,\n\t\"./eu/_lib/formatLong/index.js\": 916,\n\t\"./eu/_lib/formatRelative/index.js\": 917,\n\t\"./eu/_lib/localize/index.js\": 918,\n\t\"./eu/_lib/match/index.js\": 919,\n\t\"./eu/index.js\": 1239,\n\t\"./fa-IR/_lib/formatDistance/index.js\": 920,\n\t\"./fa-IR/_lib/formatLong/index.js\": 921,\n\t\"./fa-IR/_lib/formatRelative/index.js\": 922,\n\t\"./fa-IR/_lib/localize/index.js\": 923,\n\t\"./fa-IR/_lib/match/index.js\": 924,\n\t\"./fa-IR/index.js\": 1240,\n\t\"./fi/_lib/formatDistance/index.js\": 925,\n\t\"./fi/_lib/formatLong/index.js\": 926,\n\t\"./fi/_lib/formatRelative/index.js\": 927,\n\t\"./fi/_lib/localize/index.js\": 928,\n\t\"./fi/_lib/match/index.js\": 929,\n\t\"./fi/index.js\": 1241,\n\t\"./fr-CA/_lib/formatLong/index.js\": 930,\n\t\"./fr-CA/index.js\": 1242,\n\t\"./fr-CH/_lib/formatDistance/index.js\": 931,\n\t\"./fr-CH/_lib/formatLong/index.js\": 932,\n\t\"./fr-CH/_lib/formatRelative/index.js\": 933,\n\t\"./fr-CH/_lib/formatters/index.js\": 1243,\n\t\"./fr-CH/_lib/localize/index.js\": 934,\n\t\"./fr-CH/_lib/match/index.js\": 935,\n\t\"./fr-CH/index.js\": 1244,\n\t\"./fr/_lib/formatDistance/index.js\": 780,\n\t\"./fr/_lib/formatLong/index.js\": 936,\n\t\"./fr/_lib/formatRelative/index.js\": 781,\n\t\"./fr/_lib/formatters/index.js\": 1245,\n\t\"./fr/_lib/localize/index.js\": 782,\n\t\"./fr/_lib/match/index.js\": 783,\n\t\"./fr/index.js\": 1246,\n\t\"./gd/_lib/formatDistance/index.js\": 937,\n\t\"./gd/_lib/formatLong/index.js\": 938,\n\t\"./gd/_lib/formatRelative/index.js\": 939,\n\t\"./gd/_lib/localize/index.js\": 940,\n\t\"./gd/_lib/match/index.js\": 941,\n\t\"./gd/index.js\": 1247,\n\t\"./gl/_lib/formatDistance/index.js\": 942,\n\t\"./gl/_lib/formatLong/index.js\": 943,\n\t\"./gl/_lib/formatRelative/index.js\": 944,\n\t\"./gl/_lib/localize/index.js\": 945,\n\t\"./gl/_lib/match/index.js\": 946,\n\t\"./gl/index.js\": 1248,\n\t\"./gu/_lib/formatDistance/index.js\": 947,\n\t\"./gu/_lib/formatLong/index.js\": 948,\n\t\"./gu/_lib/formatRelative/index.js\": 949,\n\t\"./gu/_lib/localize/index.js\": 950,\n\t\"./gu/_lib/match/index.js\": 951,\n\t\"./gu/index.js\": 1249,\n\t\"./he/_lib/formatDistance/index.js\": 952,\n\t\"./he/_lib/formatLong/index.js\": 953,\n\t\"./he/_lib/formatRelative/index.js\": 954,\n\t\"./he/_lib/localize/index.js\": 955,\n\t\"./he/_lib/match/index.js\": 956,\n\t\"./he/index.js\": 1250,\n\t\"./hi/_lib/formatDistance/index.js\": 957,\n\t\"./hi/_lib/formatLong/index.js\": 958,\n\t\"./hi/_lib/formatRelative/index.js\": 959,\n\t\"./hi/_lib/localize/index.js\": 695,\n\t\"./hi/_lib/match/index.js\": 960,\n\t\"./hi/index.js\": 1251,\n\t\"./hr/_lib/formatDistance/index.js\": 961,\n\t\"./hr/_lib/formatLong/index.js\": 962,\n\t\"./hr/_lib/formatRelative/index.js\": 963,\n\t\"./hr/_lib/localize/index.js\": 964,\n\t\"./hr/_lib/match/index.js\": 965,\n\t\"./hr/index.js\": 1252,\n\t\"./hu/_lib/formatDistance/index.js\": 966,\n\t\"./hu/_lib/formatLong/index.js\": 967,\n\t\"./hu/_lib/formatRelative/index.js\": 968,\n\t\"./hu/_lib/localize/index.js\": 969,\n\t\"./hu/_lib/match/index.js\": 970,\n\t\"./hu/index.js\": 1253,\n\t\"./hy/_lib/formatDistance/index.js\": 971,\n\t\"./hy/_lib/formatLong/index.js\": 972,\n\t\"./hy/_lib/formatRelative/index.js\": 973,\n\t\"./hy/_lib/localize/index.js\": 974,\n\t\"./hy/_lib/match/index.js\": 975,\n\t\"./hy/index.js\": 1254,\n\t\"./id/_lib/formatDistance/index.js\": 976,\n\t\"./id/_lib/formatLong/index.js\": 977,\n\t\"./id/_lib/formatRelative/index.js\": 978,\n\t\"./id/_lib/localize/index.js\": 979,\n\t\"./id/_lib/match/index.js\": 980,\n\t\"./id/index.js\": 1255,\n\t\"./is/_lib/formatDistance/index.js\": 981,\n\t\"./is/_lib/formatLong/index.js\": 982,\n\t\"./is/_lib/formatRelative/index.js\": 983,\n\t\"./is/_lib/localize/index.js\": 984,\n\t\"./is/_lib/match/index.js\": 985,\n\t\"./is/index.js\": 1256,\n\t\"./it/_lib/formatDistance/index.js\": 986,\n\t\"./it/_lib/formatLong/index.js\": 987,\n\t\"./it/_lib/formatRelative/index.js\": 988,\n\t\"./it/_lib/localize/index.js\": 989,\n\t\"./it/_lib/match/index.js\": 990,\n\t\"./it/index.js\": 1257,\n\t\"./ja/_lib/formatDistance/index.js\": 991,\n\t\"./ja/_lib/formatLong/index.js\": 992,\n\t\"./ja/_lib/formatRelative/index.js\": 993,\n\t\"./ja/_lib/localize/index.js\": 994,\n\t\"./ja/_lib/match/index.js\": 995,\n\t\"./ja/index.js\": 1258,\n\t\"./ka/_lib/formatDistance/index.js\": 996,\n\t\"./ka/_lib/formatLong/index.js\": 997,\n\t\"./ka/_lib/formatRelative/index.js\": 998,\n\t\"./ka/_lib/localize/index.js\": 999,\n\t\"./ka/_lib/match/index.js\": 1000,\n\t\"./ka/index.js\": 1259,\n\t\"./kk/_lib/formatDistance/index.js\": 1001,\n\t\"./kk/_lib/formatLong/index.js\": 1002,\n\t\"./kk/_lib/formatRelative/index.js\": 1003,\n\t\"./kk/_lib/localize/index.js\": 1004,\n\t\"./kk/_lib/match/index.js\": 1005,\n\t\"./kk/index.js\": 1260,\n\t\"./kn/_lib/formatDistance/index.js\": 1006,\n\t\"./kn/_lib/formatLong/index.js\": 1007,\n\t\"./kn/_lib/formatRelative/index.js\": 1008,\n\t\"./kn/_lib/localize/index.js\": 1009,\n\t\"./kn/_lib/match/index.js\": 1010,\n\t\"./kn/index.js\": 1261,\n\t\"./ko/_lib/formatDistance/index.js\": 1011,\n\t\"./ko/_lib/formatLong/index.js\": 1012,\n\t\"./ko/_lib/formatRelative/index.js\": 1013,\n\t\"./ko/_lib/localize/index.js\": 1014,\n\t\"./ko/_lib/match/index.js\": 1015,\n\t\"./ko/index.js\": 1262,\n\t\"./lt/_lib/formatDistance/index.js\": 1016,\n\t\"./lt/_lib/formatLong/index.js\": 1017,\n\t\"./lt/_lib/formatRelative/index.js\": 1018,\n\t\"./lt/_lib/localize/index.js\": 1019,\n\t\"./lt/_lib/match/index.js\": 1020,\n\t\"./lt/index.js\": 1263,\n\t\"./lv/_lib/formatDistance/index.js\": 1021,\n\t\"./lv/_lib/formatLong/index.js\": 1022,\n\t\"./lv/_lib/formatRelative/index.js\": 1023,\n\t\"./lv/_lib/localize/index.js\": 1024,\n\t\"./lv/_lib/match/index.js\": 1025,\n\t\"./lv/index.js\": 1264,\n\t\"./mk/_lib/formatDistance/index.js\": 1026,\n\t\"./mk/_lib/formatLong/index.js\": 1027,\n\t\"./mk/_lib/formatRelative/index.js\": 1028,\n\t\"./mk/_lib/localize/index.js\": 1029,\n\t\"./mk/_lib/match/index.js\": 1030,\n\t\"./mk/index.js\": 1265,\n\t\"./ms/_lib/formatDistance/index.js\": 1031,\n\t\"./ms/_lib/formatLong/index.js\": 1032,\n\t\"./ms/_lib/formatRelative/index.js\": 1033,\n\t\"./ms/_lib/localize/index.js\": 1034,\n\t\"./ms/_lib/match/index.js\": 1035,\n\t\"./ms/index.js\": 1266,\n\t\"./mt/_lib/formatDistance/index.js\": 1036,\n\t\"./mt/_lib/formatLong/index.js\": 1037,\n\t\"./mt/_lib/formatRelative/index.js\": 1038,\n\t\"./mt/_lib/localize/index.js\": 1039,\n\t\"./mt/_lib/match/index.js\": 1040,\n\t\"./mt/index.js\": 1267,\n\t\"./nb/_lib/formatDistance/index.js\": 1041,\n\t\"./nb/_lib/formatLong/index.js\": 1042,\n\t\"./nb/_lib/formatRelative/index.js\": 1043,\n\t\"./nb/_lib/localize/index.js\": 1044,\n\t\"./nb/_lib/match/index.js\": 1045,\n\t\"./nb/index.js\": 1268,\n\t\"./nl-BE/_lib/formatDistance/index.js\": 1046,\n\t\"./nl-BE/_lib/formatLong/index.js\": 1047,\n\t\"./nl-BE/_lib/formatRelative/index.js\": 1048,\n\t\"./nl-BE/_lib/localize/index.js\": 1049,\n\t\"./nl-BE/_lib/match/index.js\": 1050,\n\t\"./nl-BE/index.js\": 1269,\n\t\"./nl/_lib/formatDistance/index.js\": 1051,\n\t\"./nl/_lib/formatLong/index.js\": 1052,\n\t\"./nl/_lib/formatRelative/index.js\": 1053,\n\t\"./nl/_lib/localize/index.js\": 1054,\n\t\"./nl/_lib/match/index.js\": 1055,\n\t\"./nl/index.js\": 1270,\n\t\"./nn/_lib/formatDistance/index.js\": 1056,\n\t\"./nn/_lib/formatLong/index.js\": 1057,\n\t\"./nn/_lib/formatRelative/index.js\": 1058,\n\t\"./nn/_lib/localize/index.js\": 1059,\n\t\"./nn/_lib/match/index.js\": 1060,\n\t\"./nn/index.js\": 1271,\n\t\"./pl/_lib/formatDistance/index.js\": 1061,\n\t\"./pl/_lib/formatLong/index.js\": 1062,\n\t\"./pl/_lib/formatRelative/index.js\": 1063,\n\t\"./pl/_lib/localize/index.js\": 1064,\n\t\"./pl/_lib/match/index.js\": 1065,\n\t\"./pl/index.js\": 1272,\n\t\"./pt-BR/_lib/formatDistance/index.js\": 1066,\n\t\"./pt-BR/_lib/formatLong/index.js\": 1067,\n\t\"./pt-BR/_lib/formatRelative/index.js\": 1068,\n\t\"./pt-BR/_lib/localize/index.js\": 1069,\n\t\"./pt-BR/_lib/match/index.js\": 1070,\n\t\"./pt-BR/index.js\": 1273,\n\t\"./pt/_lib/formatDistance/index.js\": 1071,\n\t\"./pt/_lib/formatLong/index.js\": 1072,\n\t\"./pt/_lib/formatRelative/index.js\": 1073,\n\t\"./pt/_lib/localize/index.js\": 1074,\n\t\"./pt/_lib/match/index.js\": 1075,\n\t\"./pt/index.js\": 1274,\n\t\"./ro/_lib/formatDistance/index.js\": 1076,\n\t\"./ro/_lib/formatLong/index.js\": 1077,\n\t\"./ro/_lib/formatRelative/index.js\": 1078,\n\t\"./ro/_lib/localize/index.js\": 1079,\n\t\"./ro/_lib/match/index.js\": 1080,\n\t\"./ro/index.js\": 1275,\n\t\"./ru/_lib/formatDistance/index.js\": 1081,\n\t\"./ru/_lib/formatLong/index.js\": 1082,\n\t\"./ru/_lib/formatRelative/index.js\": 1083,\n\t\"./ru/_lib/localize/index.js\": 1084,\n\t\"./ru/_lib/match/index.js\": 1085,\n\t\"./ru/index.js\": 1276,\n\t\"./sk/_lib/formatDistance/index.js\": 1086,\n\t\"./sk/_lib/formatLong/index.js\": 1087,\n\t\"./sk/_lib/formatRelative/index.js\": 1088,\n\t\"./sk/_lib/localize/index.js\": 1089,\n\t\"./sk/_lib/match/index.js\": 1090,\n\t\"./sk/index.js\": 1277,\n\t\"./sl/_lib/formatDistance/index.js\": 1091,\n\t\"./sl/_lib/formatLong/index.js\": 1092,\n\t\"./sl/_lib/formatRelative/index.js\": 1093,\n\t\"./sl/_lib/localize/index.js\": 1094,\n\t\"./sl/_lib/match/index.js\": 1095,\n\t\"./sl/index.js\": 1278,\n\t\"./sr-Latn/_lib/formatDistance/index.js\": 1096,\n\t\"./sr-Latn/_lib/formatLong/index.js\": 1097,\n\t\"./sr-Latn/_lib/formatRelative/index.js\": 1098,\n\t\"./sr-Latn/_lib/localize/index.js\": 1099,\n\t\"./sr-Latn/_lib/match/index.js\": 1100,\n\t\"./sr-Latn/index.js\": 1279,\n\t\"./sr/_lib/formatDistance/index.js\": 1101,\n\t\"./sr/_lib/formatLong/index.js\": 1102,\n\t\"./sr/_lib/formatRelative/index.js\": 1103,\n\t\"./sr/_lib/localize/index.js\": 1104,\n\t\"./sr/_lib/match/index.js\": 1105,\n\t\"./sr/index.js\": 1280,\n\t\"./sv/_lib/formatDistance/index.js\": 1106,\n\t\"./sv/_lib/formatLong/index.js\": 1107,\n\t\"./sv/_lib/formatRelative/index.js\": 1108,\n\t\"./sv/_lib/localize/index.js\": 1109,\n\t\"./sv/_lib/match/index.js\": 1110,\n\t\"./sv/index.js\": 1281,\n\t\"./ta/_lib/formatDistance/index.js\": 1111,\n\t\"./ta/_lib/formatLong/index.js\": 1112,\n\t\"./ta/_lib/formatRelative/index.js\": 1113,\n\t\"./ta/_lib/localize/index.js\": 1114,\n\t\"./ta/_lib/match/index.js\": 1115,\n\t\"./ta/index.js\": 1282,\n\t\"./te/_lib/formatDistance/index.js\": 1116,\n\t\"./te/_lib/formatLong/index.js\": 1117,\n\t\"./te/_lib/formatRelative/index.js\": 1118,\n\t\"./te/_lib/localize/index.js\": 1119,\n\t\"./te/_lib/match/index.js\": 1120,\n\t\"./te/index.js\": 1283,\n\t\"./th/_lib/formatDistance/index.js\": 1121,\n\t\"./th/_lib/formatLong/index.js\": 1122,\n\t\"./th/_lib/formatRelative/index.js\": 1123,\n\t\"./th/_lib/localize/index.js\": 1124,\n\t\"./th/_lib/match/index.js\": 1125,\n\t\"./th/index.js\": 1284,\n\t\"./tr/_lib/formatDistance/index.js\": 1126,\n\t\"./tr/_lib/formatLong/index.js\": 1127,\n\t\"./tr/_lib/formatRelative/index.js\": 1128,\n\t\"./tr/_lib/localize/index.js\": 1129,\n\t\"./tr/_lib/match/index.js\": 1130,\n\t\"./tr/index.js\": 1285,\n\t\"./ug/_lib/formatDistance/index.js\": 1131,\n\t\"./ug/_lib/formatLong/index.js\": 1132,\n\t\"./ug/_lib/formatRelative/index.js\": 1133,\n\t\"./ug/_lib/localize/index.js\": 1134,\n\t\"./ug/_lib/match/index.js\": 1135,\n\t\"./ug/index.js\": 1286,\n\t\"./uk/_lib/formatDistance/index.js\": 1136,\n\t\"./uk/_lib/formatLong/index.js\": 1137,\n\t\"./uk/_lib/formatRelative/index.js\": 1138,\n\t\"./uk/_lib/localize/index.js\": 1139,\n\t\"./uk/_lib/match/index.js\": 1140,\n\t\"./uk/index.js\": 1287,\n\t\"./uz/_lib/formatDistance/index.js\": 1141,\n\t\"./uz/_lib/formatLong/index.js\": 1142,\n\t\"./uz/_lib/formatRelative/index.js\": 1143,\n\t\"./uz/_lib/localize/index.js\": 1144,\n\t\"./uz/_lib/match/index.js\": 1145,\n\t\"./uz/index.js\": 1288,\n\t\"./vi/_lib/formatDistance/index.js\": 1146,\n\t\"./vi/_lib/formatLong/index.js\": 1147,\n\t\"./vi/_lib/formatRelative/index.js\": 1148,\n\t\"./vi/_lib/localize/index.js\": 1149,\n\t\"./vi/_lib/match/index.js\": 1150,\n\t\"./vi/index.js\": 1289,\n\t\"./zh-CN/_lib/formatDistance/index.js\": 1151,\n\t\"./zh-CN/_lib/formatLong/index.js\": 1152,\n\t\"./zh-CN/_lib/formatRelative/index.js\": 1153,\n\t\"./zh-CN/_lib/localize/index.js\": 1154,\n\t\"./zh-CN/_lib/match/index.js\": 1155,\n\t\"./zh-CN/index.js\": 1290,\n\t\"./zh-TW/_lib/formatDistance/index.js\": 1156,\n\t\"./zh-TW/_lib/formatLong/index.js\": 1157,\n\t\"./zh-TW/_lib/formatRelative/index.js\": 1158,\n\t\"./zh-TW/_lib/localize/index.js\": 1159,\n\t\"./zh-TW/_lib/match/index.js\": 1160,\n\t\"./zh-TW/index.js\": 1291\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 1212;","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button\":\"button__3e1dX\",\"button--nude\":\"button--nude__oLLi8\",\"button--outline\":\"button--outline__3jYhl\",\"button--loading\":\"button--loading__1OpgK\",\"button--danger\":\"button--danger__Iy_nb\",\"button--secondary\":\"button--secondary__2llNV\",\"button--img\":\"button--img__2ISo-\",\"button--stack\":\"button--stack__DpWG_\",\"button--small\":\"button--small__3Ekpu\",\"button--disabled\":\"button--disabled__138mI\",\"button-loading-rotation\":\"button-loading-rotation__3syhb\",\"button--icon\":\"button--icon__3a2Uu\",\"button__badge\":\"button__badge__A7TBZ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button-group\":\"button-group__2wVZy\",\"button-group__item\":\"button-group__item__35pYh\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"modal__overlay\":\"modal__overlay__1IgTH\",\"modal\":\"modal__Gy54_\",\"modal--animated\":\"modal--animated__2je9C\",\"fadeInUp\":\"fadeInUp__2U9Hr\",\"modal__message\":\"modal__message__ZU6Zd\"};","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"xmlns\":\"http://www.w3.org/2000/svg\",\"version\":\"1.0\",\"width\":\"357.333\",\"height\":\"330.667\",\"viewBox\":\"0 0 268 248\"},\"content\":\"<path d=\\\"M83.2 30.6C63.1 36 45.6 48.6 39.8 62c-5.4 12.4-4.2 22.7 4.7 40.7 15.4 31 45.7 68.1 74 90.7 24.2 19.3 54.3 36.9 67.9 39.6 22.2 4.5 43.2-12.8 52.5-43.4 3.7-12 2.6-19.5-3.8-24.9-1.7-1.4-11.9-6.9-22.8-12.2-26.7-13.2-27.7-13.2-43-3.5l-5.3 3.3-5.6-3.7c-6.6-4.4-27.7-24.6-33.2-31.9-8-10.5-7.8-9.2-2.2-18.7 7.5-12.7 7.4-13.5-5.1-39.5-5.5-11.6-11.2-22.3-12.7-23.9-5.3-5.6-11.8-6.8-22-4zm17.3 35c4.7 9.7 8.5 18 8.5 18.5s-1.5 3.2-3.3 6.1c-1.8 2.9-3.8 6.6-4.5 8.1-1.8 4.1-1.4 12.6.7 17.2 6.4 13.9 37.3 44.9 52.5 52.7 7.5 3.8 18.6 1.9 27.3-4.8 4.1-3.1 3.2-3.3 25.6 7.7l14.9 7.3-.6 3.5c-.9 5.7-8.1 19.6-12.7 24.6-9.6 10.4-15.8 10.8-33.1 2.2-28-14-59.9-39.5-80.6-64.6-25.7-31-41.6-59.3-39.5-70.4 1.7-9.2 11.8-17.9 27.1-23.3 3.7-1.3 7.3-2.4 8-2.4.6 0 5 7.9 9.7 17.6z\\\" fill=\\\"currentColor\\\"/>\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"viewBox\":\"0 0 32 32\",\"xmlns\":\"http://www.w3.org/2000/svg\"},\"content\":\"<path d=\\\"M25.035 20.55c.702.241 1.592.08 2.107-.642.7-.984 1.406-2.52 1.528-4.05.063-.777-.021-1.605-.386-2.365-.373-.778-1.01-1.418-1.929-1.837-1.724-.787-3.932-1.258-5.856-1.536-1.936-.279-3.672-.374-4.499-.374v1.952c.725 0 2.367.087 4.22.355 1.865.269 3.855.708 5.325 1.38.523.238.813.558.979.905.175.364.244.824.2 1.363-.084 1.058-.585 2.212-1.11 2.983l-3.98-1.37a.064.064 0 01-.016-.015.199.199 0 01-.034-.094 6.181 6.181 0 00-.238-1.164c-.119-.369-.322-.839-.696-1.181-.327-.298-.785-.442-1.11-.525a9.404 9.404 0 00-1.217-.21A21.831 21.831 0 0016 13.997v1.953c.528 0 1.354.029 2.1.115.375.043.705.097.958.162.17.043.256.08.286.092l.003.001c.025.037.08.13.14.317.074.23.126.511.158.79.083.728.55 1.457 1.352 1.733l4.038 1.39zm-18.07 0c-.702.241-1.592.08-2.107-.643-.7-.983-1.406-2.519-1.528-4.05-.063-.776.021-1.604.386-2.364.373-.778 1.01-1.418 1.929-1.837 1.724-.787 3.932-1.258 5.856-1.536 1.936-.279 3.672-.374 4.499-.374v1.952c-.725 0-2.367.087-4.22.354-1.865.27-3.855.71-5.325 1.38-.523.239-.813.56-.98.905-.174.364-.243.825-.2 1.364.085 1.058.586 2.212 1.11 2.983l3.982-1.37a.06.06 0 00.015-.015.199.199 0 00.034-.094c.04-.355.112-.771.238-1.164.119-.37.321-.839.696-1.181.327-.298.785-.442 1.11-.525a9.407 9.407 0 011.216-.21c.84-.096 1.743-.128 2.324-.128v1.953c-.528 0-1.354.029-2.1.115a7.511 7.511 0 00-.958.162c-.17.043-.256.08-.286.092l-.003.001c-.025.037-.08.13-.14.317-.074.23-.126.511-.158.79-.083.728-.55 1.456-1.353 1.733l-4.037 1.39z\\\" fill=\\\"currentColor\\\" fill-rule=\\\"evenodd\\\"/>\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"avatar\":\"avatar__GFJvS\",\"avatar__image\":\"avatar__image__1eLmO\",\"avatar__status\":\"avatar__status__Wsps9\",\"avatar__status--small\":\"avatar__status--small__1rB0Q\",\"avatar__status--large\":\"avatar__status--large__1XQtY\",\"avatar__status--status-online\":\"avatar__status--status-online__15xk6\",\"avatar__status--status-away\":\"avatar__status--status-away__JIVRl\",\"avatar__status--status-busy\":\"avatar__status--status-busy__2Zv0K\",\"avatar--nobg\":\"avatar--nobg__1Xmft\",\"avatar--small\":\"avatar--small__2-TCM\",\"avatar--large\":\"avatar--large__3MrZD\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"composer\":\"composer__27x96\",\"composer__input\":\"composer__input___Cggy\",\"composer--connecting\":\"composer--connecting__3MFFw\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"composer__action\":\"composer__action__2ZuQd\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"composer__actions\":\"composer__actions__3eA8B\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"drop\":\"drop__6UUiL\",\"drop--overlayed\":\"drop--overlayed__JT4ny\",\"drop--dragover\":\"drop--dragover__2EYfW\",\"fadein\":\"fadein__1UAhl\",\"drop__input\":\"drop__input__2o6so\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"popover__overlay\":\"popover__overlay__2FLro\",\"popover__overlay--visible\":\"popover__overlay--visible__220hl\",\"popover__container\":\"popover__container__1sbvl\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"menu\":\"menu__14x2m\",\"menu__group\":\"menu__group__cJiQf\",\"menu__group-title\":\"menu__group-title__2LjPN\",\"menu__item\":\"menu__item__1wXnR\",\"menu__item--primary\":\"menu__item--primary__3jawX\",\"menu__item--danger\":\"menu__item--danger__10H3r\",\"menu__item--disabled\":\"menu__item--disabled__31ezP\",\"menu__item__icon\":\"menu__item__icon__sTZTu\",\"menu--hidden\":\"menu--hidden__3uGW9\",\"menu--placement\":\"menu--placement__3ylkS\",\"menu--placement-left-top\":\"menu--placement-left-top__2kTUb\",\"menu--placement-right-top\":\"menu--placement-right-top__10AnG\",\"menu--placement-right-bottom\":\"menu--placement-right-bottom__12XOK\",\"menu--placement-left-bottom\":\"menu--placement-left-bottom__2-Hou\",\"popover-menu__overlay\":\"popover-menu__overlay__3VEFt\"};","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"viewBox\":\"0 0 1500 272\",\"xmlns\":\"http://www.w3.org/2000/svg\"},\"content\":\"<g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><path class=\\\"text\\\" d=\\\"M461.588 132.646c0 15.237-5.687 25.243-16.607 30.016l15.699 59.582c.681 2.734-.681 4.092-3.186 4.092h-23.663c-2.274 0-3.41-1.135-3.867-3.184l-15.244-57.76h-15.699v57.31c0 2.276-1.362 3.634-3.64 3.634h-23.663c-2.274 0-3.64-1.365-3.64-3.634V48.052c0-2.273 1.366-3.638 3.64-3.638h57.107c21.385 0 32.763 11.372 32.763 32.746v55.49zm-40.043 2.727c5.914 0 9.1-3.184 9.1-9.095V83.525c0-5.911-3.186-9.092-9.1-9.092h-22.524v60.943l22.524-.004zm58.235-58.217c0-21.375 11.374-32.746 32.763-32.746h25.483c21.385 0 32.763 11.372 32.763 32.746v116.43c0 21.371-11.377 32.743-32.763 32.743h-25.483c-21.389 0-32.763-11.372-32.763-32.743V77.156zm52.555 119.84c5.914 0 9.1-2.957 9.1-9.095V82.84c0-5.911-3.186-9.095-9.1-9.095h-13.194c-5.914 0-9.1 3.184-9.1 9.095V187.9c0 6.134 3.186 9.091 9.1 9.091h13.194zm152.425-95.281c0 2.276-1.366 3.638-3.636 3.638h-22.751c-2.505 0-3.64-1.361-3.64-3.638v-18.19c0-5.911-3.183-9.092-9.097-9.092h-11.832c-6.14 0-9.1 3.181-9.1 9.092v103.7c0 6.138 3.183 9.088 9.1 9.088h11.832c5.914 0 9.097-2.954 9.097-9.088v-18.198c0-2.276 1.135-3.638 3.64-3.638h22.75c2.282 0 3.637 1.361 3.637 3.638v24.562c0 21.371-11.604 32.743-32.759 32.743h-25.483c-21.385 0-32.99-11.372-32.99-32.743V77.149c0-21.375 11.604-32.746 32.99-32.746h25.483c21.158 0 32.759 11.372 32.759 32.746v24.559zm96 124.618c-2.735 0-4.321-1.135-5.236-3.408l-28.662-67.542-8.423 16.148v50.253c0 2.958-1.589 4.55-4.548 4.55h-21.843c-2.958 0-4.551-1.592-4.551-4.55V48.954c0-2.953 1.593-4.549 4.551-4.549h21.843c2.956 0 4.548 1.592 4.548 4.55v70.495l35.037-71.634c1.14-2.273 2.736-3.41 5.237-3.41H802.6c3.413 0 4.778 2.276 3.182 5.456l-38.673 79.364 41.174 91.874c1.593 2.958.227 5.23-3.41 5.23H780.76zM915.67 70.791c0 2.273-.912 3.865-3.64 3.865h-56.88v45.48h43.456c2.281 0 3.64 1.365 3.64 3.865v22.513c0 2.503-1.366 3.869-3.64 3.869H855.15v45.934h56.88c2.735 0 3.64 1.138 3.64 3.638v22.743c0 2.273-.912 3.63-3.64 3.63h-83.725c-2.05 0-3.416-1.365-3.416-3.63V48.048c0-2.273 1.366-3.638 3.416-3.638h83.725c2.735 0 3.64 1.365 3.64 3.638V70.79zm105.56-26.381c2.501 0 3.64 1.365 3.64 3.638V70.79c0 2.273-1.139 3.638-3.64 3.638h-26.391v148.27c0 2.5-1.135 3.63-3.636 3.63H967.54c-2.282 0-3.64-1.13-3.64-3.63V74.429h-26.388c-2.282 0-3.64-1.365-3.64-3.638V48.048c0-2.273 1.366-3.638 3.64-3.638h83.718zm1.38 156.493c0-2.957 1.593-4.546 4.552-4.546h20.704c2.959 0 4.548 1.589 4.548 4.546v20.917c0 2.96-1.59 4.55-4.548 4.55h-20.704c-2.96 0-4.552-1.59-4.552-4.55v-20.917zm143.75-99.188c0 2.276-1.37 3.638-3.64 3.638h-22.75c-2.502 0-3.637-1.361-3.637-3.638v-18.19c0-5.911-3.183-9.092-9.097-9.092h-11.832c-6.144 0-9.1 3.181-9.1 9.092v103.7c0 6.138 3.183 9.088 9.1 9.088h11.832c5.914 0 9.097-2.954 9.097-9.088v-18.198c0-2.276 1.135-3.638 3.636-3.638h22.751c2.281 0 3.64 1.361 3.64 3.638v24.562c0 21.371-11.604 32.743-32.763 32.743h-25.483c-21.385 0-32.99-11.372-32.99-32.743V77.149c0-21.375 11.604-32.746 32.99-32.746h25.483c21.162 0 32.763 11.372 32.763 32.746v24.559zm82.81-53.667c0-2.273 1.362-3.638 3.636-3.638h23.432c2.732 0 3.864 1.365 3.864 3.638v174.65c0 2.273-1.135 3.63-3.864 3.63h-23.432c-2.28 0-3.636-1.365-3.636-3.63v-72.315h-29.123v72.319c0 2.276-1.366 3.634-3.64 3.634h-23.429c-2.735 0-3.87-1.365-3.87-3.634V48.052c0-2.273 1.135-3.638 3.87-3.638h23.43c2.28 0 3.639 1.365 3.639 3.638v72.315h29.123V48.052zm134.66 178.285c-2.047 0-3.182-1.135-3.64-3.184l-6.368-33.197h-40.5l-6.137 33.197c-.458 2.05-1.593 3.184-3.64 3.184h-24.341c-2.501 0-3.64-1.365-2.963-3.865l37.77-174.88c.457-2.273 1.82-3.184 3.866-3.184h31.628c2.047 0 3.413.911 3.867 3.184l37.77 174.88c.457 2.5-.455 3.865-3.183 3.865h-24.128zm-30.262-142.13l-14.56 79.364h29.123l-14.563-79.364zM1496.23 44.41c2.501 0 3.64 1.365 3.64 3.638V70.79c0 2.273-1.139 3.638-3.64 3.638h-26.388v148.27c0 2.5-1.139 3.63-3.64 3.63h-23.663c-2.274 0-3.636-1.13-3.636-3.63V74.429h-26.388c-2.278 0-3.637-1.365-3.637-3.638V48.048c0-2.273 1.366-3.638 3.637-3.638h83.715z\\\"/><path class=\\\"rocket\\\" d=\\\"M270.5 105.32l.004.006-.002-.003-.002-.003zM92.94 11.47c9.508 5.28 18.496 11.962 26.171 19.388 12.373-2.24 25.13-3.37 38.072-3.37 38.744 0 75.477 10.163 103.42 28.612 14.473 9.559 25.977 20.9 34.189 33.712 9.145 14.276 13.78 29.63 13.78 46.08 0 16.007-4.636 31.365-13.78 45.64-8.211 12.817-19.715 24.156-34.189 33.715-27.948 18.45-64.678 28.607-103.42 28.607-12.942 0-25.697-1.13-38.072-3.368a126.331 126.331 0 01-26.171 19.388c-50.802 25.443-92.931.599-92.931.599s39.169-33.254 32.799-62.405C15.283 180.106 5.787 158.44 5.787 135.456c0-22.552 9.499-44.217 27.021-62.182C39.177 44.13.022 10.883.009 10.872c.013-.008 42.136-24.844 92.931.598z\\\" fill=\\\"#DB2323\\\" fill-rule=\\\"nonzero\\\"/><path d=\\\"M62.545 186.04c-17.412-13.722-27.863-31.281-27.863-50.419 0-43.916 55.032-79.517 122.92-79.517 67.885 0 122.92 35.601 122.92 79.517s-55.032 79.517-122.92 79.517c-16.731 0-32.681-2.163-47.219-6.079L99.754 219.31c-5.775 5.57-12.544 10.61-19.6 14.582-9.352 4.593-18.588 7.099-27.725 7.863.515-.937.99-1.886 1.5-2.825 10.65-19.618 13.523-37.248 8.618-52.89z\\\" fill=\\\"#fff\\\"/><path class=\\\"rocket\\\" d=\\\"M98.656 154.54c-9.98 0-18.071-8.22-18.071-18.361s8.09-18.361 18.071-18.361c9.98 0 18.071 8.22 18.071 18.361s-8.09 18.361-18.071 18.361zm58.179 0c-9.98 0-18.071-8.22-18.071-18.361s8.09-18.361 18.071-18.361 18.071 8.22 18.071 18.361-8.09 18.361-18.071 18.361zm58.179 0c-9.98 0-18.071-8.22-18.071-18.361s8.09-18.361 18.071-18.361c9.98 0 18.071 8.22 18.071 18.361s-8.09 18.361-18.071 18.361z\\\" fill=\\\"#DB2323\\\" fill-rule=\\\"nonzero\\\"/></g>\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"footer\":\"footer__1V22a\",\"footer__content\":\"footer__content__1tgEl\",\"footer__options\":\"footer__options__g5T_a\",\"footer__remainder\":\"footer__remainder__3XLQw\",\"footer__remainder--highlight\":\"footer__remainder--highlight__1YH6i\",\"powered-by\":\"powered-by__1DxxE\",\"powered-by__logo\":\"powered-by__logo__2Y08v\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"message-bubble\":\"message-bubble__35HAq\",\"message-bubble--inverse\":\"message-bubble--inverse__8y9eJ\",\"message-bubble--nude\":\"message-bubble--nude__2DB1l\",\"message-bubble--quoted\":\"message-bubble--quoted__3pELB\",\"message-bubble--system\":\"message-bubble--system__2-OfO\",\"message-container\":\"message-container__3n9XC\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"audio-attachment__inner\":\"audio-attachment__inner__im_cm\"};","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 20 20\"},\"content\":\"<g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\"><path d=\\\"M13.571 9.536l-3.535 3.535L6.5 9.536m3.515 2.469v-6.83\\\"/><circle cx=\\\"10\\\" cy=\\\"10\\\" r=\\\"8\\\"/></g>\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 32 32\"},\"content\":\"<g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><path d=\\\"M20.5 4L25 8.52V26a2 2 0 01-2 2H9a2 2 0 01-2-2V6a2 2 0 012-2h11.5z\\\" fill=\\\"#1D74F5\\\"/><path d=\\\"M20.5 4.002v3.501a1 1 0 001 1H25l-4.5-4.5z\\\" fill=\\\"#FFF\\\" opacity=\\\".5\\\"/><path d=\\\"M10 16v-1.5h12V16H10zm0 3v-1.5h12V19H10zm0 3v-1.5h7.5V22H10zm0-9v-1.5h12V13H10z\\\" fill=\\\"#FFF\\\" fill-rule=\\\"nonzero\\\"/></g>\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 32 32\"},\"content\":\"<g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><path d=\\\"M20.5 4.002v3.501a1 1 0 001 1H25l-4.5-4.5z\\\" fill=\\\"#FFF\\\" opacity=\\\".5\\\"/><path d=\\\"M20.5 4L25 8.52V26a2 2 0 01-2 2H9a2 2 0 01-2-2V6a2 2 0 012-2h11.5z\\\" fill=\\\"#1D74F5\\\"/><path d=\\\"M20.5 4.002v3.501a1 1 0 001 1H25l-4.5-4.5z\\\" fill=\\\"#FFF\\\" opacity=\\\".5\\\"/><path d=\\\"M15.417 20.622c-.82.82-2.197.772-3.076-.106-.879-.88-.926-2.256-.106-3.076l4.867-4.868c.592-.592 1.587-.558 2.222.077.634.635.669 1.63.076 2.222l-4.867 4.867c-.364.364-.977.343-1.367-.047-.39-.391-.412-1.003-.047-1.368l3.547-3.547c.137-.137.366-.129.513.018.146.146.154.376.017.512l-3.547 3.548c-.091.09-.086.244.012.342.097.097.25.102.342.011l4.867-4.867c.319-.319.3-.854-.041-1.196-.342-.342-.878-.36-1.197-.041l-4.867 4.867c-.546.547-.515 1.465.071 2.05.586.586 1.504.618 2.05.071l4.703-4.702c.137-.137.366-.129.512.018.147.146.155.376.018.512l-4.702 4.703z\\\" fill=\\\"#FFF\\\"/></g>\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 32 32\"},\"content\":\"<g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><path d=\\\"M20.5 4L25 8.52V26a2 2 0 01-2 2H9a2 2 0 01-2-2V6a2 2 0 012-2h11.5z\\\" fill=\\\"#F5455C\\\"/><path d=\\\"M20.5 4.002v3.501a1 1 0 001 1H25l-4.5-4.5z\\\" fill=\\\"#FFF\\\" opacity=\\\".5\\\"/><path d=\\\"M13.96 18.917c.352-.694 1.016-2.466 1.335-3.634.447.908.99 1.797 1.883 2.615-1.213.227-2.036.545-3.217 1.019zm1.456-7.775c.926.539.351 1.817.032 2.992-.21-.76-.504-2.447-.032-2.992zm-.089-.318c-.3.039-.62.22-.747.506-.358.818.39 3.226.504 3.628-.727 2.233-3.217 6.646-4.437 6.944-.025-.292.128-1.136 1.737-2.187a2.37 2.37 0 00.223-.272c-1.36.675-3.121 1.758-2.062 2.57a.99.99 0 00.25.123c.81.305 1.946-.695 3.09-2.96 1.257-.421 2.272-.74 3.708-.96 1.57 1.084 2.624 1.305 3.34 1.026.197-.078.51-.331.6-.663-.582.727-1.941.221-3.027-.473 1.002-.11 2.037-.176 2.484-.033.568.182.549.468.542.506.045-.155.109-.408-.013-.61-.478-.791-2.675-.33-3.473-.246-1.257-.772-2.125-2.148-2.477-3.141.326-1.279.677-2.207.422-3.128-.121-.442-.415-.662-.664-.63z\\\" fill=\\\"#FFF\\\"/></g>\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 32 32\"},\"content\":\"<g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><path d=\\\"M20.5 4L25 8.52V26a2 2 0 01-2 2H9a2 2 0 01-2-2V6a2 2 0 012-2h11.5z\\\" fill=\\\"#F5455C\\\"/><path d=\\\"M20.5 4.002v3.501a1 1 0 001 1H25l-4.5-4.5z\\\" fill=\\\"#FFF\\\" opacity=\\\".5\\\"/><g fill=\\\"#FFF\\\"><path d=\\\"M15.55 16.748h4.5c0 2.468-2.031 4.5-4.5 4.5s-4.5-2.032-4.5-4.5c0-2.469 2.031-4.5 4.5-4.5v4.5z\\\"/><path d=\\\"M16.3 16v-4.5a4.502 4.502 0 014.5 4.5h-4.5z\\\"/></g></g>\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 32 32\"},\"content\":\"<g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><path d=\\\"M20.5 4L25 8.52V26a2 2 0 01-2 2H9a2 2 0 01-2-2V6a2 2 0 012-2h11.5z\\\" fill=\\\"#2DE0A5\\\"/><path d=\\\"M20.5 4.002v3.501a1 1 0 001 1H25l-4.5-4.5z\\\" fill=\\\"#FFF\\\" opacity=\\\".5\\\"/><g fill=\\\"#FFF\\\" fill-rule=\\\"nonzero\\\"><path d=\\\"M10.75 16v-1.5h10.5V16zm0 3v-1.5h10.5V19z\\\"/><path d=\\\"M13.75 11.5h1.5V22h-1.5z\\\"/><path d=\\\"M11.5 13v7.5h9V13h-9zm0-1.5h9A1.5 1.5 0 0122 13v7.5a1.5 1.5 0 01-1.5 1.5h-9a1.5 1.5 0 01-1.5-1.5V13a1.5 1.5 0 011.5-1.5z\\\"/></g></g>\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 32 32\"},\"content\":\"<g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><path d=\\\"M20.5 4L25 8.52V26a2 2 0 01-2 2H9a2 2 0 01-2-2V6a2 2 0 012-2h11.5z\\\" fill=\\\"#F6C502\\\"/><path fill=\\\"#FFF\\\" d=\\\"M13.75 10.75h1.875V8.875H13.75zm1.875 1.875H17.5V10.75h-1.875zM13.75 14.5h1.875v-1.875H13.75zm1.875 1.875H17.5V14.5h-1.875zM13.75 18.25h1.875v-1.875H13.75zm0 3.75h3.75v-3.75h-3.75z\\\"/><path fill=\\\"#F6C502\\\" d=\\\"M14.688 21.063h1.874v-1.875h-1.875z\\\"/><path d=\\\"M20.5 4.002v3.501a1 1 0 001 1H25l-4.5-4.5z\\\" fill=\\\"#FFF\\\" opacity=\\\".5\\\"/></g>\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"file-attachment\":\"file-attachment__3usPx\",\"file-attachment__inner\":\"file-attachment__inner__4KqWu\",\"file-attachment__download-button\":\"file-attachment__download-button__JXzbE\",\"file-attachment__title\":\"file-attachment__title__8QXST\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"image-attachment__inner\":\"image-attachment__inner__3qFwJ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"message-avatars\":\"message-avatars__3vj_P\",\"message-avatars__avatar\":\"message-avatars__avatar__2w8Pn\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"uikit-actions-block\":\"uikit-actions-block__3kFjZ\",\"uikit-actions-block__item\":\"uikit-actions-block__item__257n5\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"uikit-button\":\"uikit-button__3X6Eh\",\"button-loading-rotation\":\"button-loading-rotation__2Fl4_\",\"uikit-button--style-primary\":\"uikit-button--style-primary__3DERb\",\"uikit-button--style-danger\":\"uikit-button--style-danger__2qDlz\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"uikit-context-block\":\"uikit-context-block__2WzDn\",\"uikit-context-block__item\":\"uikit-context-block__item__3dfvB\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"date-input\":\"date-input__32np5\",\"date-input--small\":\"date-input--small__1nGy1\",\"date-input--disabled\":\"date-input--disabled__V83aQ\",\"date-input--error\":\"date-input--error__3giSy\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"uikit-divider-block\":\"uikit-divider-block__Z-3HK\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"uikit-image-block\":\"uikit-image-block__1angW\",\"uikit-image-block__title\":\"uikit-image-block__title__1xJGc\",\"uikit-image-block__content\":\"uikit-image-block__content__zXi9F\",\"uikit-image-block__content--loading\":\"uikit-image-block__content--loading__3GZqc\",\"uikit-image-block__wrapper\":\"uikit-image-block__wrapper__1-Ukv\",\"uikit-image-block__link\":\"uikit-image-block__link__27wvk\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"uikit-image\":\"uikit-image__W6cSQ\",\"uikit-image--accessory\":\"uikit-image--accessory__xfSNy\",\"uikit-image--context\":\"uikit-image--context__3myst\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"uikit-mrkdwn\":\"uikit-mrkdwn__3YVwY\"};","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"viewBox\":\"0 0 32 32\",\"xmlns\":\"http://www.w3.org/2000/svg\"},\"content\":\"<path d=\\\"M18 8a2 2 0 11-4 0 2 2 0 014 0zm0 8a2 2 0 11-4 0 2 2 0 014 0zm0 8a2 2 0 11-4 0 2 2 0 014 0z\\\" fill=\\\"currentColor\\\"/>\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"uikit-overflow__trigger\":\"uikit-overflow__trigger__1nYqP\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"uikit-plain-text\":\"uikit-plain-text__IgVqw\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"uikit-section-block\":\"uikit-section-block__Y4Gbb\",\"uikit-section-block__content\":\"uikit-section-block__content__h4FtV\",\"uikit-section-block__text\":\"uikit-section-block__text__1ccTA\",\"uikit-section-block__fields\":\"uikit-section-block__fields__1u9yU\",\"uikit-section-block__field\":\"uikit-section-block__field__34-8Y\",\"uikit-section-block__accessory\":\"uikit-section-block__accessory__1a702\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"select-input\":\"select-input__23YB7\",\"select-input__select\":\"select-input__select__3eBo4\",\"select-input__select--small\":\"select-input__select--small__dHwaf\",\"select-input__select--disabled\":\"select-input__select--disabled__YbxwQ\",\"select-input__select--error\":\"select-input__select--error__1r_NO\",\"select-input__select--placeholder\":\"select-input__select--placeholder__1ZiPY\",\"select-input__option\":\"select-input__option__HpPGW\",\"select-input__arrow\":\"select-input__arrow__2jglH\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"uikit-static-select\":\"uikit-static-select__1TWLI\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"message-blocks\":\"message-blocks__1PDtT\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"message-container\":\"message-container__19jeU\",\"message-container--compact\":\"message-container--compact__374zr\",\"message-container--reverse\":\"message-container--reverse__3x9rK\",\"message-container--system\":\"message-container--system__1eZ2Y\",\"message-container-break\":\"message-container-break__2yxLd\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"message-content\":\"message-content__1DkcS\",\"message-content--reverse\":\"message-content--reverse__o_hmd\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"message-text\":\"message-text__4m75x\",\"message-text--system\":\"message-text--system__mdDfo\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"message-time\":\"message-time__2e1gz\",\"message-time-wrapper\":\"message-time-wrapper__JEbuq\",\"message-time--normal\":\"message-time--normal__2jM19\",\"message-time--inverted\":\"message-time--inverted__1Y9Du\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"video-attachment__inner\":\"video-attachment__inner__1-nfC\"};","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"viewBox\":\"0 0 32 32\",\"xmlns\":\"http://www.w3.org/2000/svg\"},\"content\":\"<path d=\\\"M8 6.333c0-.552.597-1 1.333-1h8c.737 0 1.334.448 1.334 1 0 .553-.597 1-1.334 1h-8c-.736 0-1.333-.447-1.333-1zM5 12v12c0 .184.15.333.333.333h16c.184 0 .334-.15.334-.333v-2.667a1 1 0 011.49-.87l3.058 1.723a1 1 0 01.216.164c.21.21.569.061.569-.236v-8.229a.333.333 0 00-.569-.235 1 1 0 01-.216.164l-3.057 1.724a1 1 0 01-1.491-.872V12a.333.333 0 00-.334-.334h-16A.333.333 0 005 12zm.333-2.334h16A2.333 2.333 0 0123.667 12v.955l1.461-.825C26.61 10.818 29 11.858 29 13.885v8.23c0 2.026-2.39 3.067-3.872 1.754l-1.461-.824V24a2.333 2.333 0 01-2.334 2.333h-16A2.333 2.333 0 013 24V12a2.333 2.333 0 012.333-2.334z\\\" fill=\\\"currentColor\\\" fill-rule=\\\"evenodd\\\"/>\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"separator\":\"separator__2hKm1\",\"separator__text\":\"separator__text__CCH47\",\"separator__line\":\"separator__line__31sRI\",\"separator--date\":\"separator--date__2KXC7\",\"separator--unread\":\"separator--unread__26QDF\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"typing-dots\":\"typing-dots__2dVrQ\",\"typing-dots__dot\":\"typing-dots__dot__hqh2c\",\"typing-dots__indicator\":\"typing-dots__indicator__379kG\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"message-list\":\"message-list__1jRl9\",\"message-list__content\":\"message-list__content__3TyF4\"};","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"viewBox\":\"0 0 18 18\",\"xmlns\":\"http://www.w3.org/2000/svg\"},\"content\":\"<path d=\\\"M1.929 12L9 4.929 16.071 12\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" fill=\\\"none\\\"/>\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 18 18\"},\"content\":\"<path d=\\\"M4.619 10.532V6.374c0-2.296 1.962-4.158 4.381-4.158 2.419 0 4.381 1.862 4.381 4.158v4.158l1.643 3.118H2.976l1.643-3.118zm3.047 4.426h2.668c-.195.514-.716.884-1.334.884s-1.139-.37-1.334-.884zm7.048-8.625C14.714 3.388 12.155 1 9 1 5.845 1 3.286 3.388 3.286 6.333V10.6L1 14.867h5.201C6.465 16.084 7.618 17 9 17s2.535-.916 2.799-2.133H17L14.714 10.6V6.333z\\\" fill=\\\"currentColor\\\" fill-rule=\\\"evenodd\\\"/>\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 18 18\"},\"content\":\"<path d=\\\"M4.69 9.806l-1.669 1.439.343-.645V6.334C3.364 3.389 5.908 1 9.045 1a5.85 5.85 0 014.03 1.576l-.973.839a4.454 4.454 0 00-3.057-1.198c-2.405 0-4.355 1.861-4.355 4.157v3.432zM14.728 6.42v4.18L17 14.866h-5.17C11.567 16.084 10.421 17 9.046 17c-1.374 0-2.52-.916-2.783-2.134H4.932l1.41-1.216h8.693l-1.633-3.118V7.563l1.326-1.143zM1.927 16.097L1 14.958 15.98 1.43l.927 1.139-14.98 13.528zm7.119-.255c.615 0 1.132-.37 1.327-.885H7.719c.195.515.712.885 1.327.885z\\\" fill=\\\"currentColor\\\" fill-rule=\\\"evenodd\\\"/>\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 24 24\"},\"content\":\"<g fill=\\\"currentColor\\\"><path d=\\\"M21.628 11.093c0-3.261-4.004-5.905-8.943-5.905S3.742 7.83 3.743 11.093c0 1.421.76 2.725 2.027 3.744.218 2.124-.8 3.414-1.488 4.178 2.113.552 4.288-1.158 5.277-2.388.973.24 2.026.372 3.126.372 4.939 0 8.943-2.645 8.943-5.906zM3.803 20.99l-3.226-.844 2.272-2.523c.579-.642.895-1.179.972-1.849-1.295-1.31-2.04-2.926-2.04-4.68 0-4.63 5.017-7.944 10.904-7.944S23.59 6.464 23.59 11.093c0 4.63-5.017 7.943-10.904 7.943-.83 0-1.65-.066-2.445-.196-1.76 1.712-4.137 2.751-6.437 2.15z\\\"/><g transform=\\\"translate(7.611 9.674)\\\"><ellipse cx=\\\"5.191\\\" cy=\\\"1.354\\\" rx=\\\"1.298\\\" ry=\\\"1.354\\\"/><ellipse cx=\\\"9.084\\\" cy=\\\"1.354\\\" rx=\\\"1.298\\\" ry=\\\"1.354\\\"/><ellipse cx=\\\"1.298\\\" cy=\\\"1.354\\\" rx=\\\"1.298\\\" ry=\\\"1.354\\\"/></g></g>\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"viewBox\":\"0 0 20 20\",\"xmlns\":\"http://www.w3.org/2000/svg\"},\"content\":\"<path d=\\\"M15.286 1H2.715c-.947 0-1.714.767-1.714 1.714v12.571A1.714 1.714 0 002.715 17h12.571c.947 0 1.714-.768 1.714-1.715V2.715C17 1.767 16.233 1 15.286 1zm.571 14.286a.572.572 0 01-.571.571H2.715a.572.572 0 01-.571-.571V2.715c0-.315.256-.571.571-.571h12.571c.315 0 .571.256.571.571v12.571zM4.554 13.244a.429.429 0 010-.606l6.97-6.97-.025-.025-3.213.012a.429.429 0 01-.429-.428V4.87c0-.237.192-.429.429-.429l4.857-.012c.237 0 .429.192.429.428l-.013 4.858a.429.429 0 01-.428.428h-.357a.429.429 0 01-.429-.428l.012-3.213-.025-.026-6.97 6.97a.429.429 0 01-.606 0l-.202-.202z\\\" stroke-width=\\\".3\\\" fill=\\\"currentColor\\\" stroke=\\\"currentColor\\\"/>\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"alert\":\"alert__2_6E-\",\"alert__content\":\"alert__content__WiDgC\",\"alert__close\":\"alert__close__N2TJw\",\"alert--success\":\"alert--success__2BSNz\",\"alert--warning\":\"alert--warning__18Xi6\",\"alert--error\":\"alert--error__3ttMA\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header\":\"header__13Vuj\",\"header__actions\":\"header__actions__aNMyg\",\"header__content\":\"header__content__pXDMp\",\"header__item\":\"header__item__EmXV-\",\"header__picture\":\"header__picture__3W5Fb\",\"header__title\":\"header__title__PtLVn\",\"header__subtitle\":\"header__subtitle__1ncvc\",\"header__custom-field\":\"header__custom-field__1xJH3\",\"header__action\":\"header__action__2wnEh\",\"header__post\":\"header__post__VA2cW\",\"header--large\":\"header--large__2keTG\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tooltip\":\"tooltip__mOwTr\",\"tooltip--hidden\":\"tooltip--hidden__vIBh0\",\"tooltip--placement-left\":\"tooltip--placement-left__1AH9w\",\"tooltip--placement-right\":\"tooltip--placement-right__3LZFt\",\"tooltip--placement-top\":\"tooltip--placement-top__NfRdd\",\"tooltip--placement-top-left\":\"tooltip--placement-top-left__3tiWm\",\"tooltip--placement-top-right\":\"tooltip--placement-top-right__1jba4\",\"tooltip--placement-bottom\":\"tooltip--placement-bottom__15Yxs\",\"tooltip--placement-bottom-left\":\"tooltip--placement-bottom-left__DatSn\",\"tooltip--placement-bottom-right\":\"tooltip--placement-bottom-right__2bsJB\",\"tooltip--floating\":\"tooltip--floating__1PBGg\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"screen\":\"screen__sskEr\",\"screen__inner\":\"screen__inner__ihfK6\",\"screen__chat-button\":\"screen__chat-button__2h7Ad\",\"screen__chat-close-button\":\"screen__chat-close-button__isEmn\",\"screen--minimized\":\"screen--minimized__2cVSs\",\"screen--expanded\":\"screen--expanded__1zqIP\",\"screen--windowed\":\"screen--windowed__Ad1VZ\",\"screen--triggered\":\"screen--triggered__2c_Iw\",\"screen__inner--fitTextSize\":\"screen__inner--fitTextSize__1x0T7\",\"screen__main\":\"screen__main__DBTEi\",\"screen__main--nopadding\":\"screen__main--nopadding__16Bsg\",\"screen__main--triggered\":\"screen__main--triggered__3xccT\",\"screen__agent-email\":\"screen__agent-email__3DONj\"};","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 24 24\"},\"content\":\"<path d=\\\"M15.643 12.166l4.757 4.741-4.76 4.692-1.168-1.158 2.758-2.72H6.637c-1.349 0-2.447-1.078-2.447-2.403v-1.676h1.655v1.676a.78.78 0 00.792.768h10.609l-2.777-2.768 1.174-1.152zm-6.114-1.485l-1.173 1.152L3.6 7.092 8.36 2.4l1.167 1.157-2.759 2.721h10.594c1.348 0 2.446 1.078 2.446 2.403v1.69h-1.654v-1.69a.78.78 0 00-.792-.768H6.754l2.775 2.768z\\\" fill=\\\"currentColor\\\" fill-rule=\\\"evenodd\\\"/>\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 24 24\"},\"content\":\"<path d=\\\"M2.4 2.4h14.4v1.986H4.41v15.228H16.8V21.6H2.4V2.4zm12.955 6.15L16.72 7.2l4.856 4.8-4.856 4.8-1.365-1.35 2.52-2.49H8.376v-1.92h9.5l-2.52-2.49z\\\" fill=\\\"currentColor\\\" fill-rule=\\\"evenodd\\\"/>\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"viewBox\":\"0 0 20 20\",\"xmlns\":\"http://www.w3.org/2000/svg\"},\"content\":\"<path d=\\\"M10 5v10m5-5H5\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"square\\\" stroke-width=\\\"1.5\\\"/>\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 20 20\"},\"content\":\"<path d=\\\"M5.391 7.34l.778 9.394h7.662l.778-9.395H5.39zm5.628-3.58A1.111 1.111 0 0010 3.09c-.456 0-.847.276-1.019.67h2.038zm-3.423 0A2.45 2.45 0 0110 1.748a2.45 2.45 0 012.404 2.014h4.263c.368 0 .666.3.666.67a.669.669 0 01-.666.672H3.333a.669.669 0 01-.666-.671c0-.371.298-.671.666-.671h4.263zm8.462 2.237l-1 12.08H4.942l-1-12.08h12.116zm-8.502 3.58v5.815h1.333V9.576H7.556zm3.555 0v5.815h1.333V9.576h-1.333z\\\" fill=\\\"currentColor\\\" fill-rule=\\\"evenodd\\\"/>\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"viewBox\":\"0 0 24 24\",\"xmlns\":\"http://www.w3.org/2000/svg\"},\"content\":\"<path d=\\\"M10.342 13.283l9.56-10.359-13.049 8.264L1 8.778 21.506 1l-7.778 20.506-3.386-8.223z\\\" fill=\\\"currentColor\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" fill-rule=\\\"evenodd\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"/>\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"viewBox\":\"0 0 20 20\",\"xmlns\":\"http://www.w3.org/2000/svg\"},\"content\":\"<g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><circle cx=\\\"12\\\" cy=\\\"8\\\" r=\\\"1\\\" fill=\\\"currentColor\\\"/><circle cx=\\\"8\\\" cy=\\\"8\\\" r=\\\"1\\\" fill=\\\"currentColor\\\"/><circle cx=\\\"10\\\" cy=\\\"10\\\" r=\\\"7\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\"/><path d=\\\"M7.172 12.328a4 4 0 005.656 0\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\"/></g>\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"chat__messages\":\"chat__messages__f3sJg\",\"chat__messages--atBottom\":\"chat__messages--atBottom__1wPuF\",\"chat__messages--loading\":\"chat__messages--loading__gsc8d\",\"loader-rotate\":\"loader-rotate__3AWNK\",\"chat\":\"chat__1ggQU\",\"none__action\":\"none__action__1hdXV\",\"emoji-picker-icon\":\"emoji-picker-icon__3OTWb\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"chat-finished__greeting\":\"chat-finished__greeting__zxo1Q\",\"chat-finished__message\":\"chat-finished__message__2Ly5q\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"gdpr__consent-text\":\"gdpr__consent-text__1K91W\",\"gdpr__instructions\":\"gdpr__instructions__lHoQt\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"form-field\":\"form-field__16wVs\",\"form-field__label-wrapper\":\"form-field__label-wrapper__1ZXe4\",\"form-field__description\":\"form-field__description__32VwT\",\"form-field__input\":\"form-field__input__3OQDq\",\"form-field__label\":\"form-field__label__1hSc7\",\"form-field--error\":\"form-field--error__2cgpb\",\"form-field--required\":\"form-field--required__1ehIJ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"text-input\":\"text-input__15vLf\",\"text-input--small\":\"text-input--small__1a0F7\",\"text-input--disabled\":\"text-input--disabled__9qba3\",\"text-input--error\":\"text-input--error__3nahC\",\"text-input--multiple\":\"text-input--multiple__3Fm0v\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"password-input\":\"password-input__Fh-H5\",\"password-input--small\":\"password-input--small__23_jZ\",\"password-input--disabled\":\"password-input--disabled__1b3hY\",\"password-input--error\":\"password-input--error__3hzSx\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"leave-message__main\":\"leave-message__main__2qjg1\",\"leave-message__message\":\"leave-message__message__3XDZW\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"register__message\":\"register__message__XfDRi\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"switch-department__message\":\"switch-department__message__1eSbv\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"trigger-message__message\":\"trigger-message__message__3z2MP\",\"trigger-message__footer\":\"trigger-message__footer__1BGi7\",\"trigger-message__separator\":\"trigger-message__separator__29Hse\",\"trigger-message__link-reply\":\"trigger-message__link-reply__1eF72\"};","import { createMemoryHistory } from 'history';\n\nexport const history = createMemoryHistory();\n\nexport default history;\n","import LivechatClient from '@rocket.chat/sdk/lib/clients/Livechat';\nimport queryString from 'query-string';\n\nconst host = window.SERVER_URL\n\t|| queryString.parse(window.location.search).serverUrl\n\t|| (process.env.NODE_ENV === 'development' ? 'http://localhost:3000' : null);\nexport const useSsl = host && host.match(/^https:/) !== null;\n\nexport const Livechat = new LivechatClient({ host, protocol: 'ddp', useSsl });\n","\nimport * as crypto from 'crypto-js';\n\nconst UNMISTAKABLE_CHARS = '23456789ABCDEFGHJKLMNPQRSTWXYZabcdefghijkmnopqrstuvwxyz';\n\nconst fraction = () => {\n\tconst array = new Uint32Array(1);\n\twindow.crypto.getRandomValues(array);\n\treturn array[0] * 2.3283064365386963e-10;\n};\n\nexport const chooseElement = (arrayOrString) => {\n\tconst index = Math.floor(fraction() * arrayOrString.length);\n\n\tif (typeof arrayOrString === 'string') {\n\t\treturn arrayOrString.substr(index, 1);\n\t}\n\n\treturn arrayOrString[index];\n};\n\nexport const createRandomString = (charsCount, alphabet) =>\n\tArray.from({ length: charsCount }, () => chooseElement(alphabet)).join('');\n\nexport const createRandomId = (charsCount = 17) =>\n\tcreateRandomString(charsCount, UNMISTAKABLE_CHARS);\n\nexport const createToken = () => crypto.lib.WordArray.random(32).toString(crypto.enc.Hex);\n","import mitt from 'mitt';\n\n\nconst log = process.env.NODE_ENV === 'development'\n\t? (...args) => window.console.log('%cwidget%c', 'color: red', 'color: initial', ...args)\n\t: () => {};\n\n\nconst WIDGET_OPEN_WIDTH = 365;\nconst WIDGET_OPEN_HEIGHT = 525;\nconst WIDGET_MINIMIZED_WIDTH = 54;\nconst WIDGET_MINIMIZED_HEIGHT = 54;\nconst WIDGET_MARGIN = 16;\n\n\nwindow.RocketChat = window.RocketChat || { _: [] };\nconst config = {};\nlet widget;\nlet iframe;\nlet hookQueue = [];\nlet ready = false;\nlet smallScreen = false;\nlet scrollPosition;\nlet widget_height;\n\nexport const validCallbacks = [\n\t'chat-maximized',\n\t'chat-minimized',\n\t'chat-started',\n\t'chat-ended',\n\t'pre-chat-form-submit',\n\t'offline-form-submit',\n\t'show-widget',\n\t'hide-widget',\n\t'assign-agent',\n\t'agent-status-change',\n\t'queue-position-change',\n\t'no-agent-online',\n];\n\nconst callbacks = mitt();\n\nfunction registerCallback(eventName, fn) {\n\tif (validCallbacks.indexOf(eventName) === -1) {\n\t\treturn false;\n\t}\n\n\treturn callbacks.on(eventName, fn);\n}\n\nfunction emitCallback(eventName, data) {\n\tif (typeof data !== 'undefined') {\n\t\tcallbacks.emit(eventName, data);\n\t} else {\n\t\tcallbacks.emit(eventName);\n\t}\n}\n\n// hooks\nfunction callHook(action, params) {\n\tif (!ready) {\n\t\treturn hookQueue.push([action, params]);\n\t}\n\tconst data = {\n\t\tsrc: 'rocketchat',\n\t\tfn: action,\n\t\targs: params,\n\t};\n\tiframe.contentWindow.postMessage(data, '*');\n}\n\nconst updateWidgetStyle = (isOpened) => {\n\tif (smallScreen && isOpened) {\n\t\tscrollPosition = document.documentElement.scrollTop;\n\t\tdocument.body.classList.add('rc-livechat-mobile-full-screen');\n\t} else {\n\t\tdocument.body.classList.remove('rc-livechat-mobile-full-screen');\n\t\tif (smallScreen) {\n\t\t\tdocument.documentElement.scrollTop = scrollPosition;\n\t\t}\n\t}\n\n\tif (isOpened) {\n\t\twidget.style.left = smallScreen ? '0' : 'auto';\n\n\t\t/**\n\t\t * If we use widget.style.height = smallScreen ? '100vh' : ...\n\t\t * In above case some browser's viewport height is not rendered correctly\n\t\t * so, as 100vh will resolve to 100% of the current viewport height,\n\t\t * so fixed it to 100% avoiding problem for some browsers. Similar resolution\n\t\t * for widget.style.width\n\t\t */\n\n\t\twidget.style.height = smallScreen ? '100%' : `${ WIDGET_MARGIN + widget_height + WIDGET_MARGIN + WIDGET_MINIMIZED_HEIGHT }px`;\n\t\twidget.style.width = smallScreen ? '100%' : `${ WIDGET_MARGIN + WIDGET_OPEN_WIDTH + WIDGET_MARGIN }px`;\n\t} else {\n\t\twidget.style.left = 'auto';\n\t\twidget.style.width = `${ WIDGET_MARGIN + WIDGET_MINIMIZED_WIDTH + WIDGET_MARGIN }px`;\n\t\twidget.style.height = `${ WIDGET_MARGIN + WIDGET_MINIMIZED_HEIGHT + WIDGET_MARGIN }px`;\n\t}\n};\n\nconst createWidget = (url) => {\n\twidget = document.createElement('div');\n\twidget.className = 'rocketchat-widget';\n\twidget.style.position = 'fixed';\n\twidget.style.width = `${ WIDGET_MARGIN + WIDGET_MINIMIZED_WIDTH + WIDGET_MARGIN }px`;\n\twidget.style.height = `${ WIDGET_MARGIN + WIDGET_MINIMIZED_HEIGHT + WIDGET_MARGIN }px`;\n\twidget.style.maxHeight = '100vh';\n\twidget.style.bottom = '0';\n\twidget.style.right = '0';\n\twidget.style.zIndex = '12345';\n\twidget.dataset.state = 'closed';\n\n\tconst container = document.createElement('div');\n\tcontainer.className = 'rocketchat-container';\n\tcontainer.style.width = '100%';\n\tcontainer.style.height = '100%';\n\n\tiframe = document.createElement('iframe');\n\tiframe.id = 'rocketchat-iframe';\n\tiframe.allowTransparency = 'true';\n\tiframe.src = url;\n\tiframe.style.width = '100%';\n\tiframe.style.height = '100%';\n\tiframe.style.border = 'none';\n\tiframe.style.backgroundColor = 'transparent';\n\n\tcontainer.appendChild(iframe);\n\twidget.appendChild(container);\n\tdocument.body.appendChild(widget);\n\n\tconst handleMediaQueryTest = ({ matches }) => {\n\t\tif (!widget) {\n\t\t\treturn;\n\t\t}\n\n\t\tsmallScreen = matches;\n\t\tupdateWidgetStyle(widget.dataset.state === 'opened');\n\t\tcallHook('setExpanded', smallScreen);\n\t};\n\n\tconst mediaQueryList = window.matchMedia('screen and (max-device-width: 480px)');\n\tmediaQueryList.addListener(handleMediaQueryTest);\n\thandleMediaQueryTest(mediaQueryList);\n};\n\nconst openWidget = () => {\n\tif (widget.dataset.state === 'opened') {\n\t\treturn;\n\t}\n\n\twidget_height = WIDGET_OPEN_HEIGHT;\n\tupdateWidgetStyle(true);\n\twidget.dataset.state = 'opened';\n\tiframe.focus();\n\temitCallback('chat-maximized');\n};\n\nconst resizeWidget = (height) => {\n\twidget_height = height;\n\tupdateWidgetStyle(true);\n\twidget.dataset.state = 'triggered';\n};\n\nfunction closeWidget() {\n\tif (widget.dataset.state === 'closed') {\n\t\treturn;\n\t}\n\n\tupdateWidgetStyle(false);\n\twidget.dataset.state = 'closed';\n\temitCallback('chat-minimized');\n}\n\nconst api = {\n\tpopup: null,\n\n\tready() {\n\t\tready = true;\n\t\tif (hookQueue.length > 0) {\n\t\t\thookQueue.forEach(function(hookParams) {\n\t\t\t\tcallHook.apply(this, hookParams);\n\t\t\t});\n\t\t\thookQueue = [];\n\t\t}\n\t},\n\n\tminimizeWindow() {\n\t\tcloseWidget();\n\t},\n\n\trestoreWindow() {\n\t\tif (api.popup && api.popup.closed !== true) {\n\t\t\tapi.popup.close();\n\t\t\tapi.popup = null;\n\t\t}\n\t\topenWidget();\n\t},\n\n\topenPopout() {\n\t\tcloseWidget();\n\t\tapi.popup = window.open(`${ config.url }${ config.url.lastIndexOf('?') > -1 ? '&' : '?' }mode=popout`,\n\t\t\t'livechat-popout', `width=${ WIDGET_OPEN_WIDTH }, height=${ widget_height }, toolbars=no`);\n\t\tapi.popup.focus();\n\t},\n\n\topenWidget() {\n\t\topenWidget();\n\t},\n\n\tresizeWidget(height) {\n\t\tresizeWidget(height);\n\t},\n\n\tremoveWidget() {\n\t\tdocument.body.removeChild(widget);\n\t},\n\n\tcallback(eventName, data) {\n\t\temitCallback(eventName, data);\n\t},\n\n\tshowWidget() {\n\t\tiframe.style.display = 'initial';\n\t\temitCallback('show-widget');\n\t},\n\n\thideWidget() {\n\t\tiframe.style.display = 'none';\n\t\temitCallback('hide-widget');\n\t},\n\n\tresetDocumentStyle() {\n\t\tdocument.body.classList.remove('rc-livechat-mobile-full-screen');\n\t},\n\n\tsetFullScreenDocumentMobile() {\n\t\tsmallScreen && document.body.classList.add('rc-livechat-mobile-full-screen');\n\t},\n};\n\nfunction pageVisited(change) {\n\tcallHook('pageVisited', {\n\t\tchange,\n\t\tlocation: JSON.parse(JSON.stringify(document.location)),\n\t\ttitle: document.title,\n\t});\n}\n\nfunction setCustomField(key, value, overwrite) {\n\tif (typeof overwrite === 'undefined') {\n\t\toverwrite = true;\n\t}\n\tcallHook('setCustomField', [key, value, overwrite]);\n}\n\nfunction setTheme(theme) {\n\tcallHook('setTheme', theme);\n}\n\nfunction setDepartment(department) {\n\tcallHook('setDepartment', department);\n}\n\nfunction setGuestToken(token) {\n\tcallHook('setGuestToken', token);\n}\n\nfunction setGuestName(name) {\n\tcallHook('setGuestName', name);\n}\n\nfunction setGuestEmail(email) {\n\tcallHook('setGuestEmail', email);\n}\n\nfunction registerGuest(guest) {\n\tcallHook('registerGuest', guest);\n}\n\nfunction clearDepartment() {\n\tcallHook('clearDepartment');\n}\n\nfunction setAgent(agent) {\n\tcallHook('setAgent', agent);\n}\n\nfunction setLanguage(language) {\n\tcallHook('setLanguage', language);\n}\n\nfunction showWidget() {\n\tcallHook('showWidget');\n}\n\nfunction hideWidget() {\n\tcallHook('hideWidget');\n}\n\nfunction maximizeWidget() {\n\tcallHook('maximizeWidget');\n}\n\nfunction minimizeWidget() {\n\tcallHook('minimizeWidget');\n}\n\nfunction initialize(params) {\n\tfor (const method in params) {\n\t\tif (!params.hasOwnProperty(method)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tswitch (method) {\n\t\t\tcase 'customField':\n\t\t\t\tconst { key, value, overwrite } = params[method];\n\t\t\t\tsetCustomField(key, value, overwrite);\n\t\t\t\tcontinue;\n\t\t\tcase 'setCustomFields':\n\t\t\t\tif (!Array.isArray(params[method])) {\n\t\t\t\t\tconsole.log('Error: Invalid parameters. Value must be an array of objects');\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tparams[method].forEach((data) => {\n\t\t\t\t\tconst { key, value, overwrite } = data;\n\t\t\t\t\tsetCustomField(key, value, overwrite);\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\tcase 'theme':\n\t\t\t\tsetTheme(params[method]);\n\t\t\t\tcontinue;\n\t\t\tcase 'department':\n\t\t\t\tsetDepartment(params[method]);\n\t\t\t\tcontinue;\n\t\t\tcase 'guestToken':\n\t\t\t\tsetGuestToken(params[method]);\n\t\t\t\tcontinue;\n\t\t\tcase 'guestName':\n\t\t\t\tsetGuestName(params[method]);\n\t\t\t\tcontinue;\n\t\t\tcase 'guestEmail':\n\t\t\t\tsetGuestEmail(params[method]);\n\t\t\t\tcontinue;\n\t\t\tcase 'registerGuest':\n\t\t\t\tregisterGuest(params[method]);\n\t\t\t\tcontinue;\n\t\t\tcase 'language':\n\t\t\t\tsetLanguage(params[method]);\n\t\t\t\tcontinue;\n\t\t\tcase 'agent':\n\t\t\t\tsetAgent(params[method]);\n\t\t\t\tcontinue;\n\t\t\tdefault:\n\t\t\t\tcontinue;\n\t\t}\n\t}\n}\n\nconst currentPage = {\n\thref: null,\n\ttitle: null,\n};\n\nconst attachMessageListener = () => {\n\twindow.addEventListener('message', (msg) => {\n\t\tif (typeof msg.data === 'object' && msg.data.src !== undefined && msg.data.src === 'rocketchat') {\n\t\t\tif (api[msg.data.fn] !== undefined && typeof api[msg.data.fn] === 'function') {\n\t\t\t\tconst args = [].concat(msg.data.args || []);\n\t\t\t\tlog(`api.${ msg.data.fn }`, ...args);\n\t\t\t\tapi[msg.data.fn].apply(null, args);\n\t\t\t}\n\t\t}\n\t}, false);\n};\n\nconst trackNavigation = () => {\n\tsetInterval(() => {\n\t\tif (document.location.href !== currentPage.href) {\n\t\t\tpageVisited('url');\n\t\t\tcurrentPage.href = document.location.href;\n\t\t}\n\n\t\tif (document.title !== currentPage.title) {\n\t\t\tpageVisited('title');\n\t\t\tcurrentPage.title = document.title;\n\t\t}\n\t}, 800);\n};\n\nconst init = (url) => {\n\tif (!url) {\n\t\treturn;\n\t}\n\n\tconfig.url = url;\n\n\tcreateWidget(url);\n\tattachMessageListener();\n\ttrackNavigation();\n};\n\nif (typeof window.initRocket !== 'undefined') {\n\tconsole.warn('initRocket is now deprecated. Please update the livechat code.');\n\tinit(window.initRocket[0]);\n}\n\nif (typeof window.RocketChat.url !== 'undefined') {\n\tinit(window.RocketChat.url);\n}\n\nconst queue = window.RocketChat._;\n\nwindow.RocketChat._.push = function(c) {\n\tc.call(window.RocketChat.livechat);\n};\nwindow.RocketChat = window.RocketChat._.push;\n\n// exports\nwindow.RocketChat.livechat = {\n\t// methods\n\tpageVisited,\n\tsetCustomField,\n\tinitialize,\n\tsetTheme,\n\tsetDepartment,\n\tclearDepartment,\n\tsetGuestToken,\n\tsetGuestName,\n\tsetGuestEmail,\n\tsetAgent,\n\tregisterGuest,\n\tsetLanguage,\n\tshowWidget,\n\thideWidget,\n\tmaximizeWidget,\n\tminimizeWidget,\n\n\t// callbacks\n\tonChatMaximized(fn) { registerCallback('chat-maximized', fn); },\n\tonChatMinimized(fn) { registerCallback('chat-minimized', fn); },\n\tonChatStarted(fn) { registerCallback('chat-started', fn); },\n\tonChatEnded(fn) { registerCallback('chat-ended', fn); },\n\tonPrechatFormSubmit(fn) { registerCallback('pre-chat-form-submit', fn); },\n\tonOfflineFormSubmit(fn) { registerCallback('offline-form-submit', fn); },\n\tonWidgetShown(fn) { registerCallback('show-widget', fn); },\n\tonWidgetHidden(fn) { registerCallback('hide-widget', fn); },\n\tonAssignAgent(fn) { registerCallback('assign-agent', fn); },\n\tonAgentStatusChange(fn) { registerCallback('agent-status-change', fn); },\n\tonQueuePositionChange(fn) { registerCallback('queue-position-change', fn); },\n\tonServiceOffline(fn) { registerCallback('no-agent-online', fn); },\n};\n\n// proccess queue\nqueue.forEach((c) => {\n\tc.call(window.RocketChat.livechat);\n});\n","import { validCallbacks } from '../widget';\n\nexport function parentCall(method, args = []) {\n\tconst data = {\n\t\tsrc: 'rocketchat',\n\t\tfn: method,\n\t\targs,\n\t};\n\n\twindow.parent.postMessage(data, '*');\n}\n\nexport const runCallbackEventEmitter = (callbackName, data) => validCallbacks.includes(callbackName) && parentCall('callback', [callbackName, data]);\n","import mitt from 'mitt';\n\nimport { parentCall } from '../lib/parentCall';\nimport { createToken } from '../lib/random';\n\nconst { localStorage, sessionStorage } = window;\n\nexport default class Store {\n\tconstructor(initialState = {}, { localStorageKey = 'store', dontPersist = [] } = {}) {\n\t\tObject.assign(this, mitt());\n\n\t\tthis.localStorageKey = localStorageKey;\n\t\tthis.dontPersist = dontPersist;\n\n\t\tlet storedState;\n\n\t\ttry {\n\t\t\tstoredState = JSON.parse(localStorage.getItem(this.localStorageKey));\n\t\t} catch (e) {\n\t\t\tstoredState = {};\n\t\t} finally {\n\t\t\tstoredState = typeof storedState === 'object' ? storedState : {};\n\t\t}\n\n\t\tthis._state = { ...initialState, ...storedState };\n\n\t\twindow.addEventListener('storage', (e) => {\n\t\t\t// Cross-tab communication\n\t\t\tif (e.key !== this.localStorageKey) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (!e.newValue) {\n\t\t\t\t// The localStorage has been removed\n\t\t\t\treturn location.reload();\n\t\t\t}\n\n\t\t\tconst storedState = JSON.parse(e.newValue);\n\t\t\tthis.setStoredState(storedState);\n\t\t\tthis.emit('storageSynced');\n\t\t});\n\n\t\twindow.addEventListener('load', () => {\n\t\t\tconst sessionId = createToken();\n\t\t\tsessionStorage.setItem('sessionId', sessionId);\n\t\t\tconst { openSessionIds = [] } = this._state;\n\t\t\tthis.setState({ openSessionIds: [sessionId, ...openSessionIds] });\n\t\t});\n\n\t\twindow.addEventListener('visibilitychange', () => {\n\t\t\t!this._state.minimized && !this._state.triggered && parentCall('openWidget');\n\t\t\tthis._state.iframe.visible ? parentCall('showWidget') : parentCall('hideWidget');\n\t\t});\n\n\t\twindow.addEventListener('beforeunload', () => {\n\t\t\tconst sessionId = sessionStorage.getItem('sessionId');\n\t\t\tconst { openSessionIds = [] } = this._state;\n\t\t\tthis.setState({ openSessionIds: openSessionIds.filter((session) => session !== sessionId) });\n\t\t});\n\t}\n\n\tget state() {\n\t\treturn this._state;\n\t}\n\n\tpersist() {\n\t\tconst persistable = { ...this._state };\n\t\tfor (const ignoredKey of this.dontPersist) {\n\t\t\tdelete persistable[ignoredKey];\n\t\t}\n\t\tlocalStorage.setItem(this.localStorageKey, JSON.stringify(persistable));\n\t}\n\n\tsetState(partialState) {\n\t\tconst prevState = this._state;\n\t\tthis._state = { ...prevState, ...partialState };\n\t\tthis.persist();\n\t\tthis.emit('change', [this._state, prevState, partialState]);\n\t}\n\n\tsetStoredState(storedState) {\n\t\tconst prevState = this._state;\n\n\t\tconst nonPeristable = {};\n\t\tfor (const ignoredKey of this.dontPersist) {\n\t\t\tnonPeristable[ignoredKey] = prevState[ignoredKey];\n\t\t}\n\t\tthis._state = { ...storedState, ...nonPeristable };\n\t\tthis.emit('change', [this._state, prevState]);\n\t}\n}\n","import { h, Component, createContext } from 'preact';\n\nimport { createToken } from '../lib/random';\nimport Store from './Store';\n\nexport const initialState = () => ({\n\ttoken: createToken(),\n\ttyping: [],\n\tconfig: {\n\t\tmessages: {},\n\t\tsettings: {},\n\t\ttheme: {},\n\t\ttriggers: [],\n\t\tdepartments: [],\n\t\tresources: {},\n\t},\n\tmessages: [],\n\tuser: null,\n\tsound: {\n\t\tsrc: '',\n\t\tenabled: true,\n\t\tplay: false,\n\t},\n\tiframe: {\n\t\tguest: {},\n\t\ttheme: {},\n\t\tvisible: true,\n\t},\n\tgdpr: {\n\t\taccepted: false,\n\t},\n\talerts: [],\n\tvisible: true,\n\tminimized: true,\n\tunread: null,\n\tincomingCallAlert: null,\n\tongoingCall: null,\t// TODO: store call info like url, startTime, timeout, etc here\n});\n\nconst dontPersist = ['messages', 'typing', 'loading', 'alerts', 'unread', 'noMoreMessages', 'modal', 'incomingCallAlert', 'ongoingCall'];\nexport const store = new Store(initialState(), { dontPersist });\n\nif (process.env.NODE_ENV === 'development') {\n\tstore.on('change', ([, , partialState]) => {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.log('%cstore.setState %c%o', 'color: blue', 'color: initial', partialState);\n\t});\n}\n\n\nconst StoreContext = createContext();\n\nexport class Provider extends Component {\n\tstatic displayName = 'StoreProvider'\n\n\tstate = { ...store.state, dispatch: store.setState.bind(store) }\n\n\thandleStoreChange = () => {\n\t\tthis.setState({ ...store.state });\n\t}\n\n\tcomponentDidMount() {\n\t\tstore.on('change', this.handleStoreChange);\n\t}\n\n\tcomponentWillUnmount() {\n\t\tstore.off('change', this.handleStoreChange);\n\t}\n\n\trender = ({ children }) => (\n\t\t<StoreContext.Provider value={this.state}>\n\t\t\t{children}\n\t\t</StoreContext.Provider>\n\t)\n}\n\nexport const { Consumer } = StoreContext;\n\nexport default store;\n","export default {\n\tunreadMessagesAlertId: 'UNREAD_MESSAGES',\n\tconnectingAgentAlertId: 'CONNECTING_AGENT',\n\tlivechatConnectedAlertId: 'LIVECHAT_CONNECTED',\n\tlivechatDisconnectedAlertId: 'LIVECHAT_DISCONNECTED',\n\tlivechatQueueMessageId: 'LIVECHAT_QUEUE_MESSAGE',\n\twebRTCCallStartedMessageType: 'livechat_webrtc_video_call',\n\tjitsiCallStartedMessageType: 'jitsi_call_started',\n};\n","import parseISO from 'date-fns/parseISO';\nimport { Component } from 'preact';\n\nimport { Livechat, useSsl } from '../api';\nimport I18n from '../i18n';\nimport store from '../store';\n\nexport function flatMap(arr, mapFunc) {\n\tconst result = [];\n\tfor (const [index, elem] of arr.entries()) {\n\t\tconst x = mapFunc(elem, index, arr);\n\t\t// We allow mapFunc() to return non-Arrays\n\t\tif (Array.isArray(x)) {\n\t\t\tresult.push(...x);\n\t\t} else {\n\t\t\tresult.push(x);\n\t\t}\n\t}\n\treturn result;\n}\n\nexport const createClassName = (styles, elementName, modifiers = {}, classes = []) => [\n\tstyles[elementName],\n\t...flatMap(Object.entries(modifiers), ([modifierKey, modifierValue]) => [\n\t\tmodifierValue && styles[`${ elementName }--${ modifierKey }`],\n\t\ttypeof modifierValue !== 'boolean' && styles[`${ elementName }--${ modifierKey }-${ modifierValue }`],\n\t]).filter((className) => !!className), ...classes.filter((className) => !!className)].join(' ');\n\nexport async function asyncForEach(array, callback) {\n\tfor (let index = 0; index < array.length; index++) {\n\t\t// eslint-disable-next-line no-await-in-loop\n\t\tawait callback(array[index], index, array);\n\t}\n}\n\nexport async function asyncEvery(array, callback) {\n\tfor (let index = 0; index < array.length; index++) {\n\t\t// eslint-disable-next-line no-await-in-loop\n\t\tif (!await callback(array[index], index, array)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\nexport const debounce = (func, delay) => {\n\tlet inDebounce;\n\n\tfunction f(...args) {\n\t\tconst context = this;\n\t\tclearTimeout(inDebounce);\n\t\tinDebounce = setTimeout(() => func.apply(context, args), delay);\n\t\treturn context;\n\t}\n\n\tf.stop = () => clearTimeout(inDebounce);\n\n\treturn f;\n};\n\nexport const throttle = (func, limit) => {\n\tlet inThrottle;\n\treturn function(...args) {\n\t\tconst context = this;\n\t\tif (!inThrottle) {\n\t\t\tfunc.apply(context, args);\n\t\t\tinThrottle = true;\n\t\t\tsetTimeout(() => {\n\t\t\t\tinThrottle = false;\n\t\t\t}, limit);\n\t\t}\n\t};\n};\n\nexport function getInsertIndex(array, item, ranking) {\n\tconst order = ranking(item);\n\tlet min = 0;\n\tlet max = array.length - 1;\n\n\twhile (min <= max) {\n\t\tconst guess = Math.floor((min + max) / 2);\n\t\tconst guessedOrder = ranking(array[guess]);\n\t\tif (guessedOrder < order) {\n\t\t\tmin = guess + 1;\n\t\t} else if (guessedOrder > array[guess + 1]) {\n\t\t\treturn guess;\n\t\t} else {\n\t\t\tmax = guess - 1;\n\t\t}\n\t}\n\n\treturn array.length > 0 ? array.length : 0;\n}\n\nexport function upsert(array = [], item, predicate, ranking) {\n\tconst index = array.findIndex(predicate);\n\n\tif (index > -1) {\n\t\tarray[index] = item;\n\t\treturn array;\n\t}\n\n\tarray.splice(getInsertIndex(array, item, ranking), 0, item);\n\treturn array;\n}\n\n// This will allow widgets that are on different domains to send cookies to the server\n// The default config for same-site (lax) dissalows to send a cookie to a \"3rd party\" unless the user performs an action\n// like a click. Secure flag is required when SameSite is set to None\nconst getSecureCookieSettings = () => (useSsl ? 'SameSite=None; Secure;' : '');\n\nexport const setInitCookies = () => {\n\tdocument.cookie = `rc_is_widget=t; path=/; ${ getSecureCookieSettings() }`;\n\tdocument.cookie = `rc_room_type=l; path=/; ${ getSecureCookieSettings() }`;\n};\n\nexport const setCookies = (rid, token) => {\n\tdocument.cookie = `rc_rid=${ rid }; path=/; ${ getSecureCookieSettings() }`;\n\tdocument.cookie = `rc_token=${ token }; path=/; ${ getSecureCookieSettings() }`;\n\tdocument.cookie = `rc_room_type=l; path=/; ${ getSecureCookieSettings() }`;\n};\n\nexport const getAvatarUrl = (username) => (username ? `${ Livechat.client.host }/avatar/${ username }` : null);\n\nexport const msgTypesNotRendered = ['livechat_video_call', 'livechat_navigation_history', 'au', 'command', 'uj', 'ul', 'livechat-close'];\n\nexport const canRenderMessage = ({ t }) => !msgTypesNotRendered.includes(t);\n\nexport const getAttachmentUrl = (url) => `${ Livechat.client.host }${ url }`;\n\nexport const sortArrayByColumn = (array, column, inverted) => array.sort((a, b) => {\n\tif (a[column] < b[column] && !inverted) {\n\t\treturn -1;\n\t}\n\treturn 1;\n});\n\n\nexport const normalizeTransferHistoryMessage = (transferData, sender) => {\n\tif (!transferData) {\n\t\treturn;\n\t}\n\n\tconst { transferredBy, transferredTo, nextDepartment, scope } = transferData;\n\tconst from = transferredBy && (transferredBy.name || transferredBy.username);\n\n\tconst transferTypes = {\n\t\tagent: () => {\n\t\t\tif (!sender.username) {\n\t\t\t\treturn I18n.t('The chat was transferred to another agent');\n\t\t\t}\n\t\t\tconst to = transferredTo && (transferredTo.name || transferredTo.username);\n\t\t\treturn I18n.t('%{from} transferred the chat to %{to}', { from, to });\n\t\t},\n\t\tdepartment: () => {\n\t\t\tconst to = nextDepartment && nextDepartment.name;\n\t\t\treturn I18n.t('%{from} transferred the chat to the department %{to}', { from, to });\n\t\t},\n\t\tqueue: () => {\n\t\t\tif (!sender.username) {\n\t\t\t\treturn I18n.t('The chat was moved back to queue');\n\t\t\t}\n\t\t\treturn I18n.t('%{from} returned the chat to the queue', { from });\n\t\t},\n\t};\n\n\treturn transferTypes[scope]();\n};\n\nexport const parseOfflineMessage = (fields = {}) => {\n\tconst host = window.location.origin;\n\treturn Object.assign(fields, { host });\n};\nexport const normalizeDOMRect = ({ left, top, right, bottom }) => ({ left, top, right, bottom });\n\nexport const visibility = (() => {\n\tif (typeof document.hidden !== 'undefined') {\n\t\treturn {\n\t\t\tget hidden() {\n\t\t\t\treturn document.hidden;\n\t\t\t},\n\t\t\taddListener: (f) => document.addEventListener('visibilitychange', f, false),\n\t\t\tremoveListener: (f) => document.removeEventListener('visibilitychange', f, false),\n\t\t};\n\t}\n\n\tif (typeof document.msHidden !== 'undefined') {\n\t\treturn {\n\t\t\tget hidden() {\n\t\t\t\treturn document.msHidden;\n\t\t\t},\n\t\t\taddListener: (f) => document.addEventListener('msvisibilitychange', f, false),\n\t\t\tremoveListener: (f) => document.removeEventListener('msvisibilitychange', f, false),\n\t\t};\n\t}\n\n\tif (typeof document.webkitHidden !== 'undefined') {\n\t\treturn {\n\t\t\tget hidden() {\n\t\t\t\treturn document.webkitHidden;\n\t\t\t},\n\t\t\taddListener: (f) => document.addEventListener('webkitvisibilitychange', f, false),\n\t\t\tremoveListener: (f) => document.removeEventListener('webkitvisibilitychange', f, false),\n\t\t};\n\t}\n\n\treturn {\n\t\thidden: true,\n\t\taddListener: () => {},\n\t\tremoveListener: () => {},\n\t};\n})();\n\n\nexport class MemoizedComponent extends Component {\n\tshouldComponentUpdate(nextProps) {\n\t\tconst { props } = this;\n\n\t\tfor (const key in props) {\n\t\t\tif (props[key] !== nextProps[key]) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\tfor (const key in nextProps) {\n\t\t\tif (!(key in props)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n}\n\nexport const memo = (component) =>\n\tclass extends MemoizedComponent {\n\t\trender = component\n\t};\n\nexport const isActiveSession = () => {\n\tconst sessionId = sessionStorage.getItem('sessionId');\n\tconst { openSessionIds: [firstSessionId] = [] } = store.state;\n\n\treturn sessionId === firstSessionId;\n};\n\nexport const isMobileDevice = () => window.innerWidth <= 800 && window.innerHeight >= 630;\n\nexport const resolveDate = (dateInput) => {\n\tswitch (typeof dateInput) {\n\t\tcase Date: {\n\t\t\treturn dateInput;\n\t\t}\n\t\tcase 'object': {\n\t\t\treturn new Date(dateInput.$date);\n\t\t}\n\t\tcase 'string': {\n\t\t\treturn parseISO(dateInput);\n\t\t}\n\t\tdefault: {\n\t\t\treturn new Date(dateInput);\n\t\t}\n\t}\n};\n","import format from 'date-fns/format';\nimport { parseISO } from 'date-fns/fp';\n\nimport { Livechat } from '../api';\nimport { canRenderMessage } from '../components/helpers';\nimport I18n from '../i18n';\nimport store from '../store';\nimport constants from './constants';\n\nexport const loadConfig = async () => {\n\tconst {\n\t\ttoken,\n\t} = store.state;\n\n\tLivechat.credentials.token = token;\n\n\tconst {\n\t\tagent,\n\t\troom,\n\t\tguest: user,\n\t\tresources: { sound: src = null } = {},\n\t\tqueueInfo,\n\t\t...config\n\t} = await Livechat.config({ token });\n\n\tawait store.setState({\n\t\tconfig,\n\t\tagent: agent && agent.hiddenInfo ? { hiddenInfo: true } : agent, // TODO: revert it when the API is updated\n\t\troom,\n\t\tuser,\n\t\tqueueInfo,\n\t\tsound: { src, enabled: true, play: false },\n\t\tmessages: [],\n\t\ttyping: [],\n\t\tnoMoreMessages: false,\n\t\tvisible: true,\n\t\tunread: null,\n\t});\n};\n\nexport const processUnread = async () => {\n\tconst { minimized, visible, messages } = store.state;\n\tif (minimized || !visible) {\n\t\tconst { alerts, lastReadMessageId } = store.state;\n\t\tconst renderedMessages = messages.filter((message) => canRenderMessage(message));\n\t\tconst lastReadMessageIndex = renderedMessages.findIndex((item) => item._id === lastReadMessageId);\n\t\tconst unreadMessages = renderedMessages.slice(lastReadMessageIndex + 1);\n\n\t\tif (lastReadMessageIndex !== -1) {\n\t\t\tconst lastReadMessage = renderedMessages[lastReadMessageIndex];\n\t\t\tconst alertMessage = I18n.t({\n\t\t\t\tone: 'One new message since %{since}',\n\t\t\t\tother: '%{count} new messages since %{since}',\n\t\t\t}, {\n\t\t\t\tcount: unreadMessages.length,\n\t\t\t\tsince: format(parseISO(lastReadMessage.ts), 'HH:mm MMM dd'),\n\t\t\t});\n\t\t\tconst alert = { id: constants.unreadMessagesAlertId, children: alertMessage, success: true, timeout: 0 };\n\t\t\tconst newAlerts = alerts.filter((item) => item.id !== constants.unreadMessagesAlertId);\n\t\t\tawait store.setState({ alerts: (newAlerts.push(alert), newAlerts) });\n\t\t}\n\n\t\tawait store.setState({ unread: unreadMessages.length });\n\t}\n};\n","export const CallStatus = {\n\tRINGING: 'ringing',\n\tDECLINED: 'declined',\n\tIN_PROGRESS: 'inProgress', // although on Livechat we only use \"IN_PROGRESS_SAME_TAB\" and \"IN_PROGRESS_DIFFERENT_TAB\", we still need this status since on Rocket.Chat core, this is the status of ongoing calls\n\tIN_PROGRESS_SAME_TAB: 'inProgressSameTab',\n\tIN_PROGRESS_DIFFERENT_TAB: 'inProgressDifferentTab',\n\tENDED: 'ended',\n};\n\nexport const isCallOngoing = (callStatus) => callStatus === CallStatus.IN_PROGRESS\n\t|| callStatus === CallStatus.IN_PROGRESS_DIFFERENT_TAB\n\t|| callStatus === CallStatus.IN_PROGRESS_SAME_TAB;\n","import I18n from '../i18n';\nimport store from '../store';\n\n/**\n * To normalize Language String and return language code\n * @param {String} languageString\n */\nconst normalizeLanguageString = (languageString) => {\n\tlet [languageCode, countryCode] = languageString.split ? languageString.split(/[-_]/) : [];\n\tif (!languageCode || languageCode.length !== 2) {\n\t\treturn 'en';\n\t}\n\tlanguageCode = languageCode.toLowerCase();\n\n\tif (!countryCode || countryCode.length !== 2) {\n\t\tcountryCode = null;\n\t} else {\n\t\tcountryCode = countryCode.toUpperCase();\n\t}\n\n\treturn countryCode ? `${ languageCode }_${ countryCode }` : languageCode;\n};\n\n/**\n * To get browser Language of user\n */\nexport const browserLanguage = () => navigator.userLanguage || navigator.language;\n\n/**\n * This is configured langauge\n */\nexport const configLanguage = () => {\n\tconst { config: { settings: { language } = {} } = {}, iframe: { language: iframeLanguage } = {} } = store.state;\n\treturn iframeLanguage || language;\n};\n\n/**\n * This will update langauge of widget\n */\nexport const setWidgetLanguage = () => I18n.changeLocale(normalizeLanguageString(configLanguage() || browserLanguage()));\n\nexport const getDateFnsLocale = () => {\n\tconst supportedLocales = [\n\t\t'af', 'ar', 'be', 'bg', 'bn', 'ca', 'cs', 'cy', 'da', 'de',\n\t\t'el', 'en-AU', 'en-CA', 'en-GB', 'en-US', 'eo', 'es', 'et',\n\t\t'fa-IR', 'fi', 'fr', 'fr-CA', 'gl', 'gu', 'he', 'hi', 'hr',\n\t\t'hu', 'hy', 'id', 'is', 'it', 'ja', 'ka', 'kk', 'ko', 'lt',\n\t\t'lv', 'nb', 'nl', 'nn', 'pl', 'pt', 'pt-BR', 'ro', 'ru', 'sk',\n\t\t'sl', 'sr', 'sr-Latn', 'sv', 'ta', 'te', 'th', 'tr', 'ug',\n\t\t'uk', 'vi', 'zh_CN', 'zh_TW',\n\t];\n\n\tlet fullLanguage = configLanguage() || browserLanguage();\n\tfullLanguage = fullLanguage.toLowerCase();\n\tconst [languageCode] = fullLanguage.split ? fullLanguage.split(/[-_]/) : [];\n\tconst locale = [fullLanguage, languageCode, 'en-US'].find((lng) => supportedLocales.indexOf(lng) > -1);\n\t// eslint-disable-next-line import/no-dynamic-require\n\treturn require(`date-fns/locale/${ locale }/index.js`);\n};\n","import { formatDistance } from 'date-fns';\n\nimport I18n from '../i18n';\nimport { getDateFnsLocale } from './locale';\n\nexport const normalizeAgent = (agentData) => agentData && { name: agentData.name, username: agentData.username, status: agentData.status };\n\nexport const normalizeQueueAlert = (queueInfo) => {\n\tif (!queueInfo) {\n\t\treturn;\n\t}\n\n\tconst { spot, estimatedWaitTimeSeconds } = queueInfo;\n\tconst locale = getDateFnsLocale();\n\tconst estimatedWaitTime = estimatedWaitTimeSeconds && formatDistance(new Date().setSeconds(estimatedWaitTimeSeconds), new Date(), { locale });\n\treturn spot > 0\n\t&& (\n\t\testimatedWaitTime\n\t\t\t? I18n.t('Your spot is #%{spot} (Estimated wait time: %{estimatedWaitTime})', { spot, estimatedWaitTime })\n\t\t\t: I18n.t('Your spot is #%{spot}', { spot })\n\t);\n};\n","import store from '../store';\n\nexport default class Commands {\n\tconnected() {\n\t\tstore.setState({ connecting: false });\n\t}\n}\n","import { Livechat } from '../api';\nimport { upsert } from '../components/helpers';\nimport { store } from '../store';\nimport { createToken } from './random';\n\nconst addParentMessage = async (parentMessage) => {\n\tconst { state } = store;\n\tconst { parentMessages = [] } = state;\n\tconst { tmid } = parentMessage;\n\n\tif (!parentMessages.find((msg) => msg._id === tmid)) {\n\t\tawait store.setState({ parentMessages: upsert(parentMessages, parentMessage, ({ _id }) => _id === parentMessage._id, ({ ts }) => ts) });\n\t}\n};\n\nconst isThreadMessage = async (message) => {\n\tif (!message || !message.replies) {\n\t\treturn false;\n\t}\n\n\tawait addParentMessage(message);\n\treturn true;\n};\n\nconst findParentMessage = async (tmid) => {\n\tconst { state } = store;\n\tconst { parentMessages = [], room, alerts } = state;\n\n\tlet parentMessage = parentMessages.find((msg) => msg._id === tmid);\n\tif (!parentMessage) {\n\t\tconst { _id: rid } = room;\n\t\ttry {\n\t\t\tparentMessage = await Livechat.message(tmid, { rid });\n\t\t\tawait addParentMessage(parentMessage);\n\t\t} catch (error) {\n\t\t\tconst { data: { error: reason } } = error;\n\t\t\tconst alert = { id: createToken(), children: reason, error: true, timeout: 5000 };\n\t\t\tawait store.setState({ alerts: (alerts.push(alert), alerts) });\n\t\t}\n\t}\n\n\treturn parentMessage;\n};\n\nconst normalizeThreadMessage = async (message) => {\n\tconst { state } = store;\n\tconst { messages = [] } = state;\n\n\tlet parentMessage = messages.find((msg) => msg._id === message.tmid);\n\tif (!parentMessage) {\n\t\tparentMessage = await findParentMessage(message.tmid);\n\t}\n\tconst { msg, attachments = [] } = parentMessage;\n\treturn Object.assign(message, { threadMsg: parentMessage, attachments: [{ attachments, text: msg, tmid: message.tmid }] });\n};\n\nexport const normalizeMessage = async (message) => {\n\tconst isThreadMsg = await isThreadMessage(message);\n\tif (isThreadMsg) {\n\t\treturn null;\n\t}\n\n\tif (message && message.tmid && !message.threadMsg) {\n\t\treturn normalizeThreadMessage(message);\n\t}\n\n\treturn message;\n};\n\nexport const normalizeMessages = (messages = []) => Promise.all(messages.filter((message) => !!normalizeMessage(message)));\n","import { h } from 'preact';\n\nimport { createClassName, memo } from '../helpers';\nimport styles from './styles.scss';\n\n\nconst handleMouseUp = ({ target }) => target.blur();\n\nexport const Button = memo(({\n\tsubmit,\n\tdisabled,\n\toutline,\n\tnude,\n\tdanger,\n\tsecondary,\n\tstack,\n\tsmall,\n\tloading,\n\tbadge,\n\ticon,\n\tonClick,\n\tclassName,\n\tstyle = {},\n\tchildren,\n\timg,\n}) => (\n\t<button\n\t\ttype={submit ? 'submit' : 'button'}\n\t\tdisabled={disabled}\n\t\tonClick={onClick}\n\t\tonMouseUp={handleMouseUp}\n\t\taria-label={icon ? children[0] : null}\n\t\tclassName={createClassName(styles, 'button', {\n\t\t\tdisabled,\n\t\t\toutline,\n\t\t\tnude,\n\t\t\tdanger,\n\t\t\tsecondary,\n\t\t\tstack,\n\t\t\tsmall,\n\t\t\tloading,\n\t\t\ticon: !!icon,\n\t\t\timg,\n\t\t}, [className])}\n\t\tstyle={Object.assign({}, style, img && {\n\t\t\tbackgroundImage: `url(${ img })`,\n\t\t})}\n\t>\n\t\t{badge ? (<span className={createClassName(styles, 'button__badge')}>{badge}</span>) : null}\n\t\t{!img && (icon || children)}\n\t</button>\n));\n","import { h, cloneElement, toChildArray } from 'preact';\n\n\nimport { createClassName, memo } from '../helpers';\nimport styles from './styles.scss';\n\n\nexport const ButtonGroup = memo(({ children }) => (\n\t<div className={createClassName(styles, 'button-group')}>\n\t\t{toChildArray(children).map((child) => cloneElement(child, { className: createClassName(styles, 'button-group__item') }))}\n\t</div>\n));\n","import { h, Component } from 'preact';\n\nimport I18n from '../../i18n';\nimport { Button } from '../Button';\nimport { ButtonGroup } from '../ButtonGroup';\nimport { createClassName } from '../helpers';\nimport styles from './styles.scss';\n\n\nexport class Modal extends Component {\n\tstatic defaultProps = {\n\t\tdismissByOverlay: true,\n\t}\n\n\thandleKeyDown = ({ key }) => {\n\t\tif (key === 'Escape') {\n\t\t\tthis.triggerDismiss();\n\t\t}\n\t}\n\n\thandleTouchStart = () => {\n\t\tconst { dismissByOverlay } = this.props;\n\t\tdismissByOverlay && this.triggerDismiss();\n\t}\n\n\thandleMouseDown = () => {\n\t\tconst { dismissByOverlay } = this.props;\n\t\tdismissByOverlay && this.triggerDismiss();\n\t}\n\n\ttriggerDismiss = () => {\n\t\tconst { onDismiss } = this.props;\n\t\tthis.mounted && onDismiss && onDismiss();\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.mounted = true;\n\t\twindow.addEventListener('keydown', this.handleKeyDown, false);\n\t\tconst { timeout } = this.props;\n\t\tif (Number.isFinite(timeout) && timeout > 0) {\n\t\t\tsetTimeout(() => this.triggerDismiss(), timeout);\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.mounted = false;\n\t\twindow.removeEventListener('keydown', this.handleKeyDown, false);\n\t}\n\n\trender = ({ children, animated, open, ...props }) => (\n\t\topen ? (\n\t\t\t<div\n\t\t\t\tonTouchStart={this.handleTouchStart}\n\t\t\t\tonMouseDown={this.handleMouseDown}\n\t\t\t\tclassName={createClassName(styles, 'modal__overlay')}\n\t\t\t>\n\t\t\t\t<div className={createClassName(styles, 'modal', { animated })} {...props}>{children}</div>\n\t\t\t</div>\n\t\t) : null\n\t)\n}\n\n\nexport const ModalMessage = ({ children }) => (\n\t<div className={createClassName(styles, 'modal__message')}>\n\t\t{children}\n\t</div>\n);\n\n\nexport const ConfirmationModal = ({\n\ttext,\n\tconfirmButtonText = I18n.t('Yes'),\n\tcancelButtonText = I18n.t('No'),\n\tonConfirm,\n\tonCancel,\n\t...props\n}) => (\n\t<Modal open animated dismissByOverlay={false} {...props}>\n\t\t<Modal.Message>{text}</Modal.Message>\n\t\t<ButtonGroup>\n\t\t\t<Button outline secondary onClick={onCancel}>{cancelButtonText}</Button>\n\t\t\t<Button danger onClick={onConfirm}>{confirmButtonText}</Button>\n\t\t</ButtonGroup>\n\t</Modal>\n);\n\n\nexport const AlertModal = ({ text, buttonText = I18n.t('OK'), onConfirm, ...props }) => (\n\t<Modal open animated dismissByOverlay={false} {...props}>\n\t\t<Modal.Message>{text}</Modal.Message>\n\t\t<ButtonGroup>\n\t\t\t<Button secondary onClick={onConfirm}>{buttonText}</Button>\n\t\t</ButtonGroup>\n\t</Modal>\n);\n\n\nModal.Message = ModalMessage;\nModal.Confirm = ConfirmationModal;\nModal.Alert = AlertModal;\n\n\nexport default Modal;\n","import { h } from 'preact';\n\nimport store from '../../store';\nimport Modal from './component';\n\n\nexport default {\n\tconfirm(props = {}) {\n\t\treturn new Promise((resolve) => {\n\t\t\tconst handleButton = (success) => () => {\n\t\t\t\tstore.setState({ modal: null });\n\t\t\t\tresolve({ success });\n\t\t\t};\n\n\t\t\tstore.setState({\n\t\t\t\tmodal: <Modal.Confirm {...props} onConfirm={handleButton(true)} onCancel={handleButton(false)} />,\n\t\t\t});\n\t\t});\n\t},\n\n\talert(props = {}) {\n\t\treturn new Promise((resolve) => {\n\t\t\tconst handleButton = () => () => {\n\t\t\t\tstore.setState({ modal: null });\n\t\t\t\tresolve({ success: true });\n\t\t\t};\n\n\t\t\tstore.setState({\n\t\t\t\tmodal: <Modal.Alert {...props} onConfirm={handleButton()} />,\n\t\t\t});\n\t\t});\n\t},\n};\n","import { Livechat } from '../api';\nimport { ModalManager } from '../components/Modal';\nimport store from '../store';\n\n\nconst promptTranscript = async () => {\n\tconst { config: { messages: { transcriptMessage } }, user: { token, visitorEmails }, room: { _id } } = store.state;\n\tconst email = visitorEmails && visitorEmails.length > 0 ? visitorEmails[0].address : '';\n\tif (!email) {\n\t\treturn;\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tconst message = transcriptMessage || 'Would you like a copy if this chat emailed'; // (TAPi18n.__('Would_you_like_a_copy_if_this_chat_emailed'));\n\n\treturn ModalManager.confirm({\n\t\ttext: message,\n\t}).then((result) => {\n\t\tif ((typeof result.success === 'boolean') && result.success) {\n\t\t\treturn Livechat.requestTranscript(email, { token, rid: _id });\n\t\t}\n\t});\n};\n\nconst transcriptSentAlert = (message) => ModalManager.alert({\n\ttext: message,\n\ttimeout: 1000,\n});\n\n\nexport const handleTranscript = async () => {\n\tconst { config: { settings: { transcript } = {} } } = store.state;\n\n\tif (!transcript) {\n\t\treturn;\n\t}\n\n\tconst result = await promptTranscript();\n\tif (result && result.success) {\n\t\ttranscriptSentAlert(result.message);\n\t}\n};\n","import { route } from 'preact-router';\n\nimport { Livechat } from '../api';\nimport { CallStatus, isCallOngoing } from '../components/Calls/CallStatus';\nimport { setCookies, upsert, canRenderMessage } from '../components/helpers';\nimport I18n from '../i18n';\nimport { store, initialState } from '../store';\nimport { normalizeAgent } from './api';\nimport Commands from './commands';\nimport constants from './constants';\nimport { loadConfig, processUnread } from './main';\nimport { parentCall } from './parentCall';\nimport { createToken } from './random';\nimport { normalizeMessage, normalizeMessages } from './threads';\nimport { handleTranscript } from './transcript';\n\n\nconst commands = new Commands();\n\nexport const closeChat = async ({ transcriptRequested } = {}) => {\n\tif (!transcriptRequested) {\n\t\tawait handleTranscript();\n\t}\n\n\tconst { config: { settings: { clearLocalStorageWhenChatEnded } = {} } = {} } = store.state;\n\n\tif (clearLocalStorageWhenChatEnded) {\n\t\t// exclude UI-affecting flags\n\t\tconst { minimized, visible, undocked, expanded, ...initial } = initialState();\n\t\tawait store.setState(initial);\n\t}\n\n\tawait loadConfig();\n\tparentCall('callback', 'chat-ended');\n\troute('/chat-finished');\n};\n\n// TODO: use a separate event to listen to call start event. Listening on the message type isn't a good solution\nexport const processIncomingCallMessage = async (message) => {\n\tconst { alerts } = store.state;\n\ttry {\n\t\tawait store.setState({\n\t\t\tincomingCallAlert: {\n\t\t\t\tshow: true,\n\t\t\t\tcallProvider: message.t,\n\t\t\t\tcallerUsername: message.u.username,\n\t\t\t\trid: message.rid,\n\t\t\t\ttime: message.ts,\n\t\t\t\tcallId: message._id,\n\t\t\t\turl: message.t === constants.jitsiCallStartedMessageType ? message.customFields.jitsiCallUrl : '',\n\t\t\t},\n\t\t\tongoingCall: {\n\t\t\t\tcallStatus: CallStatus.RINGING,\n\t\t\t\ttime: message.ts,\n\t\t\t},\n\t\t});\n\t} catch (err) {\n\t\tconsole.error(err);\n\t\tconst alert = { id: createToken(), children: I18n.t('error_getting_call_alert'), error: true, timeout: 5000 };\n\t\tawait store.setState({ alerts: (alerts.push(alert), alerts) });\n\t}\n};\n\nconst processMessage = async (message) => {\n\tif (message.t === 'livechat-close') {\n\t\tcloseChat(message);\n\t} else if (message.t === 'command') {\n\t\tcommands[message.msg] && commands[message.msg]();\n\t} else if (message.webRtcCallEndTs) {\n\t\tawait store.setState({ ongoingCall: { callStatus: CallStatus.ENDED, time: message.ts }, incomingCallAlert: null });\n\t} else if (message.t === constants.webRTCCallStartedMessageType || message.t === constants.jitsiCallStartedMessageType) {\n\t\tawait processIncomingCallMessage(message);\n\t}\n};\n\nconst doPlaySound = async (message) => {\n\tconst { sound, user } = store.state;\n\n\tif (!sound.enabled || (user && message.u && message.u._id === user._id)) {\n\t\treturn;\n\t}\n\n\tawait store.setState({ sound: { ...sound, play: true } });\n};\n\nexport const initRoom = async () => {\n\tconst { state } = store;\n\tconst { room } = state;\n\n\tif (!room) {\n\t\treturn;\n\t}\n\n\tLivechat.unsubscribeAll();\n\n\tconst { token, agent, queueInfo, room: { _id: rid, servedBy } } = state;\n\tLivechat.subscribeRoom(rid);\n\n\tlet roomAgent = agent;\n\tif (!roomAgent) {\n\t\tif (servedBy) {\n\t\t\troomAgent = await Livechat.agent({ rid });\n\t\t\tawait store.setState({ agent: roomAgent, queueInfo: null });\n\t\t\tparentCall('callback', ['assign-agent', normalizeAgent(roomAgent)]);\n\t\t}\n\t}\n\n\tif (queueInfo) {\n\t\tparentCall('callback', ['queue-position-change', queueInfo]);\n\t}\n\n\tLivechat.onAgentChange(rid, async (agent) => {\n\t\tawait store.setState({ agent, queueInfo: null });\n\t\tparentCall('callback', ['assign-agent', normalizeAgent(agent)]);\n\t});\n\n\tLivechat.onAgentStatusChange(rid, (status) => {\n\t\tconst { agent } = store.state;\n\t\tagent && store.setState({ agent: { ...agent, status } });\n\t\tparentCall('callback', ['agent-status-change', normalizeAgent(agent)]);\n\t});\n\n\tLivechat.onQueuePositionChange(rid, async (queueInfo) => {\n\t\tawait store.setState({ queueInfo });\n\t\tparentCall('callback', ['queue-position-change', queueInfo]);\n\t});\n\n\tsetCookies(rid, token);\n};\n\nconst isAgentHidden = () => {\n\tconst { config: { settings: { agentHiddenInfo } = {} } = {} } = store.state;\n\n\treturn !!agentHiddenInfo;\n};\n\nconst transformAgentInformationOnMessage = (message) => {\n\tconst { user } = store.state;\n\tif (message && user && message.u && message.u._id !== user._id && isAgentHidden()) {\n\t\treturn { ...message, u: { _id: message.u._id } };\n\t}\n\n\treturn message;\n};\n\nLivechat.onTyping((username, isTyping) => {\n\tconst { typing, user, agent } = store.state;\n\n\tif (user && user.username && user.username === username) {\n\t\treturn;\n\t}\n\n\tif (agent && agent.hiddenInfo) {\n\t\treturn;\n\t}\n\n\tif (typing.indexOf(username) === -1 && isTyping) {\n\t\ttyping.push(username);\n\t\treturn store.setState({ typing });\n\t}\n\n\tif (!isTyping) {\n\t\treturn store.setState({ typing: typing.filter((u) => u !== username) });\n\t}\n});\n\nLivechat.onMessage(async (message) => {\n\tif (message.ts instanceof Date) {\n\t\tmessage.ts = message.ts.toISOString();\n\t}\n\n\tmessage = await normalizeMessage(message);\n\tif (!message) {\n\t\treturn;\n\t}\n\n\tmessage = transformAgentInformationOnMessage(message);\n\n\tawait store.setState({\n\t\tmessages: upsert(store.state.messages, message, ({ _id }) => _id === message._id, ({ ts }) => ts),\n\t});\n\n\tawait processMessage(message);\n\n\tif (canRenderMessage(message) !== true) {\n\t\treturn;\n\t}\n\n\tif (message.editedAt) {\n\t\treturn;\n\t}\n\n\tawait processUnread();\n\tawait doPlaySound(message);\n});\n\nexport const getGreetingMessages = (messages) => messages && messages.filter((msg) => msg.trigger);\nexport const getLatestCallMessage = (messages) => messages && messages.filter((msg) => msg.t === constants.webRTCCallStartedMessageType || msg.t === constants.jitsiCallStartedMessageType).pop();\n\nexport const loadMessages = async () => {\n\tconst { ongoingCall } = store.state;\n\n\tconst { messages: storedMessages, room: { _id: rid, callStatus } = {} } = store.state;\n\tconst previousMessages = getGreetingMessages(storedMessages);\n\tif (!rid) {\n\t\treturn;\n\t}\n\n\tawait store.setState({ loading: true });\n\tconst rawMessages = (await Livechat.loadMessages(rid)).concat(previousMessages);\n\tconst messages = (await normalizeMessages(rawMessages)).map(transformAgentInformationOnMessage);\n\n\tawait initRoom();\n\tawait store.setState({ messages: (messages || []).reverse(), noMoreMessages: false, loading: false });\n\n\tif (messages && messages.length) {\n\t\tconst lastMessage = messages[messages.length - 1];\n\t\tawait store.setState({ lastReadMessageId: lastMessage && lastMessage._id });\n\t}\n\n\tif (ongoingCall && isCallOngoing(ongoingCall.callStatus)) {\n\t\treturn;\n\t}\n\n\tconst latestCallMessage = getLatestCallMessage(messages);\n\tif (!latestCallMessage) {\n\t\treturn;\n\t}\n\tif (latestCallMessage.t === constants.jitsiCallStartedMessageType) {\n\t\tawait store.setState({\n\t\t\tongoingCall: {\n\t\t\t\tcallStatus: CallStatus.IN_PROGRESS_DIFFERENT_TAB,\n\t\t\t\ttime: latestCallMessage.ts,\n\t\t\t},\n\t\t\tincomingCallAlert: {\n\t\t\t\tshow: false,\n\t\t\t\tcallProvider:\n\t\t\t\tlatestCallMessage.t,\n\t\t\t\turl: latestCallMessage.customFields.jitsiCallUrl,\n\t\t\t},\n\t\t});\n\t\treturn;\n\t}\n\tswitch (callStatus) {\n\t\tcase CallStatus.IN_PROGRESS: {\n\t\t\tawait store.setState({\n\t\t\t\tongoingCall: {\n\t\t\t\t\tcallStatus: CallStatus.IN_PROGRESS_DIFFERENT_TAB,\n\t\t\t\t\ttime: latestCallMessage.ts,\n\t\t\t\t},\n\t\t\t\tincomingCallAlert: {\n\t\t\t\t\tshow: false,\n\t\t\t\t\tcallProvider: latestCallMessage.t,\n\t\t\t\t},\n\t\t\t});\n\t\t\tbreak;\n\t\t}\n\t\tcase CallStatus.RINGING: {\n\t\t\tprocessIncomingCallMessage(latestCallMessage);\n\t\t}\n\t}\n};\n\nexport const loadMoreMessages = async () => {\n\tconst { room: { _id: rid } = {}, messages = [], noMoreMessages = false } = store.state;\n\n\tif (!rid || noMoreMessages) {\n\t\treturn;\n\t}\n\n\tawait store.setState({ loading: true });\n\n\tconst rawMessages = await Livechat.loadMessages(rid, { limit: messages.length + 10 });\n\tconst moreMessages = (await normalizeMessages(rawMessages)).map(transformAgentInformationOnMessage);\n\n\tawait store.setState({\n\t\tmessages: (moreMessages || []).reverse(),\n\t\tnoMoreMessages: messages.length + 10 > moreMessages.length,\n\t\tloading: false,\n\t});\n};\n\nexport const defaultRoomParams = () => {\n\tconst params = {};\n\n\tconst { defaultAgent: agent = {} } = store.state;\n\tif (agent && agent._id) {\n\t\tObject.assign(params, { agentId: agent._id });\n\t}\n\n\treturn params;\n};\n\nstore.on('change', ([state, prevState]) => {\n\t// Cross-tab communication\n\t// Detects when a room is created and then route to the correct container\n\tif (!prevState.room && state.room) {\n\t\troute('/');\n\t}\n});\n","import { Livechat } from '../api';\nimport I18n from '../i18n';\nimport store from '../store';\nimport constants from './constants';\nimport { loadConfig } from './main';\nimport { loadMessages } from './room';\n\nlet self;\nlet timer;\nlet connectedListener;\nlet disconnectedListener;\nlet initiated = false;\nconst { livechatDisconnectedAlertId, livechatConnectedAlertId } = constants;\nconst removeListener = (l) => l.stop();\n\nconst Connection = {\n\tasync init() {\n\t\tif (initiated) {\n\t\t\treturn;\n\t\t}\n\n\t\tinitiated = true;\n\t\tself = this;\n\t\tawait this.connect();\n\t},\n\n\tasync connect() {\n\t\ttry {\n\t\t\tthis.clearListeners();\n\t\t\tawait loadConfig();\n\t\t\tawait Livechat.connect();\n\t\t\tthis.addListeners();\n\t\t\tthis.clearAlerts();\n\t\t} catch (e) {\n\t\t\tconsole.error('Connecting error: ', e);\n\t\t}\n\t},\n\n\treconnect() {\n\t\tif (timer) {\n\t\t\treturn;\n\t\t}\n\t\ttimer = setTimeout(async () => {\n\t\t\ttry {\n\t\t\t\tclearTimeout(timer);\n\t\t\t\ttimer = false;\n\t\t\t\tawait this.connect();\n\t\t\t\tawait loadMessages();\n\t\t\t} catch (e) {\n\t\t\t\tconsole.error('Reconecting error: ', e);\n\t\t\t\tthis.reconnect();\n\t\t\t}\n\t\t}, 5000);\n\t},\n\n\tasync clearAlerts() {\n\t\tconst { alerts } = store.state;\n\t\tawait store.setState({ alerts: alerts.filter((alert) => ![livechatDisconnectedAlertId, livechatConnectedAlertId].includes(alert.id)) });\n\t},\n\n\tasync displayAlert(alert = {}) {\n\t\tconst { alerts } = store.state;\n\t\tawait store.setState({ alerts: (alerts.push(alert), alerts) });\n\t},\n\n\tasync handleConnected() {\n\t\tawait self.clearAlerts();\n\t\tawait self.displayAlert({ id: livechatConnectedAlertId, children: I18n.t('Livechat connected.'), success: true });\n\t\tawait loadMessages();\n\t},\n\n\tasync handleDisconnected() {\n\t\tawait self.clearAlerts();\n\t\tawait self.displayAlert({ id: livechatDisconnectedAlertId, children: I18n.t('Livechat is not connected.'), error: true, timeout: 0 });\n\t\tself.reconnect();\n\t},\n\n\taddListeners() {\n\t\tif (!connectedListener) {\n\t\t\tconnectedListener = Livechat.onStreamData('connected', this.handleConnected);\n\t\t}\n\n\t\tif (!disconnectedListener) {\n\t\t\tdisconnectedListener = Livechat.onStreamData('close', this.handleDisconnected);\n\t\t}\n\t},\n\n\tclearListeners() {\n\t\tif (connectedListener) {\n\t\t\tconnectedListener.then(removeListener);\n\t\t\tconnectedListener = false;\n\t\t}\n\n\t\tif (disconnectedListener) {\n\t\t\tdisconnectedListener.then(removeListener);\n\t\t\tdisconnectedListener = false;\n\t\t}\n\t},\n};\n\nexport default Connection;\n","import { Livechat } from '../api';\nimport store from '../store';\n\nclass CustomFields {\n\tconstructor() {\n\t\tif (!CustomFields.instance) {\n\t\t\tthis._initiated = false;\n\t\t\tthis._started = false;\n\t\t\tthis._queue = {};\n\t\t\tCustomFields.instance = this;\n\t\t}\n\n\t\treturn CustomFields.instance;\n\t}\n\n\tinit() {\n\t\tif (this._initiated) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._initiated = true;\n\t\tconst { token } = store.state;\n\t\tLivechat.credentials.token = token;\n\n\t\tstore.on('change', this.handleStoreChange);\n\t}\n\n\treset() {\n\t\tthis._initiated = false;\n\t\tthis._started = false;\n\t\tthis._queue = {};\n\t\tstore.off('change', this.handleStoreChange);\n\t}\n\n\thandleStoreChange([state]) {\n\t\tconst { user } = state;\n\t\tconst { _started } = CustomFields.instance;\n\n\t\tif (_started) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!user) {\n\t\t\treturn;\n\t\t}\n\n\t\tCustomFields.instance._started = true;\n\t\tCustomFields.instance.processCustomFields();\n\t}\n\n\tprocessCustomFields() {\n\t\tObject.keys(this._queue).forEach((key) => {\n\t\t\tconst { value, overwrite } = this._queue[key];\n\t\t\tthis.setCustomField(key, value, overwrite);\n\t\t});\n\n\t\tthis._queue = {};\n\t}\n\n\tsetCustomField(key, value, overwrite = true) {\n\t\tif (!this._started) {\n\t\t\tthis._queue[key] = { value, overwrite };\n\t\t\treturn;\n\t\t}\n\n\t\tconst { token } = Livechat.credentials;\n\t\tLivechat.sendCustomField({ token, key, value, overwrite });\n\t}\n}\n\nconst instance = new CustomFields();\nexport default instance;\n","import { route } from 'preact-router';\n\nimport { Livechat } from '../api';\nimport { upsert, asyncForEach } from '../components/helpers';\nimport store from '../store';\nimport { normalizeAgent } from './api';\nimport { processUnread } from './main';\nimport { parentCall } from './parentCall';\nimport { createToken } from './random';\n\nconst agentCacheExpiry = 3600000;\nlet agentPromise;\nconst getAgent = (triggerAction) => {\n\tif (agentPromise) {\n\t\treturn agentPromise;\n\t}\n\n\tagentPromise = new Promise(async (resolve, reject) => {\n\t\tconst { params } = triggerAction;\n\n\t\tif (params.sender === 'queue') {\n\t\t\tconst { state } = store;\n\t\t\tconst { defaultAgent, iframe: { guest: { department } } } = state;\n\t\t\tif (defaultAgent && defaultAgent.ts && Date.now() - defaultAgent.ts < agentCacheExpiry) {\n\t\t\t\treturn resolve(defaultAgent); // cache valid for 1\n\t\t\t}\n\n\t\t\tlet agent;\n\t\t\ttry {\n\t\t\t\tagent = await Livechat.nextAgent(department);\n\t\t\t} catch (error) {\n\t\t\t\treturn reject(error);\n\t\t\t}\n\n\t\t\tstore.setState({ defaultAgent: { ...agent, ts: Date.now() } });\n\t\t\tresolve(agent);\n\t\t} else if (params.sender === 'custom') {\n\t\t\tresolve({\n\t\t\t\tusername: params.name,\n\t\t\t});\n\t\t} else {\n\t\t\treject('Unknown sender');\n\t\t}\n\t});\n\n\t// expire the promise cache as well\n\tsetTimeout(() => {\n\t\tagentPromise = null;\n\t}, agentCacheExpiry);\n\n\treturn agentPromise;\n};\n\nclass Triggers {\n\tconstructor() {\n\t\tif (!Triggers.instance) {\n\t\t\tthis._started = false;\n\t\t\tthis._requests = [];\n\t\t\tthis._triggers = [];\n\t\t\tthis._enabled = true;\n\t\t\tTriggers.instance = this;\n\t\t}\n\n\t\treturn Triggers.instance;\n\t}\n\n\tinit() {\n\t\tif (this._started) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { token, firedTriggers = [], config: { triggers } } = store.state;\n\t\tLivechat.credentials.token = token;\n\n\t\tif (!(triggers && triggers.length > 0)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._started = true;\n\t\tthis._triggers = [...triggers];\n\n\t\tfiredTriggers.forEach((triggerId) => {\n\t\t\tthis._triggers.forEach((trigger) => {\n\t\t\t\tif (trigger._id === triggerId) {\n\t\t\t\t\ttrigger.skip = true;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\tthis.processTriggers();\n\t}\n\n\tasync fire(trigger) {\n\t\tconst { token, user, firedTriggers = [] } = store.state;\n\t\tif (!this._enabled || user) {\n\t\t\treturn;\n\t\t}\n\t\tconst { actions } = trigger;\n\n\t\tawait asyncForEach(actions, (action) => {\n\t\t\tif (action.name === 'send-message') {\n\t\t\t\ttrigger.skip = true;\n\n\t\t\t\tgetAgent(action).then(async (agent) => {\n\t\t\t\t\tconst ts = new Date();\n\n\t\t\t\t\tconst message = {\n\t\t\t\t\t\tmsg: action.params.msg,\n\t\t\t\t\t\ttoken,\n\t\t\t\t\t\tu: agent,\n\t\t\t\t\t\tts: ts.toISOString(),\n\t\t\t\t\t\t_id: createToken(),\n\t\t\t\t\t\ttrigger: true,\n\t\t\t\t\t};\n\n\t\t\t\t\tawait store.setState({\n\t\t\t\t\t\ttriggered: true,\n\t\t\t\t\t\tmessages: upsert(store.state.messages, message, ({ _id }) => _id === message._id, ({ ts }) => ts),\n\t\t\t\t\t});\n\t\t\t\t\tawait processUnread();\n\n\t\t\t\t\tif (agent && agent._id) {\n\t\t\t\t\t\tawait store.setState({ agent });\n\t\t\t\t\t\tparentCall('callback', ['assign-agent', normalizeAgent(agent)]);\n\t\t\t\t\t}\n\n\t\t\t\t\troute('/trigger-messages');\n\t\t\t\t\tstore.setState({ minimized: false });\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\tif (trigger.runOnce) {\n\t\t\ttrigger.skip = true;\n\t\t\tfiredTriggers.push(trigger._id);\n\t\t\tstore.setState({ firedTriggers });\n\t\t}\n\t}\n\n\tprocessRequest(request) {\n\t\tthis._requests.push(request);\n\t\tif (!this._started) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.processTriggers();\n\t}\n\n\tprocessTriggers() {\n\t\tthis._triggers.forEach((trigger) => {\n\t\t\tif (trigger.skip) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = this;\n\t\t\ttrigger.conditions.forEach((condition) => {\n\t\t\t\tswitch (condition.name) {\n\t\t\t\t\tcase 'page-url':\n\t\t\t\t\t\tthis._requests.forEach((request) => {\n\t\t\t\t\t\t\tconst hrefRegExp = new RegExp(condition.value, 'g');\n\t\t\t\t\t\t\tif (request.location.href.match(hrefRegExp)) {\n\t\t\t\t\t\t\t\tself.fire(trigger);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\tthis._requests = [];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'time-on-site':\n\t\t\t\t\t\tif (trigger.timeout) {\n\t\t\t\t\t\t\tclearTimeout(trigger.timeout);\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttrigger.timeout = setTimeout(() => {\n\t\t\t\t\t\t\tthis.fire(trigger);\n\t\t\t\t\t\t}, parseInt(condition.value, 10) * 1000);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\tset triggers(newTriggers) {\n\t\tthis._triggers = [...newTriggers];\n\t}\n\n\tset enabled(value) {\n\t\tthis._enabled = value;\n\t}\n}\n\nconst instance = new Triggers();\nexport default instance;\n","import { Livechat } from '../api';\nimport { store } from '../store';\nimport CustomFields from './customFields';\nimport { setWidgetLanguage } from './locale';\nimport { loadConfig } from './main';\nimport { parentCall } from './parentCall';\nimport { createToken } from './random';\nimport Triggers from './triggers';\n\nconst createOrUpdateGuest = async (guest) => {\n\tconst { token } = guest;\n\ttoken && await store.setState({ token });\n\ttoken && await loadConfig();\n\tconst user = await Livechat.grantVisitor({ visitor: { ...guest } });\n\tstore.setState({ user });\n};\n\nconst updateIframeGuestData = (data) => {\n\tconst { iframe, iframe: { guest }, user: _id, token } = store.state;\n\tstore.setState({ iframe: { ...iframe, guest: { ...guest, ...data } } });\n\n\tif (!_id) {\n\t\treturn;\n\t}\n\n\tconst guestData = { token, ...data };\n\tcreateOrUpdateGuest(guestData);\n};\n\nconst api = {\n\tpageVisited(info) {\n\t\tif (info.change === 'url') {\n\t\t\tTriggers.processRequest(info);\n\t\t}\n\n\t\tconst { token, room: { _id: rid } = {} } = store.state;\n\t\tconst { change, title, location: { href } } = info;\n\n\t\tLivechat.sendVisitorNavigation({ token, rid, pageInfo: { change, title, location: { href } } });\n\t},\n\n\tsetCustomField(key, value, overwrite = true) {\n\t\tCustomFields.setCustomField(key, value, overwrite);\n\t},\n\n\tsetTheme({ color, fontColor, iconColor, title, offlineTitle } = {}) {\n\t\tconst { iframe, iframe: { theme } } = store.state;\n\t\tstore.setState({\n\t\t\tiframe: {\n\t\t\t\t...iframe,\n\t\t\t\ttheme: {\n\t\t\t\t\t...theme,\n\t\t\t\t\tcolor,\n\t\t\t\t\tfontColor,\n\t\t\t\t\ticonColor,\n\t\t\t\t\ttitle,\n\t\t\t\t\tofflineTitle,\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t},\n\n\tsetDepartment(value) {\n\t\tconst { config: { departments = [] } } = store.state;\n\n\t\tconst dept = departments.find((dep) => dep._id === value || dep.name === value);\n\t\tconst department = (dept && dept._id) || '';\n\n\t\tupdateIframeGuestData({ department });\n\t},\n\n\tclearDepartment() {\n\t\tupdateIframeGuestData({ department: '' });\n\t},\n\n\tsetAgent({ _id, username, ...props } = {}) {\n\t\tif (!_id || !username) {\n\t\t\treturn console.warn('The fields _id and username are mandatory.');\n\t\t}\n\n\t\tstore.setState({\n\t\t\tdefaultAgent: {\n\t\t\t\t_id,\n\t\t\t\tusername,\n\t\t\t\tts: Date.now(),\n\t\t\t\t...props,\n\t\t\t},\n\t\t});\n\t},\n\n\tsetExpanded(expanded) {\n\t\tstore.setState({ expanded });\n\t},\n\n\tasync setGuestToken(token) {\n\t\tconst { token: localToken, iframe, iframe: { guest } } = store.state;\n\t\tif (token === localToken) {\n\t\t\treturn;\n\t\t}\n\t\tstore.setState({ token, iframe: { ...iframe, guest: { ...guest, token } } });\n\t\tawait loadConfig();\n\t},\n\n\tsetGuestName(name) {\n\t\tupdateIframeGuestData({ name });\n\t},\n\n\tsetGuestEmail(email) {\n\t\tupdateIframeGuestData({ email });\n\t},\n\n\tregisterGuest(data = {}) {\n\t\tif (typeof data !== 'object') {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!data.token) {\n\t\t\tdata.token = createToken();\n\t\t}\n\n\t\tif (data.department) {\n\t\t\tapi.setDepartment(data.department);\n\t\t}\n\n\t\tcreateOrUpdateGuest(data);\n\t},\n\n\tasync setLanguage(language) {\n\t\tconst { iframe } = store.state;\n\t\tawait store.setState({ iframe: { ...iframe, language } });\n\t\tsetWidgetLanguage();\n\t},\n\n\tshowWidget() {\n\t\tconst { iframe } = store.state;\n\t\tstore.setState({ iframe: { ...iframe, visible: true } });\n\t\tparentCall('showWidget');\n\t},\n\n\thideWidget() {\n\t\tconst { iframe } = store.state;\n\t\tstore.setState({ iframe: { ...iframe, visible: false } });\n\t\tparentCall('hideWidget');\n\t},\n\n\tminimizeWidget() {\n\t\tstore.setState({ minimized: true });\n\t\tparentCall('closeWidget');\n\t},\n\n\tmaximizeWidget() {\n\t\tstore.setState({ minimized: false });\n\t\tparentCall('openWidget');\n\t},\n};\n\nconst onNewMessage = (event) => {\n\tif (event.source === event.target) {\n\t\treturn;\n\t}\n\n\tif (typeof event.data === 'object' && event.data.src !== undefined && event.data.src === 'rocketchat') {\n\t\tif (api[event.data.fn] !== undefined && typeof api[event.data.fn] === 'function') {\n\t\t\tconst args = [].concat(event.data.args || []);\n\t\t\tapi[event.data.fn].apply(null, args);\n\t\t}\n\t}\n};\n\nclass Hooks {\n\tconstructor() {\n\t\tif (!Hooks.instance) {\n\t\t\tthis._started = false;\n\t\t\tHooks.instance = this;\n\t\t}\n\n\t\treturn Hooks.instance;\n\t}\n\n\tinit() {\n\t\tif (this._started) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._started = true;\n\t\twindow.addEventListener('message', onNewMessage, false);\n\t}\n\n\treset() {\n\t\tthis._started = false;\n\t\twindow.removeEventListener('message', onNewMessage, false);\n\t}\n}\n\nconst instance = new Hooks();\nexport default instance;\n","import { Livechat } from '../api';\nimport store from '../store';\n\nconst docActivityEvents = ['mousemove', 'mousedown', 'touchend', 'keydown'];\nlet timer;\nlet initiated = false;\nconst awayTime = 300000;\nlet self;\nlet oldStatus;\n\nconst userPrensence = {\n\n\tinit() {\n\t\tif (initiated) {\n\t\t\treturn;\n\t\t}\n\n\t\tinitiated = true;\n\t\tself = this;\n\t\tstore.on('change', this.handleStoreChange);\n\t},\n\n\treset() {\n\t\tinitiated = false;\n\t\tthis.stopEvents();\n\t\tstore.off('change', this.handleStoreChange);\n\t},\n\n\tstopTimer() {\n\t\ttimer && clearTimeout(timer);\n\t},\n\n\tstartTimer() {\n\t\tthis.stopTimer();\n\t\ttimer = setTimeout(this.setAway, awayTime);\n\t},\n\n\thandleStoreChange([state]) {\n\t\tif (!initiated) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { room, user } = state;\n\t\troom && user ? self.startEvents() : self.stopEvents();\n\t},\n\n\tstartEvents() {\n\t\tdocActivityEvents.forEach((event) => {\n\t\t\tdocument.addEventListener(event, this.setOnline);\n\t\t});\n\n\t\twindow.addEventListener('focus', this.setOnline);\n\t},\n\n\tstopEvents() {\n\t\tdocActivityEvents.forEach((event) => {\n\t\t\tdocument.removeEventListener(event, this.setOnline);\n\t\t});\n\n\t\twindow.removeEventListener('focus', this.setOnline);\n\t\tthis.stopTimer();\n\t},\n\n\tasync setOnline() {\n\t\tself.startTimer();\n\t\tif (oldStatus === 'online') {\n\t\t\treturn;\n\t\t}\n\t\toldStatus = 'online';\n\t\tawait Livechat.updateVisitorStatus('online');\n\t},\n\n\tasync setAway() {\n\t\tself.stopTimer();\n\t\tif (oldStatus === 'away') {\n\t\t\treturn;\n\t\t}\n\t\toldStatus = 'away';\n\t\tawait Livechat.updateVisitorStatus('away');\n\t},\n};\n\nexport default userPrensence;\n","import { h } from 'preact';\n\nimport { Livechat } from '../../api';\nimport store from '../../store';\nimport { createClassName } from '../helpers';\nimport { CallStatus } from './CallStatus';\nimport styles from './styles.scss';\n\n\nexport const CallIframe = () => {\n\tconst { token, room, incomingCallAlert, ongoingCall } = store.state;\n\tconst url = `${ Livechat.client.host }/meet/${ room._id }?token=${ token }&layout=embedded`;\n\twindow.handleIframeClose = () => store.setState({ incomingCallAlert: { ...incomingCallAlert, show: false } });\n\twindow.expandCall = () => {\n\t\twindow.open(\n\t\t\t`${ Livechat.client.host }/meet/${ room._id }?token=${ token }`,\n\t\t\troom._id,\n\t\t);\n\t\treturn store.setState({\n\t\t\tincomingCallAlert: { ...incomingCallAlert, show: false },\n\t\t\tongoingCall: {\n\t\t\t\t...ongoingCall,\n\t\t\t\tcallStatus: CallStatus.IN_PROGRESS_DIFFERENT_TAB,\n\t\t\t},\n\t\t});\n\t};\n\treturn (\n\t\t<div className={createClassName(styles, 'call-iframe')}>\n\t\t\t<iframe className={createClassName(styles, 'call-iframe__content')} allow='camera;microphone' src={url} />\n\t\t</div>\n\t);\n};\n","import { h, Component } from 'preact';\n\nimport { createClassName } from '../helpers';\nimport styles from './styles.scss';\n\n\nexport class Avatar extends Component {\n\tstatic getDerivedStateFromProps(props) {\n\t\tif (props.src) {\n\t\t\treturn { errored: false };\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tstate = {\n\t\terrored: false,\n\t}\n\n\thandleError = () => {\n\t\tthis.setState({ errored: true });\n\t}\n\n\trender = ({ small, large, src, description, status, className, style }, { errored }) => (\n\t\t<div\n\t\t\taria-label='User picture'\n\t\t\tclassName={createClassName(styles, 'avatar', { small, large, nobg: src && !errored }, [className])}\n\t\t\tstyle={style}\n\t\t>\n\t\t\t{(src && !errored) && (\n\t\t\t\t<img\n\t\t\t\t\tsrc={src}\n\t\t\t\t\talt={description}\n\t\t\t\t\tclassName={createClassName(styles, 'avatar__image')}\n\t\t\t\t\tonError={this.handleError}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t{status && (\n\t\t\t\t<span className={createClassName(styles, 'avatar__status', { small, large, status })} />\n\t\t\t)}\n\t\t</div>\n\t)\n}\n","import { h } from 'preact';\nimport { useState } from 'preact/compat';\n\nimport { Livechat } from '../../api';\nimport I18n from '../../i18n';\nimport PhoneAccept from '../../icons/phone.svg';\nimport PhoneDecline from '../../icons/phoneOff.svg';\nimport constants from '../../lib/constants';\nimport store from '../../store';\nimport { Avatar } from '../Avatar';\nimport { Button } from '../Button';\nimport { createClassName, getAvatarUrl, isMobileDevice } from '../helpers';\nimport { CallStatus } from './CallStatus';\nimport styles from './styles.scss';\n\n\nexport const CallNotification = ({\n\tcallProvider,\n\tcallerUsername,\n\turl,\n\tdispatch,\n\ttime,\n\trid,\n\tcallId,\n}) => {\n\tconst [show, setShow] = useState(true);\n\n\tconst callInNewTab = async () => {\n\t\tconst { token } = store.state;\n\t\tconst url = `${ Livechat.client.host }/meet/${ rid }?token=${ token }`;\n\t\tawait dispatch({\n\t\t\tongoingCall: {\n\t\t\t\tcallStatus: CallStatus.IN_PROGRESS_DIFFERENT_TAB,\n\t\t\t\ttime: { time },\n\t\t\t},\n\t\t\tincomingCallAlert: {\n\t\t\t\tshow: false,\n\t\t\t\tcallProvider,\n\t\t\t},\n\t\t});\n\t\twindow.open(url, rid);\n\t};\n\n\tconst acceptClick = async () => {\n\t\tsetShow(!{ show });\n\t\tswitch (callProvider) {\n\t\t\tcase constants.jitsiCallStartedMessageType: {\n\t\t\t\twindow.open(url, rid);\n\t\t\t\tawait dispatch({\n\t\t\t\t\tincomingCallAlert: { show: false, url, callProvider },\n\t\t\t\t\tongoingCall: {\n\t\t\t\t\t\tcallStatus: CallStatus.IN_PROGRESS_DIFFERENT_TAB,\n\t\t\t\t\t\ttime: { time },\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase constants.webRTCCallStartedMessageType: {\n\t\t\t\tawait Livechat.updateCallStatus(CallStatus.IN_PROGRESS, rid, callId);\n\t\t\t\tif (isMobileDevice()) {\n\t\t\t\t\tcallInNewTab();\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tawait dispatch({ ongoingCall: { callStatus: CallStatus.IN_PROGRESS_SAME_TAB, time: { time } } });\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t};\n\n\tconst declineClick = async () => {\n\t\tawait Livechat.updateCallStatus(CallStatus.DECLINED, rid, callId);\n\t\tawait Livechat.notifyCallDeclined(rid);\n\t\tawait dispatch({\n\t\t\tincomingCallAlert: null,\n\t\t\tongoingCall: {\n\t\t\t\tcallStatus: CallStatus.DECLINED,\n\t\t\t\ttime: { time },\n\t\t\t},\n\t\t});\n\t};\n\n\treturn (\n\t\t<div className={createClassName(styles, 'call-notification')}>\n\t\t\t{\n\t\t\t\tshow && (\n\t\t\t\t\t<div className = { createClassName(styles, 'call-notification__content') }>\n\t\t\t\t\t\t<div className = { createClassName(styles, 'call-notification__content-avatar') }>\n\t\t\t\t\t\t\t<Avatar src = { getAvatarUrl(callerUsername) } large />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className = { createClassName(styles, 'call-notification__content-message') }>\n\t\t\t\t\t\t\t{ I18n.t('Incoming video Call') }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className = { createClassName(styles, 'call-notification__content-actions') }>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tonClick = { declineClick }\n\t\t\t\t\t\t\t\tclassName = { createClassName(styles, 'call-notification__content-actions-decline') }>\n\t\t\t\t\t\t\t\t<PhoneDecline width = {\t20 } height = { 20 } />\n\t\t\t\t\t\t\t\t<span style='margin-left:5px'> {I18n.t('Decline')} </span >\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t<Button onClick = { acceptClick }\n\t\t\t\t\t\t\t\tclassName = {createClassName(styles, 'call-notification__content-actions-accept') }>\n\t\t\t\t\t\t\t\t<PhoneAccept width = { 20 } height = { 20} />\n\t\t\t\t\t\t\t\t<span style='margin-left:5px'> {I18n.t('Accept')} </span >\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)\n\t\t\t}\n\t\t</div>\n\t);\n};\n","import { h } from 'preact';\n\nimport { createClassName, memo } from '../../helpers';\nimport styles from './styles.scss';\n\n\nexport const ComposerAction = memo(({ text, onClick, className, style = {}, children }) => (\n\t<button\n\t\ttype='button'\n\t\taria-label={text}\n\t\tonClick={onClick}\n\t\tclassName={createClassName(styles, 'composer__action', {}, [className])}\n\t\tstyle={style}\n\t>\n\t\t{children}\n\t</button>\n));\n","import { h } from 'preact';\n\nimport { createClassName, memo } from '../../helpers';\nimport styles from './styles.scss';\n\n\nexport const ComposerActions = memo(({ className, style = {}, children }) => (\n\t<div\n\t\tclassName={createClassName(styles, 'composer__actions', {}, [className])}\n\t\tstyle={style}\n\t>\n\t\t{children}\n\t</div>\n));\n","import { sanitize } from 'dompurify';\nimport mem from 'mem';\nimport { h, Component } from 'preact';\n\nimport { createClassName } from '../helpers';\nimport styles from './styles.scss';\n\n\nconst escapeMap = {\n\t'&': '&',\n\t'<': '<',\n\t'>': '>',\n\t'\"': '"',\n\t'\\'': ''',\n\t'`': '`',\n};\n\nconst escapeRegex = new RegExp(`(?:${ Object.keys(escapeMap).join('|') })`, 'g');\n\nconst escapeHtml = mem(\n\t(string) => string.replace(escapeRegex, (match) => escapeMap[match]),\n);\n\nconst parse = (plainText) =>\n\t[{ plain: plainText }]\n\t\t.map(({ plain, html }) => (plain ? escapeHtml(plain) : html || ''))\n\t\t.join('');\n\nconst findLastTextNode = (node) => {\n\tif (node.nodeType === Node.TEXT_NODE) {\n\t\treturn node;\n\t}\n\tconst children = node.childNodes;\n\tfor (let i = children.length - 1; i >= 0; i--) {\n\t\tconst textNode = findLastTextNode(children[i]);\n\t\tif (textNode !== null) {\n\t\t\treturn textNode;\n\t\t}\n\t}\n\treturn null;\n};\n\nconst replaceCaret = (el) => {\n\t// Place the caret at the end of the element\n\tconst target = findLastTextNode(el);\n\t// do not move caret if element was not focused\n\tconst isTargetFocused = document.activeElement === el;\n\tif (target !== null && target.nodeValue !== null && isTargetFocused) {\n\t\tconst range = document.createRange();\n\t\tconst sel = window.getSelection();\n\t\trange.setStart(target, target.nodeValue.length);\n\t\trange.collapse(true);\n\t\tsel.removeAllRanges();\n\t\tsel.addRange(range);\n\t\tif (el instanceof HTMLElement) {\n\t\t\tel.focus();\n\t\t}\n\t}\n};\n\nexport class Composer extends Component {\n\thandleRef = (el) => {\n\t\tthis.el = el;\n\t}\n\n\thandleInput = (onChange) => () => {\n\t\tif (this.state.inputLock) {\n\t\t\treturn;\n\t\t}\n\t\tonChange && onChange(sanitize(this.el.innerText));\n\t}\n\n\thandleKeypress = (onSubmit) => (event) => {\n\t\tif (event.which === 13 && !event.shiftKey) {\n\t\t\tevent.preventDefault();\n\t\t\tonSubmit && onSubmit(this.el.innerText);\n\t\t\tthis.el.innerText = '';\n\t\t}\n\t}\n\n\thandlePaste = (onUpload) => async (event) => {\n\t\tif (!event.clipboardData || !event.clipboardData.items) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\n\t\tconst items = Array.from(event.clipboardData.items);\n\n\t\tconst files = items.filter((item) => item.kind === 'file' && /^image\\//.test(item.type))\n\t\t\t.map((item) => item.getAsFile());\n\t\tif (files.length) {\n\t\t\tonUpload && onUpload(files);\n\t\t\treturn;\n\t\t}\n\n\t\tconst texts = await Promise.all(\n\t\t\titems.filter((item) => item.kind === 'string' && /^text\\/plain/.test(item.type))\n\t\t\t\t.map((item) => new Promise((resolve) => item.getAsString(resolve))),\n\t\t);\n\t\ttexts.forEach((text) => this.pasteText(parse(text)));\n\t}\n\n\thandleDrop = (onUpload) => async (event) => {\n\t\tif (!event.dataTransfer || !event.dataTransfer.items) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\n\t\tconst items = Array.from(event.dataTransfer.items);\n\n\t\tconst files = items.filter((item) => item.kind === 'file' && /^image\\//.test(item.type))\n\t\t\t.map((item) => item.getAsFile());\n\t\tif (files.length) {\n\t\t\tonUpload && onUpload(files);\n\t\t\treturn;\n\t\t}\n\n\t\tconst texts = await Promise.all(\n\t\t\titems.filter((item) => item.kind === 'string' && /^text\\/plain/.test(item.type))\n\t\t\t\t.map((item) => new Promise((resolve) => item.getAsString(resolve))),\n\t\t);\n\t\ttexts.forEach((text) => this.pasteText(parse(text)));\n\t}\n\n\thandleClick = () => {\n\t\tconst { handleEmojiClick } = this.props;\n\t\thandleEmojiClick && handleEmojiClick();\n\t}\n\n\tpasteText = (plainText) => {\n\t\tthis.el.focus();\n\n\t\tif (document.queryCommandSupported('insertText')) {\n\t\t\tdocument.execCommand('insertText', false, plainText);\n\t\t\treturn;\n\t\t}\n\n\t\tconst range = document.getSelection().getRangeAt(0);\n\t\trange.deleteContents();\n\t\tconst textNode = document.createTextNode(plainText);\n\t\trange.insertNode(textNode);\n\t\trange.selectNodeContents(textNode);\n\t\trange.collapse(false);\n\n\t\tconst selection = window.getSelection();\n\t\tselection.removeAllRanges();\n\t\tselection.addRange(range);\n\t}\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tinputLock: false,\n\t\t};\n\t\tthis.value = this.props.value;\n\t\tthis.handleNotifyEmojiSelect = this.handleNotifyEmojiSelect.bind(this);\n\n\t\tif (typeof this.props.notifyEmojiSelect === 'function') {\n\t\t\tthis.props.notifyEmojiSelect(this.handleNotifyEmojiSelect);\n\t\t}\n\t}\n\n\t// we only update composer if value length changed from 0 to 1 or 1 to 0\n\t// everything else is managed by this.el\n\tshouldComponentUpdate({ value: nextValue }) {\n\t\tconst { value, limitTextLength } = this.props;\n\n\t\tconst nextValueEmpty = !nextValue || nextValue.length === 0;\n\t\tconst valueEmpty = !value || value.length === 0;\n\n\t\tif (nextValueEmpty !== valueEmpty) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (nextValue.length === limitTextLength || value.length === limitTextLength) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tcomponentDidUpdate() {\n\t\tconst { el } = this;\n\t\tif (!el) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.props.value !== el.innerHTML) {\n\t\t\tthis.value = this.props.value;\n\t\t\tel.innerHTML = this.value;\n\t\t}\n\t\treplaceCaret(el);\n\t}\n\n\thandleNotifyEmojiSelect(emoji) {\n\t\tconst { onChange } = this.props;\n\t\tconst caretPosition = this.getCaretPosition(this.el);\n\t\tconst oldText = this.el.innerText;\n\t\tconst newText = `${ oldText.substr(0, caretPosition) }${ emoji } ${ oldText.substr(caretPosition) }`;\n\t\tthis.el.innerHTML = newText;\n\t\tthis.moveCursorToEndAndFocus(caretPosition + emoji.length + 1);\n\t\tonChange && onChange(this.el.innerText);\n\t}\n\n\tmoveCursorToEndAndFocus(endIndex) {\n\t\tconst setPos = document.createRange();\n\t\tconst set = window.getSelection();\n\t\tsetPos.setStart(this.el.childNodes[0], endIndex);\n\t\tsetPos.collapse(true);\n\t\tset.removeAllRanges();\n\t\tset.addRange(setPos);\n\t}\n\n\tgetCaretPosition(element) {\n\t\tconst doc = element.ownerDocument || element.document;\n\t\tconst win = doc.defaultView || doc.parentWindow;\n\t\tif (typeof win.getSelection !== 'undefined' && win.getSelection().rangeCount > 0) {\n\t\t\tconst range = win.getSelection().getRangeAt(0);\n\t\t\tconst preCaretRange = range.cloneRange();\n\t\t\tpreCaretRange.selectNodeContents(element);\n\t\t\tpreCaretRange.setEnd(range.endContainer, range.endOffset);\n\t\t\treturn preCaretRange.toString().length;\n\t\t}\n\n\t\tif (doc.selection && doc.selection.type !== 'Control') {\n\t\t\tconst textRange = doc.selection.createRange();\n\t\t\tconst preCaretTextRange = doc.body.createTextRange();\n\t\t\tpreCaretTextRange.moveToElementText(element);\n\t\t\tpreCaretTextRange.setEndPoint('EndToEnd', textRange);\n\t\t\treturn preCaretTextRange.text.length;\n\t\t}\n\n\t\treturn 0;\n\t}\n\n\thandleInputLock(locked) {\n\t\tthis.setState({ inputLock: locked });\n\t\treturn 0;\n\t}\n\n\trender = ({ pre, post, value, placeholder, onChange, onSubmit, onUpload, className, style }) => (\n\n\t\t<div className={createClassName(styles, 'composer', { }, [className])} style={style}>\n\t\t\t{pre}\n\t\t\t<div\n\t\t\t\tref={this.handleRef}\n\t\t\t\t{...(\n\t\t\t\t\t{\n\t\t\t\t\t\tdangerouslySetInnerHTML: {\n\t\t\t\t\t\t\t__html: parse(value),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcontentEditable: true,\n\t\t\t\t\t\t'data-placeholder': placeholder,\n\t\t\t\t\t\tonInput: this.handleInput(onChange),\n\t\t\t\t\t\tonKeypress: this.handleKeypress(onSubmit),\n\t\t\t\t\t\tonPaste: this.handlePaste(onUpload),\n\t\t\t\t\t\tonDrop: this.handleDrop(onUpload),\n\t\t\t\t\t\tonClick: this.handleClick,\n\t\t\t\t\t}\n\t\t\t\t)}\n\n\t\t\t\tonCompositionStart={() => {\n\t\t\t\t\tthis.handleInputLock(true);\n\t\t\t\t}}\n\n\t\t\t\tonCompositionEnd={() => {\n\t\t\t\t\tthis.handleInputLock(false);\n\t\t\t\t\tonChange && onChange(this.el.innerText);\n\t\t\t\t}}\n\n\n\t\t\t\tclassName={createClassName(styles, 'composer__input')}\n\t\t\t/>\n\t\t\t{post}\n\t\t</div>\n\t)\n}\n\nexport { ComposerAction } from './ComposerAction';\nexport { ComposerActions } from './ComposerActions';\n","import { h, Component } from 'preact';\n\nimport { createClassName } from '../helpers';\nimport styles from './styles.scss';\n\n\nconst escapeForRegExp = (string) => string.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n\nexport class FilesDropTarget extends Component {\n\tstate = {\n\t\tdragLevel: 0,\n\t}\n\n\thandleInputRef = (ref) => {\n\t\tthis.input = ref;\n\t}\n\n\thandleDragOver = (event) => {\n\t\tevent.preventDefault();\n\t}\n\n\thandleDragEnter = (event) => {\n\t\tevent.preventDefault();\n\t\tthis.setState({ dragLevel: this.state.dragLevel + 1 });\n\t}\n\n\thandleDragLeave = (event) => {\n\t\tevent.preventDefault();\n\t\tthis.setState({ dragLevel: this.state.dragLevel - 1 });\n\t}\n\n\thandleDrop = (event) => {\n\t\tevent.preventDefault();\n\n\t\tlet { dragLevel } = this.state;\n\t\tif (dragLevel === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tdragLevel = 0;\n\t\tthis.setState({ dragLevel });\n\n\t\tthis.handleUpload(event.dataTransfer.files);\n\t}\n\n\thandleInputChange = (event) => {\n\t\tthis.handleUpload(event.currentTarget.files);\n\t}\n\n\thandleUpload = (files) => {\n\t\tconst { accept, multiple, onUpload } = this.props;\n\n\t\tif (!onUpload) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet filteredFiles = Array.from(files);\n\n\t\tif (accept) {\n\t\t\tconst acceptMatchers = accept.split(',')\n\t\t\t\t.map((acceptString) => {\n\t\t\t\t\tif (acceptString.charAt(0) === '.') {\n\t\t\t\t\t\treturn ({ name }) => new RegExp(`${ escapeForRegExp(acceptString) }$`, 'i').test(name);\n\t\t\t\t\t}\n\n\t\t\t\t\tconst matchTypeOnly = /^(.+)\\/\\*$/i.exec(acceptString);\n\t\t\t\t\tif (matchTypeOnly) {\n\t\t\t\t\t\treturn ({ type }) => new RegExp(`^${ escapeForRegExp(matchTypeOnly[1]) }/.*$`, 'i').test(type);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn ({ type }) => new RegExp(`^s${ escapeForRegExp(acceptString) }$`, 'i').test(type);\n\t\t\t\t});\n\n\t\t\tfilteredFiles = filteredFiles.filter((file) => acceptMatchers.some((acceptMatcher) => acceptMatcher(file)));\n\t\t}\n\n\t\tif (!multiple) {\n\t\t\tfilteredFiles = filteredFiles.slice(0, 1);\n\t\t}\n\n\t\tfilteredFiles.length && onUpload(filteredFiles);\n\t}\n\n\tbrowse = () => {\n\t\tthis.input.click();\n\t}\n\n\trender = ({\n\t\toverlayed,\n\t\toverlayText,\n\t\taccept,\n\t\tmultiple,\n\t\tclassName,\n\t\tstyle = {},\n\t\tchildren,\n\t}, { dragLevel }) => (\n\t\t<div\n\t\t\tdata-overlay-text={overlayText}\n\t\t\tonDragOver={this.handleDragOver}\n\t\t\tonDragEnter={this.handleDragEnter}\n\t\t\tonDragLeave={this.handleDragLeave}\n\t\t\tonDrop={this.handleDrop}\n\t\t\tclassName={createClassName(styles, 'drop', { overlayed, dragover: dragLevel > 0 }, [className])}\n\t\t\tstyle={style}\n\t\t>\n\t\t\t<input\n\t\t\t\tref={this.handleInputRef}\n\t\t\t\ttype='file'\n\t\t\t\taccept={accept}\n\t\t\t\tmultiple={multiple}\n\t\t\t\tonChange={this.handleInputChange}\n\t\t\t\tclassName={createClassName(styles, 'drop__input')}\n\t\t\t/>\n\t\t\t{children}\n\t\t</div>\n\t)\n}\n","import { h, Component, createContext } from 'preact';\n\nimport { createClassName, normalizeDOMRect } from '../helpers';\nimport styles from './styles.scss';\n\n\nconst PopoverContext = createContext();\n\n\nconst PopoverOverlay = ({ children, className, visible, ...props }) => (\n\t<div\n\t\tclassName={createClassName(styles, 'popover__overlay', { visible }, [className])}\n\t\t{...props}\n\t>\n\t\t{children}\n\t</div>\n);\n\n\nexport class PopoverContainer extends Component {\n\tstate = {\n\t\trenderer: null,\n\t}\n\n\topen = (renderer, props, { currentTarget } = {}) => {\n\t\tlet overlayBounds;\n\t\tlet triggerBounds;\n\n\t\tif (this.overlayRef) {\n\t\t\toverlayBounds = normalizeDOMRect(this.overlayRef.base.getBoundingClientRect());\n\t\t}\n\n\t\tif (currentTarget) {\n\t\t\ttriggerBounds = normalizeDOMRect(currentTarget.getBoundingClientRect());\n\t\t}\n\n\t\tthis.setState({ renderer, ...props, overlayBounds, triggerBounds });\n\t}\n\n\tdismiss = () => {\n\t\tthis.setState({ renderer: null, overlayBounds: null, triggerBounds: null });\n\t}\n\n\thandleOverlayGesture = ({ currentTarget, target }) => {\n\t\tif (currentTarget !== target) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.dismiss();\n\t}\n\n\thandleKeyDown = ({ key }) => {\n\t\tif (key !== 'Escape') {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.dismiss();\n\t}\n\n\thandleOverlayRef = (ref) => {\n\t\tthis.overlayRef = ref;\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.mounted = true;\n\t\twindow.addEventListener('keydown', this.handleKeyDown, false);\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.mounted = false;\n\t\twindow.removeEventListener('keydown', this.handleKeyDown, false);\n\t}\n\n\trender = ({ children }, { renderer, overlayProps, overlayBounds, triggerBounds }) => (\n\t\t<PopoverContext.Provider value={{ open: this.open }}>\n\t\t\t<div className={createClassName(styles, 'popover__container')}>\n\t\t\t\t{children}\n\t\t\t\t<PopoverOverlay\n\t\t\t\t\tref={this.handleOverlayRef}\n\t\t\t\t\tonMouseDown={this.handleOverlayGesture}\n\t\t\t\t\tonTouchStart={this.handleOverlayGesture}\n\t\t\t\t\tvisible={!!renderer}\n\t\t\t\t\t{...overlayProps}\n\t\t\t\t>\n\t\t\t\t\t{renderer ? renderer({ dismiss: this.dismiss, overlayBounds, triggerBounds }) : null}\n\t\t\t\t</PopoverOverlay>\n\t\t\t</div>\n\t\t</PopoverContext.Provider>\n\t)\n}\n\n\nexport const PopoverTrigger = ({ children, ...props }) => (\n\t<PopoverContext.Consumer>\n\t\t{({ open }) => children[0]({ pop: open.bind(null, children[1], props) })}\n\t</PopoverContext.Consumer>\n);\n","import { h, Component } from 'preact';\n\nimport { PopoverTrigger } from '../Popover';\nimport { createClassName, normalizeDOMRect } from '../helpers';\nimport styles from './styles.scss';\n\n\nexport const Menu = ({ children, hidden, placement, ...props }) => (\n\t<div className={createClassName(styles, 'menu', { hidden, placement })} {...props}>\n\t\t{children}\n\t</div>\n);\n\n\nexport const Group = ({ children, title, ...props }) => (\n\t<div className={createClassName(styles, 'menu__group')} {...props}>\n\t\t{title && <div className={createClassName(styles, 'menu__group-title')}>{title}</div>}\n\t\t{children}\n\t</div>\n);\n\n\nexport const Item = ({ children, primary, danger, disabled, icon, ...props }) => (\n\t<button\n\t\tclassName={createClassName(styles, 'menu__item', { primary, danger, disabled })}\n\t\tdisabled={disabled}\n\t\t{...props}\n\t>\n\t\t{icon && (\n\t\t\t<div className={createClassName(styles, 'menu__item__icon')}>\n\t\t\t\t{h(icon)}\n\t\t\t</div>\n\t\t)}\n\t\t{children}\n\t</button>\n);\n\n\nclass PopoverMenuWrapper extends Component {\n\tstate = {}\n\n\thandleRef = (ref) => {\n\t\tthis.menuRef = ref;\n\t}\n\n\thandleClick = ({ target }) => {\n\t\tif (!target.closest(`.${ styles.menu__item }`)) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { dismiss } = this.props;\n\t\tdismiss();\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { triggerBounds, overlayBounds } = this.props;\n\t\tconst menuBounds = normalizeDOMRect(this.menuRef.base.getBoundingClientRect());\n\n\t\tconst menuWidth = menuBounds.right - menuBounds.left;\n\t\tconst menuHeight = menuBounds.bottom - menuBounds.top;\n\n\t\tconst rightSpace = overlayBounds.right - triggerBounds.left;\n\t\tconst bottomSpace = overlayBounds.bottom - triggerBounds.bottom;\n\n\t\tconst left = menuWidth < rightSpace ? triggerBounds.left - overlayBounds.left : null;\n\t\tconst right = menuWidth < rightSpace ? null : overlayBounds.right - triggerBounds.right;\n\n\t\tconst top = menuHeight < bottomSpace ? triggerBounds.bottom : null;\n\t\tconst bottom = menuHeight < bottomSpace ? null : overlayBounds.bottom - triggerBounds.top;\n\n\t\tconst placement = `${ menuWidth < rightSpace ? 'right' : 'left' }-${ menuHeight < bottomSpace ? 'bottom' : 'top' }`;\n\n\t\t// eslint-disable-next-line react/no-did-mount-set-state\n\t\tthis.setState({\n\t\t\tposition: { left, right, top, bottom },\n\t\t\tplacement,\n\t\t});\n\t}\n\n\trender = ({ children }) => (\n\t\t<Menu\n\t\t\tref={this.handleRef}\n\t\t\tstyle={{ position: 'absolute', ...this.state.position }}\n\t\t\tplacement={this.state.placement}\n\t\t\tonClickCapture={this.handleClick}\n\t\t>\n\t\t\t{children}\n\t\t</Menu>\n\t)\n}\n\n\nexport const PopoverMenu = ({ children, trigger, overlayed }) => (\n\t<PopoverTrigger\n\t\toverlayProps={{\n\t\t\tclassName: overlayed ? createClassName(styles, 'popover-menu__overlay') : null,\n\t\t}}\n\t>\n\t\t{trigger}\n\t\t{({ dismiss, triggerBounds, overlayBounds }) => (\n\t\t\t<PopoverMenuWrapper\n\t\t\t\tdismiss={dismiss}\n\t\t\t\ttriggerBounds={triggerBounds}\n\t\t\t\toverlayBounds={overlayBounds}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</PopoverMenuWrapper>\n\t\t)}\n\t</PopoverTrigger>\n);\n\n\nMenu.Group = Group;\nMenu.Item = Item;\nMenu.Popover = PopoverMenu;\n\n\nexport default Menu;\n","import { h } from 'preact';\n\nimport I18n from '../../i18n';\nimport { PopoverMenu } from '../Menu';\nimport { createClassName } from '../helpers';\nimport Logo from './logo.svg';\nimport styles from './styles.scss';\n\n\nexport const Footer = ({ children, className, ...props }) => (\n\t<footer className={createClassName(styles, 'footer', {}, [className])} {...props}>\n\t\t{children}\n\t</footer>\n);\n\n\nexport const FooterContent = ({ children, className, ...props }) => (\n\t<div className={createClassName(styles, 'footer__content', {}, [className])} {...props}>\n\t\t{children}\n\t</div>\n);\n\n\nexport const PoweredBy = ({ className, ...props }) => (\n\t<h3 className={createClassName(styles, 'powered-by', {}, [className])} {...props}>\n\t\t{I18n.t('Powered by Rocket.Chat').split('Rocket.Chat')[0]}\n\t\t<a href='https://rocket.chat' target='_blank' rel='noopener noreferrer'>\n\t\t\t<Logo className={createClassName(styles, 'powered-by__logo')} width={60} height={60 * 272 / 1500} role='img' aria-label='Rocket.Chat' />\n\t\t</a>\n\t\t{I18n.t('Powered by Rocket.Chat').split('Rocket.Chat')[1]}\n\t</h3>\n);\n\n\nconst handleMouseUp = ({ target }) => target.blur();\n\nconst OptionsTrigger = ({ pop }) => (\n\t<button className={createClassName(styles, 'footer__options')} onClick={pop} onMouseUp={handleMouseUp}>\n\t\t{I18n.t('Options')}\n\t</button>\n);\n\n\nexport const FooterOptions = ({ children }) => (\n\t<PopoverMenu trigger={OptionsTrigger} overlayed>\n\t\t{children}\n\t</PopoverMenu>\n);\n\n\nexport const CharCounter = ({ className, style = {}, textLength, limitTextLength }) => (\n\t<span\n\t\tclassName={createClassName(styles, 'footer__remainder', { highlight: textLength === limitTextLength }, [className])}\n\t\tstyle={style}\n\t>\n\t\t{textLength} / {limitTextLength}\n\t</span>\n);\n","import { h } from 'preact';\n\nimport { createClassName, memo } from '../../helpers';\nimport styles from './styles.scss';\n\n\nexport const MessageBubble = memo(({\n\tinverse,\n\tnude,\n\tquoted,\n\tclassName,\n\tstyle = {},\n\tchildren,\n\tsystem = false,\n}) => (\n\t<div\n\t\tclassName={createClassName(styles, 'message-bubble', { inverse, nude, quoted, system }, [className])}\n\t\tstyle={style}\n\t>\n\t\t<div className={createClassName(styles, 'message-bubble__inner')}>\n\t\t\t{children}\n\t\t</div>\n\t</div>\n));\n","import { h } from 'preact';\n\nimport I18n from '../../../i18n';\nimport { createClassName, memo } from '../../helpers';\nimport { MessageBubble } from '../MessageBubble';\nimport styles from './styles.scss';\n\n\nexport const AudioAttachment = memo(({\n\turl,\n\tclassName,\n\t...messageBubbleProps\n}) => (\n\t<MessageBubble\n\t\tnude\n\t\tclassName={createClassName(styles, 'audio-attachment', {}, [className])}\n\t\t{...messageBubbleProps}\n\t>\n\t\t<audio\n\t\t\tsrc={url}\n\t\t\tcontrols\n\t\t\tclassName={createClassName(styles, 'audio-attachment__inner')}\n\t\t>\n\t\t\t{I18n.t('You browser doesn\\'t support audio element')}\n\t\t</audio>\n\t</MessageBubble>\n));\n","import { h } from 'preact';\n\nimport DocIcon from '../../../icons/doc.svg';\nimport FileIcon from '../../../icons/file.svg';\nimport PDFIcon from '../../../icons/pdf.svg';\nimport PPTIcon from '../../../icons/ppt.svg';\nimport SheetIcon from '../../../icons/sheet.svg';\nimport ZipIcon from '../../../icons/zip.svg';\nimport { memo } from '../../helpers';\n\n\nexport const FileAttachmentIcon = memo(({ url }) => {\n\tconst extension = url ? url.split('.').pop() : null;\n\n\tconst Icon = (/pdf/i.test(extension) && PDFIcon)\n\t\t|| (/doc|docx|rtf|txt|odt|pages|log/i.test(extension) && DocIcon)\n\t\t|| (/ppt|pptx|pps/i.test(extension) && PPTIcon)\n\t\t|| (/xls|xlsx|csv/i.test(extension) && SheetIcon)\n\t\t|| (/zip|rar|7z|gz/i.test(extension) && ZipIcon)\n\t\t|| FileIcon;\n\treturn <Icon width={32} />;\n});\n","import { h } from 'preact';\n\nimport DownloadIcon from '../../../icons/download.svg';\nimport { createClassName, memo } from '../../helpers';\nimport { FileAttachmentIcon } from '../FileAttachmentIcon';\nimport { MessageBubble } from '../MessageBubble';\nimport styles from './styles.scss';\n\n\nexport const FileAttachment = memo(({\n\turl,\n\ttitle,\n\tclassName,\n\t...messageBubbleProps\n}) => (\n\t<MessageBubble\n\t\tclassName={createClassName(styles, 'file-attachment', {}, [className])}\n\t\t{...messageBubbleProps}\n\t>\n\t\t<a\n\t\t\thref={url}\n\t\t\tdownload\n\t\t\ttarget='_blank'\n\t\t\trel='noopener noreferrer'\n\t\t\tclassName={createClassName(styles, 'file-attachment__inner')}\n\t\t>\n\t\t\t<FileAttachmentIcon url={url} />\n\t\t\t<span className={createClassName(styles, 'file-attachment__title')}>{title}</span>\n\t\t\t<DownloadIcon width={20} height={20} className={createClassName(styles, 'file-attachment__download-button')} />\n\t\t</a>\n\t</MessageBubble>\n));\n","import { h } from 'preact';\n\nimport { createClassName, memo } from '../../helpers';\nimport { MessageBubble } from '../MessageBubble';\nimport styles from './styles.scss';\n\n\nexport const ImageAttachment = memo(({\n\turl,\n\tclassName,\n\t...messageBubbleProps\n}) => (\n\t<MessageBubble\n\t\tnude\n\t\tclassName={createClassName(styles, 'image-attachment', {}, [className])}\n\t\t{...messageBubbleProps}\n\t>\n\t\t<img\n\t\t\tsrc={url}\n\t\t\tclassName={createClassName(styles, 'image-attachment__inner')}\n\t\t/>\n\t</MessageBubble>\n));\n","import { h } from 'preact';\n\nimport { Avatar } from '../../Avatar';\nimport { createClassName, memo } from '../../helpers';\nimport styles from './styles.scss';\n\nexport const MessageAvatars = memo(({\n\tavatarResolver = () => null,\n\tusernames = [],\n\tclassName,\n\tstyle = {},\n}) => (\n\t<div\n\t\tclassName={createClassName(styles, 'message-avatars', {}, [className])}\n\t\tstyle={style}\n\t>\n\t\t{usernames.map((username) => (\n\t\t\t<Avatar\n\t\t\t\tsrc={avatarResolver(username)}\n\t\t\t\tdescription={username}\n\t\t\t\tclassName={createClassName(styles, 'message-avatars__avatar')}\n\t\t\t/>\n\t\t))}\n\t</div>\n));\n","import { Livechat } from '../api';\nimport { createRandomId } from './random';\n\nexport const UIKitInteractionType = {\n\tMODAL_OPEN: 'modal.open',\n\tMODAL_CLOSE: 'modal.close',\n\tMODAL_UPDATE: 'modal.update',\n\tERRORS: 'errors',\n};\n\nexport const UIKitIncomingInteractionType = {\n\tBLOCK: 'blockAction',\n\tVIEW_SUBMIT: 'viewSubmit',\n\tVIEW_CLOSED: 'viewClosed',\n};\n\nexport const UIKitIncomingInteractionContainerType = {\n\tMESSAGE: 'message',\n\tVIEW: 'view',\n};\n\nconst TRIGGER_TIMEOUT = 5000;\n\nconst triggersId = new Map();\n\n// const instances = new Map();\n\nconst invalidateTriggerId = (id) => {\n\tconst appId = triggersId.get(id);\n\ttriggersId.delete(id);\n\treturn appId;\n};\n\nconst generateTriggerId = (appId) => {\n\tconst triggerId = createRandomId();\n\ttriggersId.set(triggerId, appId);\n\tsetTimeout(invalidateTriggerId, TRIGGER_TIMEOUT, triggerId);\n\treturn triggerId;\n};\n\nconst handlePayloadUserInteraction = (type, { /* appId,*/ triggerId, ...data }) => {\n\tif (!triggersId.has(triggerId)) {\n\t\treturn;\n\t}\n\tconst appId = invalidateTriggerId(triggerId);\n\tif (!appId) {\n\t\treturn;\n\t}\n\n\tconst { view } = data;\n\tlet { viewId } = data;\n\n\tif (view && view.id) {\n\t\tviewId = view.id;\n\t}\n\n\tif (!viewId) {\n\t\treturn;\n\t}\n\n\tif ([UIKitInteractionType.ERRORS].includes(type)) {\n\t\t// events.emit(viewId, {\n\t\t// \ttype,\n\t\t// \ttriggerId,\n\t\t// \tviewId,\n\t\t// \tappId,\n\t\t// \t...data,\n\t\t// });\n\t\treturn UIKitInteractionType.ERRORS;\n\t}\n\n\tif ([UIKitInteractionType.MODAL_UPDATE].includes(type)) {\n\t\t// events.emit(viewId, {\n\t\t// \ttype,\n\t\t// \ttriggerId,\n\t\t// \tviewId,\n\t\t// \tappId,\n\t\t// \t...data,\n\t\t// });\n\t\treturn UIKitInteractionType.MODAL_UPDATE;\n\t}\n\n\tif ([UIKitInteractionType.MODAL_OPEN].includes(type)) {\n\t\t// const instance = modal.push({\n\t\t// \ttemplate: 'ModalBlock',\n\t\t// \tmodifier: 'uikit',\n\t\t// \tcloseOnEscape: false,\n\t\t// \tdata: {\n\t\t// \t\ttriggerId,\n\t\t// \t\tviewId,\n\t\t// \t\tappId,\n\t\t// \t\t...data,\n\t\t// \t},\n\t\t// });\n\t\t// instances.set(viewId, instance);\n\t\treturn UIKitInteractionType.MODAL_OPEN;\n\t}\n\n\treturn UIKitInteractionType.MODAL_ClOSE;\n};\n\nexport const triggerAction = async ({\n\tappId,\n\ttype,\n\tactionId,\n\trid,\n\tmid,\n\tviewId,\n\tcontainer,\n\tpayload,\n}) => {\n\tconst triggerId = generateTriggerId(appId);\n\n\ttry {\n\t\tconst params = {\n\t\t\ttype,\n\t\t\tactionId,\n\t\t\trid,\n\t\t\tmid,\n\t\t\tviewId,\n\t\t\tcontainer,\n\t\t\ttriggerId,\n\t\t\tpayload,\n\t\t};\n\n\t\tconst result = await Promise.race([\n\t\t\tfetch(`${ Livechat.client.host }/api/${ encodeURI(`apps/ui.interaction/${ appId }`) }`, {\n\t\t\t\tmethod: 'POST',\n\t\t\t\tbody: Livechat.client.getBody(params),\n\t\t\t\theaders: Object.assign({ 'x-visitor-token': Livechat.credentials.token }, Livechat.client.getHeaders()),\n\t\t\t}).then(Livechat.client.handle),\n\t\t\tnew Promise((_, reject) => {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\treject(new Error(triggerId));\n\t\t\t\t}, TRIGGER_TIMEOUT);\n\t\t\t}),\n\t\t]);\n\n\t\tconst { type: interactionType, ...data } = result;\n\n\t\treturn handlePayloadUserInteraction(interactionType, data);\n\t} catch (error) {\n\t\tinvalidateTriggerId(triggerId);\n\t\tthrow error;\n\t}\n};\n","import { createContext, h } from 'preact';\nimport { memo, useContext } from 'preact/compat';\n\nconst SurfaceContext = createContext({\n\tdispatchAction: () => undefined,\n});\n\nconst Surface = ({ children, dispatchAction }) =>\n\t<SurfaceContext.Provider\n\t\tchildren={children}\n\t\tvalue={{\n\t\t\tdispatchAction,\n\t\t}}\n\t/>;\n\nexport const useDispatchAction = () =>\n\tuseContext(SurfaceContext).dispatchAction;\n\nexport default memo(Surface);\n","import { createContext, h } from 'preact';\nimport { memo, useContext, useCallback, useState, useRef, useEffect } from 'preact/compat';\n\nimport { useDispatchAction } from './Surface';\n\nconst BlockContext = createContext({\n\tappId: null,\n\tblockId: null,\n});\n\nconst Block = ({ appId, blockId, children }) =>\n\t<BlockContext.Provider\n\t\tchildren={children}\n\t\tvalue={{\n\t\t\tappId,\n\t\t\tblockId,\n\t\t}}\n\t/>;\n\nexport const usePerformAction = (actionId) => {\n\tconst { appId } = useContext(BlockContext);\n\tconst dispatchAction = useDispatchAction();\n\n\tconst [performing, setPerforming] = useState(false);\n\tconst mountedRef = useRef(true);\n\n\tuseEffect(() => () => {\n\t\tmountedRef.current = false;\n\t}, []);\n\n\tconst perform = useCallback(async (payload = {}) => {\n\t\tsetPerforming(true);\n\n\t\ttry {\n\t\t\tawait dispatchAction({\n\t\t\t\tappId,\n\t\t\t\tactionId,\n\t\t\t\tpayload,\n\t\t\t});\n\t\t} finally {\n\t\t\tif (mountedRef.current) {\n\t\t\t\tsetPerforming(false);\n\t\t\t}\n\t\t}\n\t}, [actionId, appId, dispatchAction]);\n\n\treturn [perform, performing];\n};\n\nexport default memo(Block);\n","import { BLOCK_CONTEXT } from '@rocket.chat/ui-kit';\nimport { h } from 'preact';\nimport { memo, useState, useMemo, useCallback } from 'preact/compat';\n\nimport I18n from '../../../../i18n';\nimport { Button } from '../../../Button';\nimport { createClassName } from '../../../helpers';\nimport Block from '../Block';\nimport styles from './styles.scss';\n\nconst ActionsBlock = ({ appId, blockId, elements, parser }) => {\n\tconst [collapsed, setCollapsed] = useState(true);\n\tconst renderableElements = useMemo(() => (collapsed ? elements.slice(0, 5) : elements), [collapsed, elements]);\n\tconst hiddenElementsCount = elements.length - renderableElements.length;\n\tconst isMoreButtonVisible = hiddenElementsCount > 0;\n\n\tconst handleMoreButtonClick = useCallback(() => {\n\t\tsetCollapsed(false);\n\t}, []);\n\n\treturn <Block appId={appId} blockId={blockId}>\n\t\t<div className={createClassName(styles, 'uikit-actions-block')}>\n\t\t\t{renderableElements.map((element, key) => {\n\t\t\t\tconst renderedElement = parser.renderActions(element, BLOCK_CONTEXT.ACTION);\n\t\t\t\tif (!renderedElement) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\treturn <div key={key} className={createClassName(styles, 'uikit-actions-block__item')}>\n\t\t\t\t\t{renderedElement}\n\t\t\t\t</div>;\n\t\t\t})}\n\t\t\t{isMoreButtonVisible && <Button outline secondary small onClick={handleMoreButtonClick}>\n\t\t\t\t{I18n.t('+ %{hiddenElementsCount} more', { hiddenElementsCount })}\n\t\t\t</Button>}\n\t\t</div>\n\t</Block>;\n};\n\nexport default memo(ActionsBlock);\n","import { BLOCK_CONTEXT } from '@rocket.chat/ui-kit';\nimport { h } from 'preact';\nimport { memo, useCallback } from 'preact/compat';\n\nimport { createClassName } from '../../../helpers';\nimport { usePerformAction } from '../Block';\nimport styles from './styles.scss';\n\nconst handleMouseUp = ({ target }) => target.blur();\n\nconst ButtonElement = ({ text, actionId, url, value, style, context, confirm, parser }) => {\n\tconst [performAction, performingAction] = usePerformAction(actionId);\n\n\tconst handleClick = useCallback(async (event) => {\n\t\tevent.preventDefault();\n\n\t\tif (confirm) {\n\t\t\t// TODO\n\t\t}\n\n\t\tif (url) {\n\t\t\tconst newTab = window.open();\n\t\t\tnewTab.opener = null;\n\t\t\tnewTab.location = url;\n\t\t\treturn;\n\t\t}\n\n\t\tawait performAction({ value });\n\t}, [confirm, performAction, url, value]);\n\n\treturn <button\n\t\tchildren={parser.text(text)}\n\t\tclassName={createClassName(styles, 'uikit-button', {\n\t\t\tstyle,\n\t\t\taccessory: context === BLOCK_CONTEXT.SECTION,\n\t\t\taction: context === BLOCK_CONTEXT.ACTION,\n\t\t})}\n\t\tdisabled={performingAction}\n\t\ttype='button'\n\t\tonClick={handleClick}\n\t\tonMouseUp={handleMouseUp}\n\t/>;\n};\n\nexport default memo(ButtonElement);\n","import { BLOCK_CONTEXT } from '@rocket.chat/ui-kit';\nimport { h } from 'preact';\nimport { memo } from 'preact/compat';\n\nimport { createClassName } from '../../../helpers';\nimport Block from '../Block';\nimport styles from './styles.scss';\n\nconst ContextBlock = ({ appId, blockId, elements, parser }) =>\n\t<Block appId={appId} blockId={blockId}>\n\t\t<div className={createClassName(styles, 'uikit-context-block')}>\n\t\t\t{elements.map((element, key) =>\n\t\t\t\t<div key={key} className={createClassName(styles, 'uikit-context-block__item')}>\n\t\t\t\t\t{parser.renderContext(element, BLOCK_CONTEXT.CONTEXT)}\n\t\t\t\t</div>)}\n\t\t</div>\n\t</Block>;\n\nexport default memo(ContextBlock);\n","import { h } from 'preact';\n\nimport { createClassName, memo } from '../../helpers';\nimport styles from './styles.scss';\n\nconst DateInput = ({\n\tname,\n\tvalue,\n\tplaceholder,\n\tdisabled,\n\tsmall,\n\terror,\n\tonChange,\n\tonInput,\n\tclassName,\n\tstyle = {},\n}) => (\n\t<input\n\t\ttype='date'\n\t\tname={name}\n\t\tvalue={value}\n\t\tplaceholder={placeholder}\n\t\tdisabled={disabled}\n\t\tonChange={onChange}\n\t\tonInput={onInput}\n\t\tclassName={createClassName(styles, 'date-input', { disabled, error, small }, [className])}\n\t\tstyle={style}\n\t/>\n);\n\nexport default memo(DateInput);\n","import { h } from 'preact';\nimport { memo, useCallback } from 'preact/compat';\n\nimport DateInput from '../../../Form/DateInput';\nimport { usePerformAction } from '../Block';\n\nconst DatePickerElement = ({ actionId, confirm/* , placeholder */, initialDate/* , parser */ }) => {\n\tconst [performAction, performingAction] = usePerformAction(actionId);\n\n\tconst handleChange = useCallback(async (event) => {\n\t\tevent.preventDefault();\n\n\t\tif (confirm) {\n\t\t\t// TODO\n\t\t}\n\n\t\tawait performAction({\n\t\t\tinitialDate,\n\t\t\tselectedDate: event.target.value,\n\t\t});\n\t}, [confirm, initialDate, performAction]);\n\n\treturn <DateInput\n\t\tvalue={initialDate}\n\t\tdisabled={performingAction}\n\t\t// TODO: placeholder={parser.text(placeholder)}\n\t\tsmall\n\t\tonChange={handleChange}\n\t/>;\n};\n\nexport default memo(DatePickerElement);\n","import { h } from 'preact';\nimport { memo } from 'preact/compat';\n\nimport { createClassName } from '../../../helpers';\nimport Block from '../Block';\nimport styles from './styles.scss';\n\nconst DividerBlock = ({ appId, blockId }) =>\n\t<Block appId={appId} blockId={blockId}>\n\t\t<hr\n\t\t\tclassName={createClassName(styles, 'uikit-divider-block')}\n\t\t/>\n\t</Block>;\n\nexport default memo(DividerBlock);\n","import { h } from 'preact';\nimport { memo, useEffect, useState, useMemo } from 'preact/compat';\n\nimport { createClassName } from '../../../helpers';\nimport Block from '../Block';\nimport styles from './styles.scss';\n\nconst MAX_SIZE = 360;\n\nconst ImageBlock = ({ appId, blockId, title, imageUrl, altText, parser }) => {\n\tconst [{\n\t\tloading,\n\t\tnaturalWidth,\n\t\tnaturalHeight,\n\t}, updateImageState] = useState(() => ({\n\t\tloading: true,\n\t\tnaturalWidth: MAX_SIZE,\n\t\tnaturalHeight: MAX_SIZE,\n\t}));\n\n\tuseEffect(() => {\n\t\tconst image = new Image();\n\t\tlet cancelled = false;\n\n\t\timage.onload = () => {\n\t\t\tif (cancelled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tupdateImageState({\n\t\t\t\tloading: false,\n\t\t\t\tnaturalWidth: image.naturalWidth,\n\t\t\t\tnaturalHeight: image.naturalHeight,\n\t\t\t});\n\t\t};\n\n\t\timage.src = imageUrl;\n\n\t\treturn () => {\n\t\t\tcancelled = true;\n\t\t};\n\t}, [imageUrl]);\n\n\tconst contentStyle = useMemo(() => ({\n\t\tmaxWidth: Math.min(MAX_SIZE, naturalWidth / naturalHeight * MAX_SIZE),\n\t}), [naturalHeight, naturalWidth]);\n\n\tconst wrapperStyle = useMemo(() => ({\n\t\tpaddingBottom: `${ naturalHeight / naturalWidth * 100 }%`,\n\t}), [naturalHeight, naturalWidth]);\n\n\tconst linkStyle = useMemo(() => ({\n\t\tbackgroundImage: `url(${ imageUrl })`,\n\t}), [imageUrl]);\n\n\treturn <Block appId={appId} blockId={blockId}>\n\t\t<div className={createClassName(styles, 'uikit-image-block')}>\n\t\t\t{title && <h3 className={createClassName(styles, 'uikit-image-block__title')}>\n\t\t\t\t{parser.text(title)}\n\t\t\t</h3>}\n\t\t\t<div\n\t\t\t\tclassName={createClassName(styles, 'uikit-image-block__content', { loading })}\n\t\t\t\tstyle={contentStyle}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName={createClassName(styles, 'uikit-image-block__wrapper')}\n\t\t\t\t\tstyle={wrapperStyle}\n\t\t\t\t>\n\t\t\t\t\t<a\n\t\t\t\t\t\tchildren={imageUrl}\n\t\t\t\t\t\tclassName={createClassName(styles, 'uikit-image-block__link')}\n\t\t\t\t\t\thref={imageUrl}\n\t\t\t\t\t\trel='noopener noreferrer'\n\t\t\t\t\t\tstyle={linkStyle}\n\t\t\t\t\t\ttarget='_blank'\n\t\t\t\t\t\ttitle={altText}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</Block>;\n};\n\nexport default memo(ImageBlock);\n","import { BLOCK_CONTEXT } from '@rocket.chat/ui-kit';\nimport { h } from 'preact';\nimport { memo } from 'preact/compat';\n\nimport { createClassName } from '../../../helpers';\nimport styles from './styles.scss';\n\nconst ImageElement = ({ imageUrl, altText, context }) =>\n\t<div\n\t\taria-label={altText}\n\t\tclassName={createClassName(styles, 'uikit-image', {\n\t\t\taccessory: context === BLOCK_CONTEXT.SECTION,\n\t\t\tcontext: context === BLOCK_CONTEXT.CONTEXT,\n\t\t})}\n\t\trole='img'\n\t\tstyle={{\n\t\t\tbackgroundImage: `url(${ imageUrl })`,\n\t\t}}\n\t\ttitle={altText}\n\t/>;\n\nexport default memo(ImageElement);\n","const ascii = { '*\\\\0/*': '🙆', '*\\\\O/*': '🙆', '-___-': '😑', ':\\'-)': '😂', '\\':-)': '😅', '\\':-D': '😅', '>:-)': '😆', '\\':-(': '😓', '>:-(': '😠', ':\\'-(': '😢', 'O:-)': '😇', '0:-3': '😇', '0:-)': '😇', '0;^)': '😇', 'O;-)': '😇', '0;-)': '😇', 'O:-3': '😇', '-__-': '😑', ':-Þ': '😛', '</3': '💔', ':\\')': '😂', ':-D': '😃', '\\':)': '😅', '\\'=)': '😅', '\\':D': '😅', '\\'=D': '😅', '>:)': '😆', '>;)': '😆', '>=)': '😆', ';-)': '😉', '*-)': '😉', ';-]': '😉', ';^)': '😉', '\\':(': '😓', '\\'=(': '😓', ':-*': '😘', ':^*': '😘', '>:P': '😜', 'X-P': '😜', '>:[': '😞', ':-(': '😞', ':-[': '😞', '>:(': '😠', ':\\'(': '😢', ';-(': '😢', '>.<': '😣', '#-)': '😵', '%-)': '😵', 'X-)': '😵', '\\\\0/': '🙆', '\\\\O/': '🙆', '0:3': '😇', '0:)': '😇', 'O:)': '😇', 'O=)': '😇', 'O:3': '😇', 'B-)': '😎', '8-)': '😎', 'B-D': '😎', '8-D': '😎', '-_-': '😑', '>:\\\\': '😕', '>:/': '😕', ':-/': '😕', ':-.': '😕', ':-P': '😛', ':Þ': '😛', ':-b': '😛', ':-O': '😮', O_O: '😮', '>:O': '😮', ':-X': '😶', ':-#': '😶', ':-)': '🙂', '(y)': '👍', '<3': '❤', '=D': '😃', ';)': '😉', '*)': '😉', ';]': '😉', ';D': '😉', ':*': '😘', '=*': '😘', ':(': '😞', ':[': '😞', '=(': '😞', ':@': '😠', ';(': '😢', 'D:': '😨', ':$': '😳', '=$': '😳', '#)': '😵', '%)': '😵', 'X)': '😵', 'B)': '😎', '8)': '😎', ':/': '😕', ':\\\\': '😕', '=/': '😕', '=\\\\': '😕', ':L': '😕', '=L': '😕', ':P': '😛', '=P': '😛', ':b': '😛', ':O': '😮', ':X': '😶', ':#': '😶', '=X': '😶', '=#': '😶', ':)': '🙂', '=]': '🙂', '=)': '🙂', ':]': '🙂', ':D': '😄' };\n\nexport const asciiRegexp = '(\\\\*\\\\\\\\0\\\\/\\\\*|\\\\*\\\\\\\\O\\\\/\\\\*|\\\\-___\\\\-|\\\\:\\'\\\\-\\\\)|\\'\\\\:\\\\-\\\\)|\\'\\\\:\\\\-D|\\\\>\\\\:\\\\-\\\\)|>\\\\:\\\\-\\\\)|\\'\\\\:\\\\-\\\\(|\\\\>\\\\:\\\\-\\\\(|>\\\\:\\\\-\\\\(|\\\\:\\'\\\\-\\\\(|O\\\\:\\\\-\\\\)|0\\\\:\\\\-3|0\\\\:\\\\-\\\\)|0;\\\\^\\\\)|O;\\\\-\\\\)|0;\\\\-\\\\)|O\\\\:\\\\-3|\\\\-__\\\\-|\\\\:\\\\-Þ|\\\\:\\\\-Þ|\\\\<\\\\/3|<\\\\/3|\\\\:\\'\\\\)|\\\\:\\\\-D|\\'\\\\:\\\\)|\\'\\\\=\\\\)|\\'\\\\:D|\\'\\\\=D|\\\\>\\\\:\\\\)|>\\\\:\\\\)|\\\\>;\\\\)|>;\\\\)|\\\\>\\\\=\\\\)|>\\\\=\\\\)|;\\\\-\\\\)|\\\\*\\\\-\\\\)|;\\\\-\\\\]|;\\\\^\\\\)|\\'\\\\:\\\\(|\\'\\\\=\\\\(|\\\\:\\\\-\\\\*|\\\\:\\\\^\\\\*|\\\\>\\\\:P|>\\\\:P|X\\\\-P|\\\\>\\\\:\\\\[|>\\\\:\\\\[|\\\\:\\\\-\\\\(|\\\\:\\\\-\\\\[|\\\\>\\\\:\\\\(|>\\\\:\\\\(|\\\\:\\'\\\\(|;\\\\-\\\\(|\\\\>\\\\.\\\\<|>\\\\.<|#\\\\-\\\\)|%\\\\-\\\\)|X\\\\-\\\\)|\\\\\\\\0\\\\/|\\\\\\\\O\\\\/|0\\\\:3|0\\\\:\\\\)|O\\\\:\\\\)|O\\\\=\\\\)|O\\\\:3|B\\\\-\\\\)|8\\\\-\\\\)|B\\\\-D|8\\\\-D|\\\\-_\\\\-|\\\\>\\\\:\\\\\\\\|>\\\\:\\\\\\\\|\\\\>\\\\:\\\\/|>\\\\:\\\\/|\\\\:\\\\-\\\\/|\\\\:\\\\-\\\\.|\\\\:\\\\-P|\\\\:Þ|\\\\:Þ|\\\\:\\\\-b|\\\\:\\\\-O|O_O|\\\\>\\\\:O|>\\\\:O|\\\\:\\\\-X|\\\\:\\\\-#|\\\\:\\\\-\\\\)|\\\\(y\\\\)|\\\\<3|<3|\\\\=D|;\\\\)|\\\\*\\\\)|;\\\\]|;D|\\\\:\\\\*|\\\\=\\\\*|\\\\:\\\\(|\\\\:\\\\[|\\\\=\\\\(|\\\\:@|;\\\\(|D\\\\:|\\\\:\\\\$|\\\\=\\\\$|#\\\\)|%\\\\)|X\\\\)|B\\\\)|8\\\\)|\\\\:\\\\/|\\\\:\\\\\\\\|\\\\=\\\\/|\\\\=\\\\\\\\|\\\\:L|\\\\=L|\\\\:P|\\\\=P|\\\\:b|\\\\:O|\\\\:X|\\\\:#|\\\\=X|\\\\=#|\\\\:\\\\)|\\\\=\\\\]|\\\\=\\\\)|\\\\:\\\\]|\\\\:D)';\n\nexport default ascii;\n","const emojis = { ':england:': '🏴', ':scotland:': '🏴', ':wales:': '🏴', ':men_holding_hands_medium_light_skin_tone_light_skin_tone:': '👨🏼🤝👨🏻', ':men_holding_hands_tone2_tone1:': '👨🏼🤝👨🏻', ':men_holding_hands_medium_skin_tone_light_skin_tone:': '👨🏽🤝👨🏻', ':men_holding_hands_tone3_tone1:': '👨🏽🤝👨🏻', ':men_holding_hands_medium_skin_tone_medium_light_skin_tone:': '👨🏽🤝👨🏼', ':men_holding_hands_tone3_tone2:': '👨🏽🤝👨🏼', ':men_holding_hands_medium_dark_skin_tone_light_skin_tone:': '👨🏾🤝👨🏻', ':men_holding_hands_tone4_tone1:': '👨🏾🤝👨🏻', ':men_holding_hands_medium_dark_skin_tone_medium_light_skin_tone:': '👨🏾🤝👨🏼', ':men_holding_hands_tone4_tone2:': '👨🏾🤝👨🏼', ':men_holding_hands_medium_dark_skin_tone_medium_skin_tone:': '👨🏾🤝👨🏽', ':men_holding_hands_tone4_tone3:': '👨🏾🤝👨🏽', ':men_holding_hands_dark_skin_tone_light_skin_tone:': '👨🏿🤝👨🏻', ':men_holding_hands_tone5_tone1:': '👨🏿🤝👨🏻', ':men_holding_hands_dark_skin_tone_medium_light_skin_tone:': '👨🏿🤝👨🏼', ':men_holding_hands_tone5_tone2:': '👨🏿🤝👨🏼', ':men_holding_hands_dark_skin_tone_medium_skin_tone:': '👨🏿🤝👨🏽', ':men_holding_hands_tone5_tone3:': '👨🏿🤝👨🏽', ':men_holding_hands_dark_skin_tone_medium_dark_skin_tone:': '👨🏿🤝👨🏾', ':men_holding_hands_tone5_tone4:': '👨🏿🤝👨🏾', ':people_holding_hands_light_skin_tone:': '🧑🏻🤝🧑🏻', ':people_holding_hands_tone1:': '🧑🏻🤝🧑🏻', ':people_holding_hands_medium_light_skin_tone:': '🧑🏼🤝🧑🏼', ':people_holding_hands_tone2:': '🧑🏼🤝🧑🏼', ':people_holding_hands_medium_light_skin_tone_light_skin_tone:': '🧑🏼🤝🧑🏻', ':people_holding_hands_tone2_tone1:': '🧑🏼🤝🧑🏻', ':people_holding_hands_medium_skin_tone:': '🧑🏽🤝🧑🏽', ':people_holding_hands_tone3:': '🧑🏽🤝🧑🏽', ':people_holding_hands_medium_skin_tone_light_skin_tone:': '🧑🏽🤝🧑🏻', ':people_holding_hands_tone3_tone1:': '🧑🏽🤝🧑🏻', ':people_holding_hands_medium_skin_tone_medium_light_skin_tone:': '🧑🏽🤝🧑🏼', ':people_holding_hands_tone3_tone2:': '🧑🏽🤝🧑🏼', ':people_holding_hands_medium_dark_skin_tone:': '🧑🏾🤝🧑🏾', ':people_holding_hands_tone4:': '🧑🏾🤝🧑🏾', ':people_holding_hands_medium_dark_skin_tone_light_skin_tone:': '🧑🏾🤝🧑🏻', ':people_holding_hands_tone4_tone1:': '🧑🏾🤝🧑🏻', ':people_holding_hands_medium_dark_skin_tone_medium_light_skin_tone:': '🧑🏾🤝🧑🏼', ':people_holding_hands_tone4_tone2:': '🧑🏾🤝🧑🏼', ':people_holding_hands_medium_dark_skin_tone_medium_skin_tone:': '🧑🏾🤝🧑🏽', ':people_holding_hands_tone4_tone3:': '🧑🏾🤝🧑🏽', ':people_holding_hands_dark_skin_tone:': '🧑🏿🤝🧑🏿', ':people_holding_hands_tone5:': '🧑🏿🤝🧑🏿', ':people_holding_hands_dark_skin_tone_light_skin_tone:': '🧑🏿🤝🧑🏻', ':people_holding_hands_tone5_tone1:': '🧑🏿🤝🧑🏻', ':people_holding_hands_dark_skin_tone_medium_light_skin_tone:': '🧑🏿🤝🧑🏼', ':people_holding_hands_tone5_tone2:': '🧑🏿🤝🧑🏼', ':people_holding_hands_dark_skin_tone_medium_skin_tone:': '🧑🏿🤝🧑🏽', ':people_holding_hands_tone5_tone3:': '🧑🏿🤝🧑🏽', ':people_holding_hands_dark_skin_tone_medium_dark_skin_tone:': '🧑🏿🤝🧑🏾', ':people_holding_hands_tone5_tone4:': '🧑🏿🤝🧑🏾', ':woman_and_man_holding_hands_light_skin_tone_medium_light_skin_tone:': '👩🏻🤝👨🏼', ':woman_and_man_holding_hands_tone1_tone2:': '👩🏻🤝👨🏼', ':woman_and_man_holding_hands_light_skin_tone_medium_skin_tone:': '👩🏻🤝👨🏽', ':woman_and_man_holding_hands_tone1_tone3:': '👩🏻🤝👨🏽', ':woman_and_man_holding_hands_light_skin_tone_medium_dark_skin_tone:': '👩🏻🤝👨🏾', ':woman_and_man_holding_hands_tone1_tone4:': '👩🏻🤝👨🏾', ':woman_and_man_holding_hands_light_skin_tone_dark_skin_tone:': '👩🏻🤝👨🏿', ':woman_and_man_holding_hands_tone1_tone5:': '👩🏻🤝👨🏿', ':woman_and_man_holding_hands_medium_light_skin_tone_light_skin_tone:': '👩🏼🤝👨🏻', ':woman_and_man_holding_hands_tone2_tone1:': '👩🏼🤝👨🏻', ':woman_and_man_holding_hands_medium_light_skin_tone_medium_skin_tone:': '👩🏼🤝👨🏽', ':woman_and_man_holding_hands_tone2_tone3:': '👩🏼🤝👨🏽', ':woman_and_man_holding_hands_medium_light_skin_tone_medium_dark_skin_tone:': '👩🏼🤝👨🏾', ':woman_and_man_holding_hands_tone2_tone4:': '👩🏼🤝👨🏾', ':woman_and_man_holding_hands_medium_light_skin_tone_dark_skin_tone:': '👩🏼🤝👨🏿', ':woman_and_man_holding_hands_tone2_tone5:': '👩🏼🤝👨🏿', ':woman_and_man_holding_hands_medium_skin_tone_light_skin_tone:': '👩🏽🤝👨🏻', ':woman_and_man_holding_hands_tone3_tone1:': '👩🏽🤝👨🏻', ':woman_and_man_holding_hands_medium_skin_tone_medium_light_skin_tone:': '👩🏽🤝👨🏼', ':woman_and_man_holding_hands_tone3_tone2:': '👩🏽🤝👨🏼', ':woman_and_man_holding_hands_medium_skin_tone_medium_dark_skin_tone:': '👩🏽🤝👨🏾', ':woman_and_man_holding_hands_tone3_tone4:': '👩🏽🤝👨🏾', ':woman_and_man_holding_hands_medium_skin_tone_dark_skin_tone:': '👩🏽🤝👨🏿', ':woman_and_man_holding_hands_tone3_tone5:': '👩🏽🤝👨🏿', ':woman_and_man_holding_hands_medium_dark_skin_tone_light_skin_tone:': '👩🏾🤝👨🏻', ':woman_and_man_holding_hands_tone4_tone1:': '👩🏾🤝👨🏻', ':woman_and_man_holding_hands_medium_dark_skin_tone_medium_light_skin_tone:': '👩🏾🤝👨🏼', ':woman_and_man_holding_hands_tone4_tone2:': '👩🏾🤝👨🏼', ':woman_and_man_holding_hands_medium_dark_skin_tone_medium_skin_tone:': '👩🏾🤝👨🏽', ':woman_and_man_holding_hands_tone4_tone3:': '👩🏾🤝👨🏽', ':woman_and_man_holding_hands_medium_dark_skin_tone_dark_skin_tone:': '👩🏾🤝👨🏿', ':woman_and_man_holding_hands_tone4_tone5:': '👩🏾🤝👨🏿', ':woman_and_man_holding_hands_dark_skin_tone_light_skin_tone:': '👩🏿🤝👨🏻', ':woman_and_man_holding_hands_tone5_tone1:': '👩🏿🤝👨🏻', ':woman_and_man_holding_hands_dark_skin_tone_medium_light_skin_tone:': '👩🏿🤝👨🏼', ':woman_and_man_holding_hands_tone5_tone2:': '👩🏿🤝👨🏼', ':woman_and_man_holding_hands_dark_skin_tone_medium_skin_tone:': '👩🏿🤝👨🏽', ':woman_and_man_holding_hands_tone5_tone3:': '👩🏿🤝👨🏽', ':woman_and_man_holding_hands_dark_skin_tone_medium_dark_skin_tone:': '👩🏿🤝👨🏾', ':woman_and_man_holding_hands_tone5_tone4:': '👩🏿🤝👨🏾', ':women_holding_hands_medium_light_skin_tone_light_skin_tone:': '👩🏼🤝👩🏻', ':women_holding_hands_tone2_tone1:': '👩🏼🤝👩🏻', ':women_holding_hands_medium_skin_tone_light_skin_tone:': '👩🏽🤝👩🏻', ':women_holding_hands_tone3_tone1:': '👩🏽🤝👩🏻', ':women_holding_hands_medium_skin_tone_medium_light_skin_tone:': '👩🏽🤝👩🏼', ':women_holding_hands_tone3_tone2:': '👩🏽🤝👩🏼', ':women_holding_hands_medium_dark_skin_tone_light_skin_tone:': '👩🏾🤝👩🏻', ':women_holding_hands_tone4_tone1:': '👩🏾🤝👩🏻', ':women_holding_hands_medium_dark_skin_tone_medium_light_skin_tone:': '👩🏾🤝👩🏼', ':women_holding_hands_tone4_tone2:': '👩🏾🤝👩🏼', ':women_holding_hands_medium_dark_skin_tone_medium_skin_tone:': '👩🏾🤝👩🏽', ':women_holding_hands_tone4_tone3:': '👩🏾🤝👩🏽', ':women_holding_hands_dark_skin_tone_light_skin_tone:': '👩🏿🤝👩🏻', ':women_holding_hands_tone5_tone1:': '👩🏿🤝👩🏻', ':women_holding_hands_dark_skin_tone_medium_light_skin_tone:': '👩🏿🤝👩🏼', ':women_holding_hands_tone5_tone2:': '👩🏿🤝👩🏼', ':women_holding_hands_dark_skin_tone_medium_skin_tone:': '👩🏿🤝👩🏽', ':women_holding_hands_tone5_tone3:': '👩🏿🤝👩🏽', ':women_holding_hands_dark_skin_tone_medium_dark_skin_tone:': '👩🏿🤝👩🏾', ':women_holding_hands_tone5_tone4:': '👩🏿🤝👩🏾', ':family_mmbb:': '👨👨👦👦', ':family_mmgb:': '👨👨👧👦', ':family_mmgg:': '👨👨👧👧', ':family_mwbb:': '👨👩👦👦', ':family_mwgb:': '👨👩👧👦', ':family_mwgg:': '👨👩👧👧', ':family_wwbb:': '👩👩👦👦', ':family_wwgb:': '👩👩👧👦', ':family_wwgg:': '👩👩👧👧', ':couplekiss_mm:': '👨❤️💋👨', ':kiss_mm:': '👨❤️💋👨', ':kiss_woman_man:': '👩❤️💋👨', ':couplekiss_ww:': '👩❤️💋👩', ':kiss_ww:': '👩❤️💋👩', ':family_man_boy_boy:': '👨👦👦', ':family_man_girl_boy:': '👨👧👦', ':family_man_girl_girl:': '👨👧👧', ':family_man_woman_boy:': '👨👩👦', ':family_mmb:': '👨👨👦', ':family_mmg:': '👨👨👧', ':family_mwg:': '👨👩👧', ':family_woman_boy_boy:': '👩👦👦', ':family_woman_girl_boy:': '👩👧👦', ':family_woman_girl_girl:': '👩👧👧', ':family_wwb:': '👩👩👦', ':family_wwg:': '👩👩👧', ':man_artist_light_skin_tone:': '👨🏻🎨', ':man_artist_tone1:': '👨🏻🎨', ':man_artist_medium_light_skin_tone:': '👨🏼🎨', ':man_artist_tone2:': '👨🏼🎨', ':man_artist_medium_skin_tone:': '👨🏽🎨', ':man_artist_tone3:': '👨🏽🎨', ':man_artist_medium_dark_skin_tone:': '👨🏾🎨', ':man_artist_tone4:': '👨🏾🎨', ':man_artist_dark_skin_tone:': '👨🏿🎨', ':man_artist_tone5:': '👨🏿🎨', ':man_astronaut_light_skin_tone:': '👨🏻🚀', ':man_astronaut_tone1:': '👨🏻🚀', ':man_astronaut_medium_light_skin_tone:': '👨🏼🚀', ':man_astronaut_tone2:': '👨🏼🚀', ':man_astronaut_medium_skin_tone:': '👨🏽🚀', ':man_astronaut_tone3:': '👨🏽🚀', ':man_astronaut_medium_dark_skin_tone:': '👨🏾🚀', ':man_astronaut_tone4:': '👨🏾🚀', ':man_astronaut_dark_skin_tone:': '👨🏿🚀', ':man_astronaut_tone5:': '👨🏿🚀', ':man_bald_light_skin_tone:': '👨🏻🦲', ':man_bald_tone1:': '👨🏻🦲', ':man_bald_medium_light_skin_tone:': '👨🏼🦲', ':man_bald_tone2:': '👨🏼🦲', ':man_bald_medium_skin_tone:': '👨🏽🦲', ':man_bald_tone3:': '👨🏽🦲', ':man_bald_medium_dark_skin_tone:': '👨🏾🦲', ':man_bald_tone4:': '👨🏾🦲', ':man_bald_dark_skin_tone:': '👨🏿🦲', ':man_bald_tone5:': '👨🏿🦲', ':man_cook_light_skin_tone:': '👨🏻🍳', ':man_cook_tone1:': '👨🏻🍳', ':man_cook_medium_light_skin_tone:': '👨🏼🍳', ':man_cook_tone2:': '👨🏼🍳', ':man_cook_medium_skin_tone:': '👨🏽🍳', ':man_cook_tone3:': '👨🏽🍳', ':man_cook_medium_dark_skin_tone:': '👨🏾🍳', ':man_cook_tone4:': '👨🏾🍳', ':man_cook_dark_skin_tone:': '👨🏿🍳', ':man_cook_tone5:': '👨🏿🍳', ':man_curly_haired_light_skin_tone:': '👨🏻🦱', ':man_curly_haired_tone1:': '👨🏻🦱', ':man_curly_haired_medium_light_skin_tone:': '👨🏼🦱', ':man_curly_haired_tone2:': '👨🏼🦱', ':man_curly_haired_medium_skin_tone:': '👨🏽🦱', ':man_curly_haired_tone3:': '👨🏽🦱', ':man_curly_haired_medium_dark_skin_tone:': '👨🏾🦱', ':man_curly_haired_tone4:': '👨🏾🦱', ':man_curly_haired_dark_skin_tone:': '👨🏿🦱', ':man_curly_haired_tone5:': '👨🏿🦱', ':man_factory_worker_light_skin_tone:': '👨🏻🏭', ':man_factory_worker_tone1:': '👨🏻🏭', ':man_factory_worker_medium_light_skin_tone:': '👨🏼🏭', ':man_factory_worker_tone2:': '👨🏼🏭', ':man_factory_worker_medium_skin_tone:': '👨🏽🏭', ':man_factory_worker_tone3:': '👨🏽🏭', ':man_factory_worker_medium_dark_skin_tone:': '👨🏾🏭', ':man_factory_worker_tone4:': '👨🏾🏭', ':man_factory_worker_dark_skin_tone:': '👨🏿🏭', ':man_factory_worker_tone5:': '👨🏿🏭', ':man_farmer_light_skin_tone:': '👨🏻🌾', ':man_farmer_tone1:': '👨🏻🌾', ':man_farmer_medium_light_skin_tone:': '👨🏼🌾', ':man_farmer_tone2:': '👨🏼🌾', ':man_farmer_medium_skin_tone:': '👨🏽🌾', ':man_farmer_tone3:': '👨🏽🌾', ':man_farmer_medium_dark_skin_tone:': '👨🏾🌾', ':man_farmer_tone4:': '👨🏾🌾', ':man_farmer_dark_skin_tone:': '👨🏿🌾', ':man_farmer_tone5:': '👨🏿🌾', ':man_firefighter_light_skin_tone:': '👨🏻🚒', ':man_firefighter_tone1:': '👨🏻🚒', ':man_firefighter_medium_light_skin_tone:': '👨🏼🚒', ':man_firefighter_tone2:': '👨🏼🚒', ':man_firefighter_medium_skin_tone:': '👨🏽🚒', ':man_firefighter_tone3:': '👨🏽🚒', ':man_firefighter_medium_dark_skin_tone:': '👨🏾🚒', ':man_firefighter_tone4:': '👨🏾🚒', ':man_firefighter_dark_skin_tone:': '👨🏿🚒', ':man_firefighter_tone5:': '👨🏿🚒', ':man_in_manual_wheelchair_light_skin_tone:': '👨🏻🦽', ':man_in_manual_wheelchair_tone1:': '👨🏻🦽', ':man_in_manual_wheelchair_medium_light_skin_tone:': '👨🏼🦽', ':man_in_manual_wheelchair_tone2:': '👨🏼🦽', ':man_in_manual_wheelchair_medium_skin_tone:': '👨🏽🦽', ':man_in_manual_wheelchair_tone3:': '👨🏽🦽', ':man_in_manual_wheelchair_medium_dark_skin_tone:': '👨🏾🦽', ':man_in_manual_wheelchair_tone4:': '👨🏾🦽', ':man_in_manual_wheelchair_dark_skin_tone:': '👨🏿🦽', ':man_in_manual_wheelchair_tone5:': '👨🏿🦽', ':man_in_motorized_wheelchair_light_skin_tone:': '👨🏻🦼', ':man_in_motorized_wheelchair_tone1:': '👨🏻🦼', ':man_in_motorized_wheelchair_medium_light_skin_tone:': '👨🏼🦼', ':man_in_motorized_wheelchair_tone2:': '👨🏼🦼', ':man_in_motorized_wheelchair_medium_skin_tone:': '👨🏽🦼', ':man_in_motorized_wheelchair_tone3:': '👨🏽🦼', ':man_in_motorized_wheelchair_medium_dark_skin_tone:': '👨🏾🦼', ':man_in_motorized_wheelchair_tone4:': '👨🏾🦼', ':man_in_motorized_wheelchair_dark_skin_tone:': '👨🏿🦼', ':man_in_motorized_wheelchair_tone5:': '👨🏿🦼', ':man_mechanic_light_skin_tone:': '👨🏻🔧', ':man_mechanic_tone1:': '👨🏻🔧', ':man_mechanic_medium_light_skin_tone:': '👨🏼🔧', ':man_mechanic_tone2:': '👨🏼🔧', ':man_mechanic_medium_skin_tone:': '👨🏽🔧', ':man_mechanic_tone3:': '👨🏽🔧', ':man_mechanic_medium_dark_skin_tone:': '👨🏾🔧', ':man_mechanic_tone4:': '👨🏾🔧', ':man_mechanic_dark_skin_tone:': '👨🏿🔧', ':man_mechanic_tone5:': '👨🏿🔧', ':man_office_worker_light_skin_tone:': '👨🏻💼', ':man_office_worker_tone1:': '👨🏻💼', ':man_office_worker_medium_light_skin_tone:': '👨🏼💼', ':man_office_worker_tone2:': '👨🏼💼', ':man_office_worker_medium_skin_tone:': '👨🏽💼', ':man_office_worker_tone3:': '👨🏽💼', ':man_office_worker_medium_dark_skin_tone:': '👨🏾💼', ':man_office_worker_tone4:': '👨🏾💼', ':man_office_worker_dark_skin_tone:': '👨🏿💼', ':man_office_worker_tone5:': '👨🏿💼', ':man_red_haired_light_skin_tone:': '👨🏻🦰', ':man_red_haired_tone1:': '👨🏻🦰', ':man_red_haired_medium_light_skin_tone:': '👨🏼🦰', ':man_red_haired_tone2:': '👨🏼🦰', ':man_red_haired_medium_skin_tone:': '👨🏽🦰', ':man_red_haired_tone3:': '👨🏽🦰', ':man_red_haired_medium_dark_skin_tone:': '👨🏾🦰', ':man_red_haired_tone4:': '👨🏾🦰', ':man_red_haired_dark_skin_tone:': '👨🏿🦰', ':man_red_haired_tone5:': '👨🏿🦰', ':man_scientist_light_skin_tone:': '👨🏻🔬', ':man_scientist_tone1:': '👨🏻🔬', ':man_scientist_medium_light_skin_tone:': '👨🏼🔬', ':man_scientist_tone2:': '👨🏼🔬', ':man_scientist_medium_skin_tone:': '👨🏽🔬', ':man_scientist_tone3:': '👨🏽🔬', ':man_scientist_medium_dark_skin_tone:': '👨🏾🔬', ':man_scientist_tone4:': '👨🏾🔬', ':man_scientist_dark_skin_tone:': '👨🏿🔬', ':man_scientist_tone5:': '👨🏿🔬', ':man_singer_light_skin_tone:': '👨🏻🎤', ':man_singer_tone1:': '👨🏻🎤', ':man_singer_medium_light_skin_tone:': '👨🏼🎤', ':man_singer_tone2:': '👨🏼🎤', ':man_singer_medium_skin_tone:': '👨🏽🎤', ':man_singer_tone3:': '👨🏽🎤', ':man_singer_medium_dark_skin_tone:': '👨🏾🎤', ':man_singer_tone4:': '👨🏾🎤', ':man_singer_dark_skin_tone:': '👨🏿🎤', ':man_singer_tone5:': '👨🏿🎤', ':man_student_light_skin_tone:': '👨🏻🎓', ':man_student_tone1:': '👨🏻🎓', ':man_student_medium_light_skin_tone:': '👨🏼🎓', ':man_student_tone2:': '👨🏼🎓', ':man_student_medium_skin_tone:': '👨🏽🎓', ':man_student_tone3:': '👨🏽🎓', ':man_student_medium_dark_skin_tone:': '👨🏾🎓', ':man_student_tone4:': '👨🏾🎓', ':man_student_dark_skin_tone:': '👨🏿🎓', ':man_student_tone5:': '👨🏿🎓', ':man_teacher_light_skin_tone:': '👨🏻🏫', ':man_teacher_tone1:': '👨🏻🏫', ':man_teacher_medium_light_skin_tone:': '👨🏼🏫', ':man_teacher_tone2:': '👨🏼🏫', ':man_teacher_medium_skin_tone:': '👨🏽🏫', ':man_teacher_tone3:': '👨🏽🏫', ':man_teacher_medium_dark_skin_tone:': '👨🏾🏫', ':man_teacher_tone4:': '👨🏾🏫', ':man_teacher_dark_skin_tone:': '👨🏿🏫', ':man_teacher_tone5:': '👨🏿🏫', ':man_technologist_light_skin_tone:': '👨🏻💻', ':man_technologist_tone1:': '👨🏻💻', ':man_technologist_medium_light_skin_tone:': '👨🏼💻', ':man_technologist_tone2:': '👨🏼💻', ':man_technologist_medium_skin_tone:': '👨🏽💻', ':man_technologist_tone3:': '👨🏽💻', ':man_technologist_medium_dark_skin_tone:': '👨🏾💻', ':man_technologist_tone4:': '👨🏾💻', ':man_technologist_dark_skin_tone:': '👨🏿💻', ':man_technologist_tone5:': '👨🏿💻', ':man_white_haired_light_skin_tone:': '👨🏻🦳', ':man_white_haired_tone1:': '👨🏻🦳', ':man_white_haired_medium_light_skin_tone:': '👨🏼🦳', ':man_white_haired_tone2:': '👨🏼🦳', ':man_white_haired_medium_skin_tone:': '👨🏽🦳', ':man_white_haired_tone3:': '👨🏽🦳', ':man_white_haired_medium_dark_skin_tone:': '👨🏾🦳', ':man_white_haired_tone4:': '👨🏾🦳', ':man_white_haired_dark_skin_tone:': '👨🏿🦳', ':man_white_haired_tone5:': '👨🏿🦳', ':man_with_probing_cane_light_skin_tone:': '👨🏻🦯', ':man_with_probing_cane_tone1:': '👨🏻🦯', ':man_with_probing_cane_medium_light_skin_tone:': '👨🏼🦯', ':man_with_probing_cane_tone2:': '👨🏼🦯', ':man_with_probing_cane_medium_skin_tone:': '👨🏽🦯', ':man_with_probing_cane_tone3:': '👨🏽🦯', ':man_with_probing_cane_medium_dark_skin_tone:': '👨🏾🦯', ':man_with_probing_cane_tone4:': '👨🏾🦯', ':man_with_probing_cane_dark_skin_tone:': '👨🏿🦯', ':man_with_probing_cane_tone5:': '👨🏿🦯', ':people_holding_hands:': '🧑🤝🧑', ':woman_artist_light_skin_tone:': '👩🏻🎨', ':woman_artist_tone1:': '👩🏻🎨', ':woman_artist_medium_light_skin_tone:': '👩🏼🎨', ':woman_artist_tone2:': '👩🏼🎨', ':woman_artist_medium_skin_tone:': '👩🏽🎨', ':woman_artist_tone3:': '👩🏽🎨', ':woman_artist_medium_dark_skin_tone:': '👩🏾🎨', ':woman_artist_tone4:': '👩🏾🎨', ':woman_artist_dark_skin_tone:': '👩🏿🎨', ':woman_artist_tone5:': '👩🏿🎨', ':woman_astronaut_light_skin_tone:': '👩🏻🚀', ':woman_astronaut_tone1:': '👩🏻🚀', ':woman_astronaut_medium_light_skin_tone:': '👩🏼🚀', ':woman_astronaut_tone2:': '👩🏼🚀', ':woman_astronaut_medium_skin_tone:': '👩🏽🚀', ':woman_astronaut_tone3:': '👩🏽🚀', ':woman_astronaut_medium_dark_skin_tone:': '👩🏾🚀', ':woman_astronaut_tone4:': '👩🏾🚀', ':woman_astronaut_dark_skin_tone:': '👩🏿🚀', ':woman_astronaut_tone5:': '👩🏿🚀', ':woman_bald_light_skin_tone:': '👩🏻🦲', ':woman_bald_tone1:': '👩🏻🦲', ':woman_bald_medium_light_skin_tone:': '👩🏼🦲', ':woman_bald_tone2:': '👩🏼🦲', ':woman_bald_medium_skin_tone:': '👩🏽🦲', ':woman_bald_tone3:': '👩🏽🦲', ':woman_bald_medium_dark_skin_tone:': '👩🏾🦲', ':woman_bald_tone4:': '👩🏾🦲', ':woman_bald_dark_skin_tone:': '👩🏿🦲', ':woman_bald_tone5:': '👩🏿🦲', ':woman_cook_light_skin_tone:': '👩🏻🍳', ':woman_cook_tone1:': '👩🏻🍳', ':woman_cook_medium_light_skin_tone:': '👩🏼🍳', ':woman_cook_tone2:': '👩🏼🍳', ':woman_cook_medium_skin_tone:': '👩🏽🍳', ':woman_cook_tone3:': '👩🏽🍳', ':woman_cook_medium_dark_skin_tone:': '👩🏾🍳', ':woman_cook_tone4:': '👩🏾🍳', ':woman_cook_dark_skin_tone:': '👩🏿🍳', ':woman_cook_tone5:': '👩🏿🍳', ':woman_curly_haired_light_skin_tone:': '👩🏻🦱', ':woman_curly_haired_tone1:': '👩🏻🦱', ':woman_curly_haired_medium_light_skin_tone:': '👩🏼🦱', ':woman_curly_haired_tone2:': '👩🏼🦱', ':woman_curly_haired_medium_skin_tone:': '👩🏽🦱', ':woman_curly_haired_tone3:': '👩🏽🦱', ':woman_curly_haired_medium_dark_skin_tone:': '👩🏾🦱', ':woman_curly_haired_tone4:': '👩🏾🦱', ':woman_curly_haired_dark_skin_tone:': '👩🏿🦱', ':woman_curly_haired_tone5:': '👩🏿🦱', ':woman_factory_worker_light_skin_tone:': '👩🏻🏭', ':woman_factory_worker_tone1:': '👩🏻🏭', ':woman_factory_worker_medium_light_skin_tone:': '👩🏼🏭', ':woman_factory_worker_tone2:': '👩🏼🏭', ':woman_factory_worker_medium_skin_tone:': '👩🏽🏭', ':woman_factory_worker_tone3:': '👩🏽🏭', ':woman_factory_worker_medium_dark_skin_tone:': '👩🏾🏭', ':woman_factory_worker_tone4:': '👩🏾🏭', ':woman_factory_worker_dark_skin_tone:': '👩🏿🏭', ':woman_factory_worker_tone5:': '👩🏿🏭', ':woman_farmer_light_skin_tone:': '👩🏻🌾', ':woman_farmer_tone1:': '👩🏻🌾', ':woman_farmer_medium_light_skin_tone:': '👩🏼🌾', ':woman_farmer_tone2:': '👩🏼🌾', ':woman_farmer_medium_skin_tone:': '👩🏽🌾', ':woman_farmer_tone3:': '👩🏽🌾', ':woman_farmer_medium_dark_skin_tone:': '👩🏾🌾', ':woman_farmer_tone4:': '👩🏾🌾', ':woman_farmer_dark_skin_tone:': '👩🏿🌾', ':woman_farmer_tone5:': '👩🏿🌾', ':woman_firefighter_light_skin_tone:': '👩🏻🚒', ':woman_firefighter_tone1:': '👩🏻🚒', ':woman_firefighter_medium_light_skin_tone:': '👩🏼🚒', ':woman_firefighter_tone2:': '👩🏼🚒', ':woman_firefighter_medium_skin_tone:': '👩🏽🚒', ':woman_firefighter_tone3:': '👩🏽🚒', ':woman_firefighter_medium_dark_skin_tone:': '👩🏾🚒', ':woman_firefighter_tone4:': '👩🏾🚒', ':woman_firefighter_dark_skin_tone:': '👩🏿🚒', ':woman_firefighter_tone5:': '👩🏿🚒', ':woman_in_manual_wheelchair_light_skin_tone:': '👩🏻🦽', ':woman_in_manual_wheelchair_tone1:': '👩🏻🦽', ':woman_in_manual_wheelchair_medium_light_skin_tone:': '👩🏼🦽', ':woman_in_manual_wheelchair_tone2:': '👩🏼🦽', ':woman_in_manual_wheelchair_medium_skin_tone:': '👩🏽🦽', ':woman_in_manual_wheelchair_tone3:': '👩🏽🦽', ':woman_in_manual_wheelchair_medium_dark_skin_tone:': '👩🏾🦽', ':woman_in_manual_wheelchair_tone4:': '👩🏾🦽', ':woman_in_manual_wheelchair_dark_skin_tone:': '👩🏿🦽', ':woman_in_manual_wheelchair_tone5:': '👩🏿🦽', ':woman_in_motorized_wheelchair_light_skin_tone:': '👩🏻🦼', ':woman_in_motorized_wheelchair_tone1:': '👩🏻🦼', ':woman_in_motorized_wheelchair_medium_light_skin_tone:': '👩🏼🦼', ':woman_in_motorized_wheelchair_tone2:': '👩🏼🦼', ':woman_in_motorized_wheelchair_medium_skin_tone:': '👩🏽🦼', ':woman_in_motorized_wheelchair_tone3:': '👩🏽🦼', ':woman_in_motorized_wheelchair_medium_dark_skin_tone:': '👩🏾🦼', ':woman_in_motorized_wheelchair_tone4:': '👩🏾🦼', ':woman_in_motorized_wheelchair_dark_skin_tone:': '👩🏿🦼', ':woman_in_motorized_wheelchair_tone5:': '👩🏿🦼', ':woman_mechanic_light_skin_tone:': '👩🏻🔧', ':woman_mechanic_tone1:': '👩🏻🔧', ':woman_mechanic_medium_light_skin_tone:': '👩🏼🔧', ':woman_mechanic_tone2:': '👩🏼🔧', ':woman_mechanic_medium_skin_tone:': '👩🏽🔧', ':woman_mechanic_tone3:': '👩🏽🔧', ':woman_mechanic_medium_dark_skin_tone:': '👩🏾🔧', ':woman_mechanic_tone4:': '👩🏾🔧', ':woman_mechanic_dark_skin_tone:': '👩🏿🔧', ':woman_mechanic_tone5:': '👩🏿🔧', ':woman_office_worker_light_skin_tone:': '👩🏻💼', ':woman_office_worker_tone1:': '👩🏻💼', ':woman_office_worker_medium_light_skin_tone:': '👩🏼💼', ':woman_office_worker_tone2:': '👩🏼💼', ':woman_office_worker_medium_skin_tone:': '👩🏽💼', ':woman_office_worker_tone3:': '👩🏽💼', ':woman_office_worker_medium_dark_skin_tone:': '👩🏾💼', ':woman_office_worker_tone4:': '👩🏾💼', ':woman_office_worker_dark_skin_tone:': '👩🏿💼', ':woman_office_worker_tone5:': '👩🏿💼', ':woman_red_haired_light_skin_tone:': '👩🏻🦰', ':woman_red_haired_tone1:': '👩🏻🦰', ':woman_red_haired_medium_light_skin_tone:': '👩🏼🦰', ':woman_red_haired_tone2:': '👩🏼🦰', ':woman_red_haired_medium_skin_tone:': '👩🏽🦰', ':woman_red_haired_tone3:': '👩🏽🦰', ':woman_red_haired_medium_dark_skin_tone:': '👩🏾🦰', ':woman_red_haired_tone4:': '👩🏾🦰', ':woman_red_haired_dark_skin_tone:': '👩🏿🦰', ':woman_red_haired_tone5:': '👩🏿🦰', ':woman_scientist_light_skin_tone:': '👩🏻🔬', ':woman_scientist_tone1:': '👩🏻🔬', ':woman_scientist_medium_light_skin_tone:': '👩🏼🔬', ':woman_scientist_tone2:': '👩🏼🔬', ':woman_scientist_medium_skin_tone:': '👩🏽🔬', ':woman_scientist_tone3:': '👩🏽🔬', ':woman_scientist_medium_dark_skin_tone:': '👩🏾🔬', ':woman_scientist_tone4:': '👩🏾🔬', ':woman_scientist_dark_skin_tone:': '👩🏿🔬', ':woman_scientist_tone5:': '👩🏿🔬', ':woman_singer_light_skin_tone:': '👩🏻🎤', ':woman_singer_tone1:': '👩🏻🎤', ':woman_singer_medium_light_skin_tone:': '👩🏼🎤', ':woman_singer_tone2:': '👩🏼🎤', ':woman_singer_medium_skin_tone:': '👩🏽🎤', ':woman_singer_tone3:': '👩🏽🎤', ':woman_singer_medium_dark_skin_tone:': '👩🏾🎤', ':woman_singer_tone4:': '👩🏾🎤', ':woman_singer_dark_skin_tone:': '👩🏿🎤', ':woman_singer_tone5:': '👩🏿🎤', ':woman_student_light_skin_tone:': '👩🏻🎓', ':woman_student_tone1:': '👩🏻🎓', ':woman_student_medium_light_skin_tone:': '👩🏼🎓', ':woman_student_tone2:': '👩🏼🎓', ':woman_student_medium_skin_tone:': '👩🏽🎓', ':woman_student_tone3:': '👩🏽🎓', ':woman_student_medium_dark_skin_tone:': '👩🏾🎓', ':woman_student_tone4:': '👩🏾🎓', ':woman_student_dark_skin_tone:': '👩🏿🎓', ':woman_student_tone5:': '👩🏿🎓', ':woman_teacher_light_skin_tone:': '👩🏻🏫', ':woman_teacher_tone1:': '👩🏻🏫', ':woman_teacher_medium_light_skin_tone:': '👩🏼🏫', ':woman_teacher_tone2:': '👩🏼🏫', ':woman_teacher_medium_skin_tone:': '👩🏽🏫', ':woman_teacher_tone3:': '👩🏽🏫', ':woman_teacher_medium_dark_skin_tone:': '👩🏾🏫', ':woman_teacher_tone4:': '👩🏾🏫', ':woman_teacher_dark_skin_tone:': '👩🏿🏫', ':woman_teacher_tone5:': '👩🏿🏫', ':woman_technologist_light_skin_tone:': '👩🏻💻', ':woman_technologist_tone1:': '👩🏻💻', ':woman_technologist_medium_light_skin_tone:': '👩🏼💻', ':woman_technologist_tone2:': '👩🏼💻', ':woman_technologist_medium_skin_tone:': '👩🏽💻', ':woman_technologist_tone3:': '👩🏽💻', ':woman_technologist_medium_dark_skin_tone:': '👩🏾💻', ':woman_technologist_tone4:': '👩🏾💻', ':woman_technologist_dark_skin_tone:': '👩🏿💻', ':woman_technologist_tone5:': '👩🏿💻', ':woman_white_haired_light_skin_tone:': '👩🏻🦳', ':woman_white_haired_tone1:': '👩🏻🦳', ':woman_white_haired_medium_light_skin_tone:': '👩🏼🦳', ':woman_white_haired_tone2:': '👩🏼🦳', ':woman_white_haired_medium_skin_tone:': '👩🏽🦳', ':woman_white_haired_tone3:': '👩🏽🦳', ':woman_white_haired_medium_dark_skin_tone:': '👩🏾🦳', ':woman_white_haired_tone4:': '👩🏾🦳', ':woman_white_haired_dark_skin_tone:': '👩🏿🦳', ':woman_white_haired_tone5:': '👩🏿🦳', ':woman_with_probing_cane_light_skin_tone:': '👩🏻🦯', ':woman_with_probing_cane_tone1:': '👩🏻🦯', ':woman_with_probing_cane_medium_light_skin_tone:': '👩🏼🦯', ':woman_with_probing_cane_tone2:': '👩🏼🦯', ':woman_with_probing_cane_medium_skin_tone:': '👩🏽🦯', ':woman_with_probing_cane_tone3:': '👩🏽🦯', ':woman_with_probing_cane_medium_dark_skin_tone:': '👩🏾🦯', ':woman_with_probing_cane_tone4:': '👩🏾🦯', ':woman_with_probing_cane_dark_skin_tone:': '👩🏿🦯', ':woman_with_probing_cane_tone5:': '👩🏿🦯', ':blond-haired_man_light_skin_tone:': '👱🏻♂️', ':blond-haired_man_tone1:': '👱🏻♂️', ':blond-haired_man_medium_light_skin_tone:': '👱🏼♂️', ':blond-haired_man_tone2:': '👱🏼♂️', ':blond-haired_man_medium_skin_tone:': '👱🏽♂️', ':blond-haired_man_tone3:': '👱🏽♂️', ':blond-haired_man_medium_dark_skin_tone:': '👱🏾♂️', ':blond-haired_man_tone4:': '👱🏾♂️', ':blond-haired_man_dark_skin_tone:': '👱🏿♂️', ':blond-haired_man_tone5:': '👱🏿♂️', ':blond-haired_woman_light_skin_tone:': '👱🏻♀️', ':blond-haired_woman_tone1:': '👱🏻♀️', ':blond-haired_woman_medium_light_skin_tone:': '👱🏼♀️', ':blond-haired_woman_tone2:': '👱🏼♀️', ':blond-haired_woman_medium_skin_tone:': '👱🏽♀️', ':blond-haired_woman_tone3:': '👱🏽♀️', ':blond-haired_woman_medium_dark_skin_tone:': '👱🏾♀️', ':blond-haired_woman_tone4:': '👱🏾♀️', ':blond-haired_woman_dark_skin_tone:': '👱🏿♀️', ':blond-haired_woman_tone5:': '👱🏿♀️', ':couple_with_heart_mm:': '👨❤️👨', ':couple_mm:': '👨❤️👨', ':couple_with_heart_woman_man:': '👩❤️👨', ':couple_with_heart_ww:': '👩❤️👩', ':couple_ww:': '👩❤️👩', ':deaf_man_light_skin_tone:': '🧏🏻♂️', ':deaf_man_tone1:': '🧏🏻♂️', ':deaf_man_medium_light_skin_tone:': '🧏🏼♂️', ':deaf_man_tone2:': '🧏🏼♂️', ':deaf_man_medium_skin_tone:': '🧏🏽♂️', ':deaf_man_tone3:': '🧏🏽♂️', ':deaf_man_medium_dark_skin_tone:': '🧏🏾♂️', ':deaf_man_tone4:': '🧏🏾♂️', ':deaf_man_dark_skin_tone:': '🧏🏿♂️', ':deaf_man_tone5:': '🧏🏿♂️', ':deaf_woman_light_skin_tone:': '🧏🏻♀️', ':deaf_woman_tone1:': '🧏🏻♀️', ':deaf_woman_medium_light_skin_tone:': '🧏🏼♀️', ':deaf_woman_tone2:': '🧏🏼♀️', ':deaf_woman_medium_skin_tone:': '🧏🏽♀️', ':deaf_woman_tone3:': '🧏🏽♀️', ':deaf_woman_medium_dark_skin_tone:': '🧏🏾♀️', ':deaf_woman_tone4:': '🧏🏾♀️', ':deaf_woman_dark_skin_tone:': '🧏🏿♀️', ':deaf_woman_tone5:': '🧏🏿♀️', ':man_biking_light_skin_tone:': '🚴🏻♂️', ':man_biking_tone1:': '🚴🏻♂️', ':man_biking_medium_light_skin_tone:': '🚴🏼♂️', ':man_biking_tone2:': '🚴🏼♂️', ':man_biking_medium_skin_tone:': '🚴🏽♂️', ':man_biking_tone3:': '🚴🏽♂️', ':man_biking_medium_dark_skin_tone:': '🚴🏾♂️', ':man_biking_tone4:': '🚴🏾♂️', ':man_biking_dark_skin_tone:': '🚴🏿♂️', ':man_biking_tone5:': '🚴🏿♂️', ':man_bowing_light_skin_tone:': '🙇🏻♂️', ':man_bowing_tone1:': '🙇🏻♂️', ':man_bowing_medium_light_skin_tone:': '🙇🏼♂️', ':man_bowing_tone2:': '🙇🏼♂️', ':man_bowing_medium_skin_tone:': '🙇🏽♂️', ':man_bowing_tone3:': '🙇🏽♂️', ':man_bowing_medium_dark_skin_tone:': '🙇🏾♂️', ':man_bowing_tone4:': '🙇🏾♂️', ':man_bowing_dark_skin_tone:': '🙇🏿♂️', ':man_bowing_tone5:': '🙇🏿♂️', ':man_cartwheeling_light_skin_tone:': '🤸🏻♂️', ':man_cartwheeling_tone1:': '🤸🏻♂️', ':man_cartwheeling_medium_light_skin_tone:': '🤸🏼♂️', ':man_cartwheeling_tone2:': '🤸🏼♂️', ':man_cartwheeling_medium_skin_tone:': '🤸🏽♂️', ':man_cartwheeling_tone3:': '🤸🏽♂️', ':man_cartwheeling_medium_dark_skin_tone:': '🤸🏾♂️', ':man_cartwheeling_tone4:': '🤸🏾♂️', ':man_cartwheeling_dark_skin_tone:': '🤸🏿♂️', ':man_cartwheeling_tone5:': '🤸🏿♂️', ':man_climbing_light_skin_tone:': '🧗🏻♂️', ':man_climbing_tone1:': '🧗🏻♂️', ':man_climbing_medium_light_skin_tone:': '🧗🏼♂️', ':man_climbing_tone2:': '🧗🏼♂️', ':man_climbing_medium_skin_tone:': '🧗🏽♂️', ':man_climbing_tone3:': '🧗🏽♂️', ':man_climbing_medium_dark_skin_tone:': '🧗🏾♂️', ':man_climbing_tone4:': '🧗🏾♂️', ':man_climbing_dark_skin_tone:': '🧗🏿♂️', ':man_climbing_tone5:': '🧗🏿♂️', ':man_construction_worker_light_skin_tone:': '👷🏻♂️', ':man_construction_worker_tone1:': '👷🏻♂️', ':man_construction_worker_medium_light_skin_tone:': '👷🏼♂️', ':man_construction_worker_tone2:': '👷🏼♂️', ':man_construction_worker_medium_skin_tone:': '👷🏽♂️', ':man_construction_worker_tone3:': '👷🏽♂️', ':man_construction_worker_medium_dark_skin_tone:': '👷🏾♂️', ':man_construction_worker_tone4:': '👷🏾♂️', ':man_construction_worker_dark_skin_tone:': '👷🏿♂️', ':man_construction_worker_tone5:': '👷🏿♂️', ':man_detective_light_skin_tone:': '🕵️🏻♂️', ':man_detective_tone1:': '🕵️🏻♂️', ':man_detective_medium_light_skin_tone:': '🕵️🏼♂️', ':man_detective_tone2:': '🕵️🏼♂️', ':man_detective_medium_skin_tone:': '🕵️🏽♂️', ':man_detective_tone3:': '🕵️🏽♂️', ':man_detective_medium_dark_skin_tone:': '🕵️🏾♂️', ':man_detective_tone4:': '🕵️🏾♂️', ':man_detective_dark_skin_tone:': '🕵️🏿♂️', ':man_detective_tone5:': '🕵️🏿♂️', ':man_elf_light_skin_tone:': '🧝🏻♂️', ':man_elf_tone1:': '🧝🏻♂️', ':man_elf_medium_light_skin_tone:': '🧝🏼♂️', ':man_elf_tone2:': '🧝🏼♂️', ':man_elf_medium_skin_tone:': '🧝🏽♂️', ':man_elf_tone3:': '🧝🏽♂️', ':man_elf_medium_dark_skin_tone:': '🧝🏾♂️', ':man_elf_tone4:': '🧝🏾♂️', ':man_elf_dark_skin_tone:': '🧝🏿♂️', ':man_elf_tone5:': '🧝🏿♂️', ':man_facepalming_light_skin_tone:': '🤦🏻♂️', ':man_facepalming_tone1:': '🤦🏻♂️', ':man_facepalming_medium_light_skin_tone:': '🤦🏼♂️', ':man_facepalming_tone2:': '🤦🏼♂️', ':man_facepalming_medium_skin_tone:': '🤦🏽♂️', ':man_facepalming_tone3:': '🤦🏽♂️', ':man_facepalming_medium_dark_skin_tone:': '🤦🏾♂️', ':man_facepalming_tone4:': '🤦🏾♂️', ':man_facepalming_dark_skin_tone:': '🤦🏿♂️', ':man_facepalming_tone5:': '🤦🏿♂️', ':man_fairy_light_skin_tone:': '🧚🏻♂️', ':man_fairy_tone1:': '🧚🏻♂️', ':man_fairy_medium_light_skin_tone:': '🧚🏼♂️', ':man_fairy_tone2:': '🧚🏼♂️', ':man_fairy_medium_skin_tone:': '🧚🏽♂️', ':man_fairy_tone3:': '🧚🏽♂️', ':man_fairy_medium_dark_skin_tone:': '🧚🏾♂️', ':man_fairy_tone4:': '🧚🏾♂️', ':man_fairy_dark_skin_tone:': '🧚🏿♂️', ':man_fairy_tone5:': '🧚🏿♂️', ':man_frowning_light_skin_tone:': '🙍🏻♂️', ':man_frowning_tone1:': '🙍🏻♂️', ':man_frowning_medium_light_skin_tone:': '🙍🏼♂️', ':man_frowning_tone2:': '🙍🏼♂️', ':man_frowning_medium_skin_tone:': '🙍🏽♂️', ':man_frowning_tone3:': '🙍🏽♂️', ':man_frowning_medium_dark_skin_tone:': '🙍🏾♂️', ':man_frowning_tone4:': '🙍🏾♂️', ':man_frowning_dark_skin_tone:': '🙍🏿♂️', ':man_frowning_tone5:': '🙍🏿♂️', ':man_gesturing_no_light_skin_tone:': '🙅🏻♂️', ':man_gesturing_no_tone1:': '🙅🏻♂️', ':man_gesturing_no_medium_light_skin_tone:': '🙅🏼♂️', ':man_gesturing_no_tone2:': '🙅🏼♂️', ':man_gesturing_no_medium_skin_tone:': '🙅🏽♂️', ':man_gesturing_no_tone3:': '🙅🏽♂️', ':man_gesturing_no_medium_dark_skin_tone:': '🙅🏾♂️', ':man_gesturing_no_tone4:': '🙅🏾♂️', ':man_gesturing_no_dark_skin_tone:': '🙅🏿♂️', ':man_gesturing_no_tone5:': '🙅🏿♂️', ':man_gesturing_ok_light_skin_tone:': '🙆🏻♂️', ':man_gesturing_ok_tone1:': '🙆🏻♂️', ':man_gesturing_ok_medium_light_skin_tone:': '🙆🏼♂️', ':man_gesturing_ok_tone2:': '🙆🏼♂️', ':man_gesturing_ok_medium_skin_tone:': '🙆🏽♂️', ':man_gesturing_ok_tone3:': '🙆🏽♂️', ':man_gesturing_ok_medium_dark_skin_tone:': '🙆🏾♂️', ':man_gesturing_ok_tone4:': '🙆🏾♂️', ':man_gesturing_ok_dark_skin_tone:': '🙆🏿♂️', ':man_gesturing_ok_tone5:': '🙆🏿♂️', ':man_getting_face_massage_light_skin_tone:': '💆🏻♂️', ':man_getting_face_massage_tone1:': '💆🏻♂️', ':man_getting_face_massage_medium_light_skin_tone:': '💆🏼♂️', ':man_getting_face_massage_tone2:': '💆🏼♂️', ':man_getting_face_massage_medium_skin_tone:': '💆🏽♂️', ':man_getting_face_massage_tone3:': '💆🏽♂️', ':man_getting_face_massage_medium_dark_skin_tone:': '💆🏾♂️', ':man_getting_face_massage_tone4:': '💆🏾♂️', ':man_getting_face_massage_dark_skin_tone:': '💆🏿♂️', ':man_getting_face_massage_tone5:': '💆🏿♂️', ':man_getting_haircut_light_skin_tone:': '💇🏻♂️', ':man_getting_haircut_tone1:': '💇🏻♂️', ':man_getting_haircut_medium_light_skin_tone:': '💇🏼♂️', ':man_getting_haircut_tone2:': '💇🏼♂️', ':man_getting_haircut_medium_skin_tone:': '💇🏽♂️', ':man_getting_haircut_tone3:': '💇🏽♂️', ':man_getting_haircut_medium_dark_skin_tone:': '💇🏾♂️', ':man_getting_haircut_tone4:': '💇🏾♂️', ':man_getting_haircut_dark_skin_tone:': '💇🏿♂️', ':man_getting_haircut_tone5:': '💇🏿♂️', ':man_golfing_light_skin_tone:': '🏌️🏻♂️', ':man_golfing_tone1:': '🏌️🏻♂️', ':man_golfing_medium_light_skin_tone:': '🏌️🏼♂️', ':man_golfing_tone2:': '🏌️🏼♂️', ':man_golfing_medium_skin_tone:': '🏌️🏽♂️', ':man_golfing_tone3:': '🏌️🏽♂️', ':man_golfing_medium_dark_skin_tone:': '🏌️🏾♂️', ':man_golfing_tone4:': '🏌️🏾♂️', ':man_golfing_dark_skin_tone:': '🏌️🏿♂️', ':man_golfing_tone5:': '🏌️🏿♂️', ':man_guard_light_skin_tone:': '💂🏻♂️', ':man_guard_tone1:': '💂🏻♂️', ':man_guard_medium_light_skin_tone:': '💂🏼♂️', ':man_guard_tone2:': '💂🏼♂️', ':man_guard_medium_skin_tone:': '💂🏽♂️', ':man_guard_tone3:': '💂🏽♂️', ':man_guard_medium_dark_skin_tone:': '💂🏾♂️', ':man_guard_tone4:': '💂🏾♂️', ':man_guard_dark_skin_tone:': '💂🏿♂️', ':man_guard_tone5:': '💂🏿♂️', ':man_health_worker_light_skin_tone:': '👨🏻⚕️', ':man_health_worker_tone1:': '👨🏻⚕️', ':man_health_worker_medium_light_skin_tone:': '👨🏼⚕️', ':man_health_worker_tone2:': '👨🏼⚕️', ':man_health_worker_medium_skin_tone:': '👨🏽⚕️', ':man_health_worker_tone3:': '👨🏽⚕️', ':man_health_worker_medium_dark_skin_tone:': '👨🏾⚕️', ':man_health_worker_tone4:': '👨🏾⚕️', ':man_health_worker_dark_skin_tone:': '👨🏿⚕️', ':man_health_worker_tone5:': '👨🏿⚕️', ':man_in_lotus_position_light_skin_tone:': '🧘🏻♂️', ':man_in_lotus_position_tone1:': '🧘🏻♂️', ':man_in_lotus_position_medium_light_skin_tone:': '🧘🏼♂️', ':man_in_lotus_position_tone2:': '🧘🏼♂️', ':man_in_lotus_position_medium_skin_tone:': '🧘🏽♂️', ':man_in_lotus_position_tone3:': '🧘🏽♂️', ':man_in_lotus_position_medium_dark_skin_tone:': '🧘🏾♂️', ':man_in_lotus_position_tone4:': '🧘🏾♂️', ':man_in_lotus_position_dark_skin_tone:': '🧘🏿♂️', ':man_in_lotus_position_tone5:': '🧘🏿♂️', ':man_in_steamy_room_light_skin_tone:': '🧖🏻♂️', ':man_in_steamy_room_tone1:': '🧖🏻♂️', ':man_in_steamy_room_medium_light_skin_tone:': '🧖🏼♂️', ':man_in_steamy_room_tone2:': '🧖🏼♂️', ':man_in_steamy_room_medium_skin_tone:': '🧖🏽♂️', ':man_in_steamy_room_tone3:': '🧖🏽♂️', ':man_in_steamy_room_medium_dark_skin_tone:': '🧖🏾♂️', ':man_in_steamy_room_tone4:': '🧖🏾♂️', ':man_in_steamy_room_dark_skin_tone:': '🧖🏿♂️', ':man_in_steamy_room_tone5:': '🧖🏿♂️', ':man_judge_light_skin_tone:': '👨🏻⚖️', ':man_judge_tone1:': '👨🏻⚖️', ':man_judge_medium_light_skin_tone:': '👨🏼⚖️', ':man_judge_tone2:': '👨🏼⚖️', ':man_judge_medium_skin_tone:': '👨🏽⚖️', ':man_judge_tone3:': '👨🏽⚖️', ':man_judge_medium_dark_skin_tone:': '👨🏾⚖️', ':man_judge_tone4:': '👨🏾⚖️', ':man_judge_dark_skin_tone:': '👨🏿⚖️', ':man_judge_tone5:': '👨🏿⚖️', ':man_juggling_light_skin_tone:': '🤹🏻♂️', ':man_juggling_tone1:': '🤹🏻♂️', ':man_juggling_medium_light_skin_tone:': '🤹🏼♂️', ':man_juggling_tone2:': '🤹🏼♂️', ':man_juggling_medium_skin_tone:': '🤹🏽♂️', ':man_juggling_tone3:': '🤹🏽♂️', ':man_juggling_medium_dark_skin_tone:': '🤹🏾♂️', ':man_juggling_tone4:': '🤹🏾♂️', ':man_juggling_dark_skin_tone:': '🤹🏿♂️', ':man_juggling_tone5:': '🤹🏿♂️', ':man_kneeling_light_skin_tone:': '🧎🏻♂️', ':man_kneeling_tone1:': '🧎🏻♂️', ':man_kneeling_medium_light_skin_tone:': '🧎🏼♂️', ':man_kneeling_tone2:': '🧎🏼♂️', ':man_kneeling_medium_skin_tone:': '🧎🏽♂️', ':man_kneeling_tone3:': '🧎🏽♂️', ':man_kneeling_medium_dark_skin_tone:': '🧎🏾♂️', ':man_kneeling_tone4:': '🧎🏾♂️', ':man_kneeling_dark_skin_tone:': '🧎🏿♂️', ':man_kneeling_tone5:': '🧎🏿♂️', ':man_lifting_weights_light_skin_tone:': '🏋️🏻♂️', ':man_lifting_weights_tone1:': '🏋️🏻♂️', ':man_lifting_weights_medium_light_skin_tone:': '🏋️🏼♂️', ':man_lifting_weights_tone2:': '🏋️🏼♂️', ':man_lifting_weights_medium_skin_tone:': '🏋️🏽♂️', ':man_lifting_weights_tone3:': '🏋️🏽♂️', ':man_lifting_weights_medium_dark_skin_tone:': '🏋️🏾♂️', ':man_lifting_weights_tone4:': '🏋️🏾♂️', ':man_lifting_weights_dark_skin_tone:': '🏋️🏿♂️', ':man_lifting_weights_tone5:': '🏋️🏿♂️', ':man_mage_light_skin_tone:': '🧙🏻♂️', ':man_mage_tone1:': '🧙🏻♂️', ':man_mage_medium_light_skin_tone:': '🧙🏼♂️', ':man_mage_tone2:': '🧙🏼♂️', ':man_mage_medium_skin_tone:': '🧙🏽♂️', ':man_mage_tone3:': '🧙🏽♂️', ':man_mage_medium_dark_skin_tone:': '🧙🏾♂️', ':man_mage_tone4:': '🧙🏾♂️', ':man_mage_dark_skin_tone:': '🧙🏿♂️', ':man_mage_tone5:': '🧙🏿♂️', ':man_mountain_biking_light_skin_tone:': '🚵🏻♂️', ':man_mountain_biking_tone1:': '🚵🏻♂️', ':man_mountain_biking_medium_light_skin_tone:': '🚵🏼♂️', ':man_mountain_biking_tone2:': '🚵🏼♂️', ':man_mountain_biking_medium_skin_tone:': '🚵🏽♂️', ':man_mountain_biking_tone3:': '🚵🏽♂️', ':man_mountain_biking_medium_dark_skin_tone:': '🚵🏾♂️', ':man_mountain_biking_tone4:': '🚵🏾♂️', ':man_mountain_biking_dark_skin_tone:': '🚵🏿♂️', ':man_mountain_biking_tone5:': '🚵🏿♂️', ':man_pilot_light_skin_tone:': '👨🏻✈️', ':man_pilot_tone1:': '👨🏻✈️', ':man_pilot_medium_light_skin_tone:': '👨🏼✈️', ':man_pilot_tone2:': '👨🏼✈️', ':man_pilot_medium_skin_tone:': '👨🏽✈️', ':man_pilot_tone3:': '👨🏽✈️', ':man_pilot_medium_dark_skin_tone:': '👨🏾✈️', ':man_pilot_tone4:': '👨🏾✈️', ':man_pilot_dark_skin_tone:': '👨🏿✈️', ':man_pilot_tone5:': '👨🏿✈️', ':man_playing_handball_light_skin_tone:': '🤾🏻♂️', ':man_playing_handball_tone1:': '🤾🏻♂️', ':man_playing_handball_medium_light_skin_tone:': '🤾🏼♂️', ':man_playing_handball_tone2:': '🤾🏼♂️', ':man_playing_handball_medium_skin_tone:': '🤾🏽♂️', ':man_playing_handball_tone3:': '🤾🏽♂️', ':man_playing_handball_medium_dark_skin_tone:': '🤾🏾♂️', ':man_playing_handball_tone4:': '🤾🏾♂️', ':man_playing_handball_dark_skin_tone:': '🤾🏿♂️', ':man_playing_handball_tone5:': '🤾🏿♂️', ':man_playing_water_polo_light_skin_tone:': '🤽🏻♂️', ':man_playing_water_polo_tone1:': '🤽🏻♂️', ':man_playing_water_polo_medium_light_skin_tone:': '🤽🏼♂️', ':man_playing_water_polo_tone2:': '🤽🏼♂️', ':man_playing_water_polo_medium_skin_tone:': '🤽🏽♂️', ':man_playing_water_polo_tone3:': '🤽🏽♂️', ':man_playing_water_polo_medium_dark_skin_tone:': '🤽🏾♂️', ':man_playing_water_polo_tone4:': '🤽🏾♂️', ':man_playing_water_polo_dark_skin_tone:': '🤽🏿♂️', ':man_playing_water_polo_tone5:': '🤽🏿♂️', ':man_police_officer_light_skin_tone:': '👮🏻♂️', ':man_police_officer_tone1:': '👮🏻♂️', ':man_police_officer_medium_light_skin_tone:': '👮🏼♂️', ':man_police_officer_tone2:': '👮🏼♂️', ':man_police_officer_medium_skin_tone:': '👮🏽♂️', ':man_police_officer_tone3:': '👮🏽♂️', ':man_police_officer_medium_dark_skin_tone:': '👮🏾♂️', ':man_police_officer_tone4:': '👮🏾♂️', ':man_police_officer_dark_skin_tone:': '👮🏿♂️', ':man_police_officer_tone5:': '👮🏿♂️', ':man_pouting_light_skin_tone:': '🙎🏻♂️', ':man_pouting_tone1:': '🙎🏻♂️', ':man_pouting_medium_light_skin_tone:': '🙎🏼♂️', ':man_pouting_tone2:': '🙎🏼♂️', ':man_pouting_medium_skin_tone:': '🙎🏽♂️', ':man_pouting_tone3:': '🙎🏽♂️', ':man_pouting_medium_dark_skin_tone:': '🙎🏾♂️', ':man_pouting_tone4:': '🙎🏾♂️', ':man_pouting_dark_skin_tone:': '🙎🏿♂️', ':man_pouting_tone5:': '🙎🏿♂️', ':man_raising_hand_light_skin_tone:': '🙋🏻♂️', ':man_raising_hand_tone1:': '🙋🏻♂️', ':man_raising_hand_medium_light_skin_tone:': '🙋🏼♂️', ':man_raising_hand_tone2:': '🙋🏼♂️', ':man_raising_hand_medium_skin_tone:': '🙋🏽♂️', ':man_raising_hand_tone3:': '🙋🏽♂️', ':man_raising_hand_medium_dark_skin_tone:': '🙋🏾♂️', ':man_raising_hand_tone4:': '🙋🏾♂️', ':man_raising_hand_dark_skin_tone:': '🙋🏿♂️', ':man_raising_hand_tone5:': '🙋🏿♂️', ':man_rowing_boat_light_skin_tone:': '🚣🏻♂️', ':man_rowing_boat_tone1:': '🚣🏻♂️', ':man_rowing_boat_medium_light_skin_tone:': '🚣🏼♂️', ':man_rowing_boat_tone2:': '🚣🏼♂️', ':man_rowing_boat_medium_skin_tone:': '🚣🏽♂️', ':man_rowing_boat_tone3:': '🚣🏽♂️', ':man_rowing_boat_medium_dark_skin_tone:': '🚣🏾♂️', ':man_rowing_boat_tone4:': '🚣🏾♂️', ':man_rowing_boat_dark_skin_tone:': '🚣🏿♂️', ':man_rowing_boat_tone5:': '🚣🏿♂️', ':man_running_light_skin_tone:': '🏃🏻♂️', ':man_running_tone1:': '🏃🏻♂️', ':man_running_medium_light_skin_tone:': '🏃🏼♂️', ':man_running_tone2:': '🏃🏼♂️', ':man_running_medium_skin_tone:': '🏃🏽♂️', ':man_running_tone3:': '🏃🏽♂️', ':man_running_medium_dark_skin_tone:': '🏃🏾♂️', ':man_running_tone4:': '🏃🏾♂️', ':man_running_dark_skin_tone:': '🏃🏿♂️', ':man_running_tone5:': '🏃🏿♂️', ':man_shrugging_light_skin_tone:': '🤷🏻♂️', ':man_shrugging_tone1:': '🤷🏻♂️', ':man_shrugging_medium_light_skin_tone:': '🤷🏼♂️', ':man_shrugging_tone2:': '🤷🏼♂️', ':man_shrugging_medium_skin_tone:': '🤷🏽♂️', ':man_shrugging_tone3:': '🤷🏽♂️', ':man_shrugging_medium_dark_skin_tone:': '🤷🏾♂️', ':man_shrugging_tone4:': '🤷🏾♂️', ':man_shrugging_dark_skin_tone:': '🤷🏿♂️', ':man_shrugging_tone5:': '🤷🏿♂️', ':man_standing_light_skin_tone:': '🧍🏻♂️', ':man_standing_tone1:': '🧍🏻♂️', ':man_standing_medium_light_skin_tone:': '🧍🏼♂️', ':man_standing_tone2:': '🧍🏼♂️', ':man_standing_medium_skin_tone:': '🧍🏽♂️', ':man_standing_tone3:': '🧍🏽♂️', ':man_standing_medium_dark_skin_tone:': '🧍🏾♂️', ':man_standing_tone4:': '🧍🏾♂️', ':man_standing_dark_skin_tone:': '🧍🏿♂️', ':man_standing_tone5:': '🧍🏿♂️', ':man_superhero_light_skin_tone:': '🦸🏻♂️', ':man_superhero_tone1:': '🦸🏻♂️', ':man_superhero_medium_light_skin_tone:': '🦸🏼♂️', ':man_superhero_tone2:': '🦸🏼♂️', ':man_superhero_medium_skin_tone:': '🦸🏽♂️', ':man_superhero_tone3:': '🦸🏽♂️', ':man_superhero_medium_dark_skin_tone:': '🦸🏾♂️', ':man_superhero_tone4:': '🦸🏾♂️', ':man_superhero_dark_skin_tone:': '🦸🏿♂️', ':man_superhero_tone5:': '🦸🏿♂️', ':man_supervillain_light_skin_tone:': '🦹🏻♂️', ':man_supervillain_tone1:': '🦹🏻♂️', ':man_supervillain_medium_light_skin_tone:': '🦹🏼♂️', ':man_supervillain_tone2:': '🦹🏼♂️', ':man_supervillain_medium_skin_tone:': '🦹🏽♂️', ':man_supervillain_tone3:': '🦹🏽♂️', ':man_supervillain_medium_dark_skin_tone:': '🦹🏾♂️', ':man_supervillain_tone4:': '🦹🏾♂️', ':man_supervillain_dark_skin_tone:': '🦹🏿♂️', ':man_supervillain_tone5:': '🦹🏿♂️', ':man_surfing_light_skin_tone:': '🏄🏻♂️', ':man_surfing_tone1:': '🏄🏻♂️', ':man_surfing_medium_light_skin_tone:': '🏄🏼♂️', ':man_surfing_tone2:': '🏄🏼♂️', ':man_surfing_medium_skin_tone:': '🏄🏽♂️', ':man_surfing_tone3:': '🏄🏽♂️', ':man_surfing_medium_dark_skin_tone:': '🏄🏾♂️', ':man_surfing_tone4:': '🏄🏾♂️', ':man_surfing_dark_skin_tone:': '🏄🏿♂️', ':man_surfing_tone5:': '🏄🏿♂️', ':man_swimming_light_skin_tone:': '🏊🏻♂️', ':man_swimming_tone1:': '🏊🏻♂️', ':man_swimming_medium_light_skin_tone:': '🏊🏼♂️', ':man_swimming_tone2:': '🏊🏼♂️', ':man_swimming_medium_skin_tone:': '🏊🏽♂️', ':man_swimming_tone3:': '🏊🏽♂️', ':man_swimming_medium_dark_skin_tone:': '🏊🏾♂️', ':man_swimming_tone4:': '🏊🏾♂️', ':man_swimming_dark_skin_tone:': '🏊🏿♂️', ':man_swimming_tone5:': '🏊🏿♂️', ':man_tipping_hand_light_skin_tone:': '💁🏻♂️', ':man_tipping_hand_tone1:': '💁🏻♂️', ':man_tipping_hand_medium_light_skin_tone:': '💁🏼♂️', ':man_tipping_hand_tone2:': '💁🏼♂️', ':man_tipping_hand_medium_skin_tone:': '💁🏽♂️', ':man_tipping_hand_tone3:': '💁🏽♂️', ':man_tipping_hand_medium_dark_skin_tone:': '💁🏾♂️', ':man_tipping_hand_tone4:': '💁🏾♂️', ':man_tipping_hand_dark_skin_tone:': '💁🏿♂️', ':man_tipping_hand_tone5:': '💁🏿♂️', ':man_vampire_light_skin_tone:': '🧛🏻♂️', ':man_vampire_tone1:': '🧛🏻♂️', ':man_vampire_medium_light_skin_tone:': '🧛🏼♂️', ':man_vampire_tone2:': '🧛🏼♂️', ':man_vampire_medium_skin_tone:': '🧛🏽♂️', ':man_vampire_tone3:': '🧛🏽♂️', ':man_vampire_medium_dark_skin_tone:': '🧛🏾♂️', ':man_vampire_tone4:': '🧛🏾♂️', ':man_vampire_dark_skin_tone:': '🧛🏿♂️', ':man_vampire_tone5:': '🧛🏿♂️', ':man_walking_light_skin_tone:': '🚶🏻♂️', ':man_walking_tone1:': '🚶🏻♂️', ':man_walking_medium_light_skin_tone:': '🚶🏼♂️', ':man_walking_tone2:': '🚶🏼♂️', ':man_walking_medium_skin_tone:': '🚶🏽♂️', ':man_walking_tone3:': '🚶🏽♂️', ':man_walking_medium_dark_skin_tone:': '🚶🏾♂️', ':man_walking_tone4:': '🚶🏾♂️', ':man_walking_dark_skin_tone:': '🚶🏿♂️', ':man_walking_tone5:': '🚶🏿♂️', ':man_wearing_turban_light_skin_tone:': '👳🏻♂️', ':man_wearing_turban_tone1:': '👳🏻♂️', ':man_wearing_turban_medium_light_skin_tone:': '👳🏼♂️', ':man_wearing_turban_tone2:': '👳🏼♂️', ':man_wearing_turban_medium_skin_tone:': '👳🏽♂️', ':man_wearing_turban_tone3:': '👳🏽♂️', ':man_wearing_turban_medium_dark_skin_tone:': '👳🏾♂️', ':man_wearing_turban_tone4:': '👳🏾♂️', ':man_wearing_turban_dark_skin_tone:': '👳🏿♂️', ':man_wearing_turban_tone5:': '👳🏿♂️', ':mermaid_light_skin_tone:': '🧜🏻♀️', ':mermaid_tone1:': '🧜🏻♀️', ':mermaid_medium_light_skin_tone:': '🧜🏼♀️', ':mermaid_tone2:': '🧜🏼♀️', ':mermaid_medium_skin_tone:': '🧜🏽♀️', ':mermaid_tone3:': '🧜🏽♀️', ':mermaid_medium_dark_skin_tone:': '🧜🏾♀️', ':mermaid_tone4:': '🧜🏾♀️', ':mermaid_dark_skin_tone:': '🧜🏿♀️', ':mermaid_tone5:': '🧜🏿♀️', ':merman_light_skin_tone:': '🧜🏻♂️', ':merman_tone1:': '🧜🏻♂️', ':merman_medium_light_skin_tone:': '🧜🏼♂️', ':merman_tone2:': '🧜🏼♂️', ':merman_medium_skin_tone:': '🧜🏽♂️', ':merman_tone3:': '🧜🏽♂️', ':merman_medium_dark_skin_tone:': '🧜🏾♂️', ':merman_tone4:': '🧜🏾♂️', ':merman_dark_skin_tone:': '🧜🏿♂️', ':merman_tone5:': '🧜🏿♂️', ':woman_biking_light_skin_tone:': '🚴🏻♀️', ':woman_biking_tone1:': '🚴🏻♀️', ':woman_biking_medium_light_skin_tone:': '🚴🏼♀️', ':woman_biking_tone2:': '🚴🏼♀️', ':woman_biking_medium_skin_tone:': '🚴🏽♀️', ':woman_biking_tone3:': '🚴🏽♀️', ':woman_biking_medium_dark_skin_tone:': '🚴🏾♀️', ':woman_biking_tone4:': '🚴🏾♀️', ':woman_biking_dark_skin_tone:': '🚴🏿♀️', ':woman_biking_tone5:': '🚴🏿♀️', ':woman_bowing_light_skin_tone:': '🙇🏻♀️', ':woman_bowing_tone1:': '🙇🏻♀️', ':woman_bowing_medium_light_skin_tone:': '🙇🏼♀️', ':woman_bowing_tone2:': '🙇🏼♀️', ':woman_bowing_medium_skin_tone:': '🙇🏽♀️', ':woman_bowing_tone3:': '🙇🏽♀️', ':woman_bowing_medium_dark_skin_tone:': '🙇🏾♀️', ':woman_bowing_tone4:': '🙇🏾♀️', ':woman_bowing_dark_skin_tone:': '🙇🏿♀️', ':woman_bowing_tone5:': '🙇🏿♀️', ':woman_cartwheeling_light_skin_tone:': '🤸🏻♀️', ':woman_cartwheeling_tone1:': '🤸🏻♀️', ':woman_cartwheeling_medium_light_skin_tone:': '🤸🏼♀️', ':woman_cartwheeling_tone2:': '🤸🏼♀️', ':woman_cartwheeling_medium_skin_tone:': '🤸🏽♀️', ':woman_cartwheeling_tone3:': '🤸🏽♀️', ':woman_cartwheeling_medium_dark_skin_tone:': '🤸🏾♀️', ':woman_cartwheeling_tone4:': '🤸🏾♀️', ':woman_cartwheeling_dark_skin_tone:': '🤸🏿♀️', ':woman_cartwheeling_tone5:': '🤸🏿♀️', ':woman_climbing_light_skin_tone:': '🧗🏻♀️', ':woman_climbing_tone1:': '🧗🏻♀️', ':woman_climbing_medium_light_skin_tone:': '🧗🏼♀️', ':woman_climbing_tone2:': '🧗🏼♀️', ':woman_climbing_medium_skin_tone:': '🧗🏽♀️', ':woman_climbing_tone3:': '🧗🏽♀️', ':woman_climbing_medium_dark_skin_tone:': '🧗🏾♀️', ':woman_climbing_tone4:': '🧗🏾♀️', ':woman_climbing_dark_skin_tone:': '🧗🏿♀️', ':woman_climbing_tone5:': '🧗🏿♀️', ':woman_construction_worker_light_skin_tone:': '👷🏻♀️', ':woman_construction_worker_tone1:': '👷🏻♀️', ':woman_construction_worker_medium_light_skin_tone:': '👷🏼♀️', ':woman_construction_worker_tone2:': '👷🏼♀️', ':woman_construction_worker_medium_skin_tone:': '👷🏽♀️', ':woman_construction_worker_tone3:': '👷🏽♀️', ':woman_construction_worker_medium_dark_skin_tone:': '👷🏾♀️', ':woman_construction_worker_tone4:': '👷🏾♀️', ':woman_construction_worker_dark_skin_tone:': '👷🏿♀️', ':woman_construction_worker_tone5:': '👷🏿♀️', ':woman_detective_light_skin_tone:': '🕵️🏻♀️', ':woman_detective_tone1:': '🕵️🏻♀️', ':woman_detective_medium_light_skin_tone:': '🕵️🏼♀️', ':woman_detective_tone2:': '🕵️🏼♀️', ':woman_detective_medium_skin_tone:': '🕵️🏽♀️', ':woman_detective_tone3:': '🕵️🏽♀️', ':woman_detective_medium_dark_skin_tone:': '🕵️🏾♀️', ':woman_detective_tone4:': '🕵️🏾♀️', ':woman_detective_dark_skin_tone:': '🕵️🏿♀️', ':woman_detective_tone5:': '🕵️🏿♀️', ':woman_elf_light_skin_tone:': '🧝🏻♀️', ':woman_elf_tone1:': '🧝🏻♀️', ':woman_elf_medium_light_skin_tone:': '🧝🏼♀️', ':woman_elf_tone2:': '🧝🏼♀️', ':woman_elf_medium_skin_tone:': '🧝🏽♀️', ':woman_elf_tone3:': '🧝🏽♀️', ':woman_elf_medium_dark_skin_tone:': '🧝🏾♀️', ':woman_elf_tone4:': '🧝🏾♀️', ':woman_elf_dark_skin_tone:': '🧝🏿♀️', ':woman_elf_tone5:': '🧝🏿♀️', ':woman_facepalming_light_skin_tone:': '🤦🏻♀️', ':woman_facepalming_tone1:': '🤦🏻♀️', ':woman_facepalming_medium_light_skin_tone:': '🤦🏼♀️', ':woman_facepalming_tone2:': '🤦🏼♀️', ':woman_facepalming_medium_skin_tone:': '🤦🏽♀️', ':woman_facepalming_tone3:': '🤦🏽♀️', ':woman_facepalming_medium_dark_skin_tone:': '🤦🏾♀️', ':woman_facepalming_tone4:': '🤦🏾♀️', ':woman_facepalming_dark_skin_tone:': '🤦🏿♀️', ':woman_facepalming_tone5:': '🤦🏿♀️', ':woman_fairy_light_skin_tone:': '🧚🏻♀️', ':woman_fairy_tone1:': '🧚🏻♀️', ':woman_fairy_medium_light_skin_tone:': '🧚🏼♀️', ':woman_fairy_tone2:': '🧚🏼♀️', ':woman_fairy_medium_skin_tone:': '🧚🏽♀️', ':woman_fairy_tone3:': '🧚🏽♀️', ':woman_fairy_medium_dark_skin_tone:': '🧚🏾♀️', ':woman_fairy_tone4:': '🧚🏾♀️', ':woman_fairy_dark_skin_tone:': '🧚🏿♀️', ':woman_fairy_tone5:': '🧚🏿♀️', ':woman_frowning_light_skin_tone:': '🙍🏻♀️', ':woman_frowning_tone1:': '🙍🏻♀️', ':woman_frowning_medium_light_skin_tone:': '🙍🏼♀️', ':woman_frowning_tone2:': '🙍🏼♀️', ':woman_frowning_medium_skin_tone:': '🙍🏽♀️', ':woman_frowning_tone3:': '🙍🏽♀️', ':woman_frowning_medium_dark_skin_tone:': '🙍🏾♀️', ':woman_frowning_tone4:': '🙍🏾♀️', ':woman_frowning_dark_skin_tone:': '🙍🏿♀️', ':woman_frowning_tone5:': '🙍🏿♀️', ':woman_gesturing_no_light_skin_tone:': '🙅🏻♀️', ':woman_gesturing_no_tone1:': '🙅🏻♀️', ':woman_gesturing_no_medium_light_skin_tone:': '🙅🏼♀️', ':woman_gesturing_no_tone2:': '🙅🏼♀️', ':woman_gesturing_no_medium_skin_tone:': '🙅🏽♀️', ':woman_gesturing_no_tone3:': '🙅🏽♀️', ':woman_gesturing_no_medium_dark_skin_tone:': '🙅🏾♀️', ':woman_gesturing_no_tone4:': '🙅🏾♀️', ':woman_gesturing_no_dark_skin_tone:': '🙅🏿♀️', ':woman_gesturing_no_tone5:': '🙅🏿♀️', ':woman_gesturing_ok_light_skin_tone:': '🙆🏻♀️', ':woman_gesturing_ok_tone1:': '🙆🏻♀️', ':woman_gesturing_ok_medium_light_skin_tone:': '🙆🏼♀️', ':woman_gesturing_ok_tone2:': '🙆🏼♀️', ':woman_gesturing_ok_medium_skin_tone:': '🙆🏽♀️', ':woman_gesturing_ok_tone3:': '🙆🏽♀️', ':woman_gesturing_ok_medium_dark_skin_tone:': '🙆🏾♀️', ':woman_gesturing_ok_tone4:': '🙆🏾♀️', ':woman_gesturing_ok_dark_skin_tone:': '🙆🏿♀️', ':woman_gesturing_ok_tone5:': '🙆🏿♀️', ':woman_getting_face_massage_light_skin_tone:': '💆🏻♀️', ':woman_getting_face_massage_tone1:': '💆🏻♀️', ':woman_getting_face_massage_medium_light_skin_tone:': '💆🏼♀️', ':woman_getting_face_massage_tone2:': '💆🏼♀️', ':woman_getting_face_massage_medium_skin_tone:': '💆🏽♀️', ':woman_getting_face_massage_tone3:': '💆🏽♀️', ':woman_getting_face_massage_medium_dark_skin_tone:': '💆🏾♀️', ':woman_getting_face_massage_tone4:': '💆🏾♀️', ':woman_getting_face_massage_dark_skin_tone:': '💆🏿♀️', ':woman_getting_face_massage_tone5:': '💆🏿♀️', ':woman_getting_haircut_light_skin_tone:': '💇🏻♀️', ':woman_getting_haircut_tone1:': '💇🏻♀️', ':woman_getting_haircut_medium_light_skin_tone:': '💇🏼♀️', ':woman_getting_haircut_tone2:': '💇🏼♀️', ':woman_getting_haircut_medium_skin_tone:': '💇🏽♀️', ':woman_getting_haircut_tone3:': '💇🏽♀️', ':woman_getting_haircut_medium_dark_skin_tone:': '💇🏾♀️', ':woman_getting_haircut_tone4:': '💇🏾♀️', ':woman_getting_haircut_dark_skin_tone:': '💇🏿♀️', ':woman_getting_haircut_tone5:': '💇🏿♀️', ':woman_golfing_light_skin_tone:': '🏌️🏻♀️', ':woman_golfing_tone1:': '🏌️🏻♀️', ':woman_golfing_medium_light_skin_tone:': '🏌️🏼♀️', ':woman_golfing_tone2:': '🏌️🏼♀️', ':woman_golfing_medium_skin_tone:': '🏌️🏽♀️', ':woman_golfing_tone3:': '🏌️🏽♀️', ':woman_golfing_medium_dark_skin_tone:': '🏌️🏾♀️', ':woman_golfing_tone4:': '🏌️🏾♀️', ':woman_golfing_dark_skin_tone:': '🏌️🏿♀️', ':woman_golfing_tone5:': '🏌️🏿♀️', ':woman_guard_light_skin_tone:': '💂🏻♀️', ':woman_guard_tone1:': '💂🏻♀️', ':woman_guard_medium_light_skin_tone:': '💂🏼♀️', ':woman_guard_tone2:': '💂🏼♀️', ':woman_guard_medium_skin_tone:': '💂🏽♀️', ':woman_guard_tone3:': '💂🏽♀️', ':woman_guard_medium_dark_skin_tone:': '💂🏾♀️', ':woman_guard_tone4:': '💂🏾♀️', ':woman_guard_dark_skin_tone:': '💂🏿♀️', ':woman_guard_tone5:': '💂🏿♀️', ':woman_health_worker_light_skin_tone:': '👩🏻⚕️', ':woman_health_worker_tone1:': '👩🏻⚕️', ':woman_health_worker_medium_light_skin_tone:': '👩🏼⚕️', ':woman_health_worker_tone2:': '👩🏼⚕️', ':woman_health_worker_medium_skin_tone:': '👩🏽⚕️', ':woman_health_worker_tone3:': '👩🏽⚕️', ':woman_health_worker_medium_dark_skin_tone:': '👩🏾⚕️', ':woman_health_worker_tone4:': '👩🏾⚕️', ':woman_health_worker_dark_skin_tone:': '👩🏿⚕️', ':woman_health_worker_tone5:': '👩🏿⚕️', ':woman_in_lotus_position_light_skin_tone:': '🧘🏻♀️', ':woman_in_lotus_position_tone1:': '🧘🏻♀️', ':woman_in_lotus_position_medium_light_skin_tone:': '🧘🏼♀️', ':woman_in_lotus_position_tone2:': '🧘🏼♀️', ':woman_in_lotus_position_medium_skin_tone:': '🧘🏽♀️', ':woman_in_lotus_position_tone3:': '🧘🏽♀️', ':woman_in_lotus_position_medium_dark_skin_tone:': '🧘🏾♀️', ':woman_in_lotus_position_tone4:': '🧘🏾♀️', ':woman_in_lotus_position_dark_skin_tone:': '🧘🏿♀️', ':woman_in_lotus_position_tone5:': '🧘🏿♀️', ':woman_in_steamy_room_light_skin_tone:': '🧖🏻♀️', ':woman_in_steamy_room_tone1:': '🧖🏻♀️', ':woman_in_steamy_room_medium_light_skin_tone:': '🧖🏼♀️', ':woman_in_steamy_room_tone2:': '🧖🏼♀️', ':woman_in_steamy_room_medium_skin_tone:': '🧖🏽♀️', ':woman_in_steamy_room_tone3:': '🧖🏽♀️', ':woman_in_steamy_room_medium_dark_skin_tone:': '🧖🏾♀️', ':woman_in_steamy_room_tone4:': '🧖🏾♀️', ':woman_in_steamy_room_dark_skin_tone:': '🧖🏿♀️', ':woman_in_steamy_room_tone5:': '🧖🏿♀️', ':woman_judge_light_skin_tone:': '👩🏻⚖️', ':woman_judge_tone1:': '👩🏻⚖️', ':woman_judge_medium_light_skin_tone:': '👩🏼⚖️', ':woman_judge_tone2:': '👩🏼⚖️', ':woman_judge_medium_skin_tone:': '👩🏽⚖️', ':woman_judge_tone3:': '👩🏽⚖️', ':woman_judge_medium_dark_skin_tone:': '👩🏾⚖️', ':woman_judge_tone4:': '👩🏾⚖️', ':woman_judge_dark_skin_tone:': '👩🏿⚖️', ':woman_judge_tone5:': '👩🏿⚖️', ':woman_juggling_light_skin_tone:': '🤹🏻♀️', ':woman_juggling_tone1:': '🤹🏻♀️', ':woman_juggling_medium_light_skin_tone:': '🤹🏼♀️', ':woman_juggling_tone2:': '🤹🏼♀️', ':woman_juggling_medium_skin_tone:': '🤹🏽♀️', ':woman_juggling_tone3:': '🤹🏽♀️', ':woman_juggling_medium_dark_skin_tone:': '🤹🏾♀️', ':woman_juggling_tone4:': '🤹🏾♀️', ':woman_juggling_dark_skin_tone:': '🤹🏿♀️', ':woman_juggling_tone5:': '🤹🏿♀️', ':woman_kneeling_light_skin_tone:': '🧎🏻♀️', ':woman_kneeling_tone1:': '🧎🏻♀️', ':woman_kneeling_medium_light_skin_tone:': '🧎🏼♀️', ':woman_kneeling_tone2:': '🧎🏼♀️', ':woman_kneeling_medium_skin_tone:': '🧎🏽♀️', ':woman_kneeling_tone3:': '🧎🏽♀️', ':woman_kneeling_medium_dark_skin_tone:': '🧎🏾♀️', ':woman_kneeling_tone4:': '🧎🏾♀️', ':woman_kneeling_dark_skin_tone:': '🧎🏿♀️', ':woman_kneeling_tone5:': '🧎🏿♀️', ':woman_lifting_weights_light_skin_tone:': '🏋️🏻♀️', ':woman_lifting_weights_tone1:': '🏋️🏻♀️', ':woman_lifting_weights_medium_light_skin_tone:': '🏋️🏼♀️', ':woman_lifting_weights_tone2:': '🏋️🏼♀️', ':woman_lifting_weights_medium_skin_tone:': '🏋️🏽♀️', ':woman_lifting_weights_tone3:': '🏋️🏽♀️', ':woman_lifting_weights_medium_dark_skin_tone:': '🏋️🏾♀️', ':woman_lifting_weights_tone4:': '🏋️🏾♀️', ':woman_lifting_weights_dark_skin_tone:': '🏋️🏿♀️', ':woman_lifting_weights_tone5:': '🏋️🏿♀️', ':woman_mage_light_skin_tone:': '🧙🏻♀️', ':woman_mage_tone1:': '🧙🏻♀️', ':woman_mage_medium_light_skin_tone:': '🧙🏼♀️', ':woman_mage_tone2:': '🧙🏼♀️', ':woman_mage_medium_skin_tone:': '🧙🏽♀️', ':woman_mage_tone3:': '🧙🏽♀️', ':woman_mage_medium_dark_skin_tone:': '🧙🏾♀️', ':woman_mage_tone4:': '🧙🏾♀️', ':woman_mage_dark_skin_tone:': '🧙🏿♀️', ':woman_mage_tone5:': '🧙🏿♀️', ':woman_mountain_biking_light_skin_tone:': '🚵🏻♀️', ':woman_mountain_biking_tone1:': '🚵🏻♀️', ':woman_mountain_biking_medium_light_skin_tone:': '🚵🏼♀️', ':woman_mountain_biking_tone2:': '🚵🏼♀️', ':woman_mountain_biking_medium_skin_tone:': '🚵🏽♀️', ':woman_mountain_biking_tone3:': '🚵🏽♀️', ':woman_mountain_biking_medium_dark_skin_tone:': '🚵🏾♀️', ':woman_mountain_biking_tone4:': '🚵🏾♀️', ':woman_mountain_biking_dark_skin_tone:': '🚵🏿♀️', ':woman_mountain_biking_tone5:': '🚵🏿♀️', ':woman_pilot_light_skin_tone:': '👩🏻✈️', ':woman_pilot_tone1:': '👩🏻✈️', ':woman_pilot_medium_light_skin_tone:': '👩🏼✈️', ':woman_pilot_tone2:': '👩🏼✈️', ':woman_pilot_medium_skin_tone:': '👩🏽✈️', ':woman_pilot_tone3:': '👩🏽✈️', ':woman_pilot_medium_dark_skin_tone:': '👩🏾✈️', ':woman_pilot_tone4:': '👩🏾✈️', ':woman_pilot_dark_skin_tone:': '👩🏿✈️', ':woman_pilot_tone5:': '👩🏿✈️', ':woman_playing_handball_light_skin_tone:': '🤾🏻♀️', ':woman_playing_handball_tone1:': '🤾🏻♀️', ':woman_playing_handball_medium_light_skin_tone:': '🤾🏼♀️', ':woman_playing_handball_tone2:': '🤾🏼♀️', ':woman_playing_handball_medium_skin_tone:': '🤾🏽♀️', ':woman_playing_handball_tone3:': '🤾🏽♀️', ':woman_playing_handball_medium_dark_skin_tone:': '🤾🏾♀️', ':woman_playing_handball_tone4:': '🤾🏾♀️', ':woman_playing_handball_dark_skin_tone:': '🤾🏿♀️', ':woman_playing_handball_tone5:': '🤾🏿♀️', ':woman_playing_water_polo_light_skin_tone:': '🤽🏻♀️', ':woman_playing_water_polo_tone1:': '🤽🏻♀️', ':woman_playing_water_polo_medium_light_skin_tone:': '🤽🏼♀️', ':woman_playing_water_polo_tone2:': '🤽🏼♀️', ':woman_playing_water_polo_medium_skin_tone:': '🤽🏽♀️', ':woman_playing_water_polo_tone3:': '🤽🏽♀️', ':woman_playing_water_polo_medium_dark_skin_tone:': '🤽🏾♀️', ':woman_playing_water_polo_tone4:': '🤽🏾♀️', ':woman_playing_water_polo_dark_skin_tone:': '🤽🏿♀️', ':woman_playing_water_polo_tone5:': '🤽🏿♀️', ':woman_police_officer_light_skin_tone:': '👮🏻♀️', ':woman_police_officer_tone1:': '👮🏻♀️', ':woman_police_officer_medium_light_skin_tone:': '👮🏼♀️', ':woman_police_officer_tone2:': '👮🏼♀️', ':woman_police_officer_medium_skin_tone:': '👮🏽♀️', ':woman_police_officer_tone3:': '👮🏽♀️', ':woman_police_officer_medium_dark_skin_tone:': '👮🏾♀️', ':woman_police_officer_tone4:': '👮🏾♀️', ':woman_police_officer_dark_skin_tone:': '👮🏿♀️', ':woman_police_officer_tone5:': '👮🏿♀️', ':woman_pouting_light_skin_tone:': '🙎🏻♀️', ':woman_pouting_tone1:': '🙎🏻♀️', ':woman_pouting_medium_light_skin_tone:': '🙎🏼♀️', ':woman_pouting_tone2:': '🙎🏼♀️', ':woman_pouting_medium_skin_tone:': '🙎🏽♀️', ':woman_pouting_tone3:': '🙎🏽♀️', ':woman_pouting_medium_dark_skin_tone:': '🙎🏾♀️', ':woman_pouting_tone4:': '🙎🏾♀️', ':woman_pouting_dark_skin_tone:': '🙎🏿♀️', ':woman_pouting_tone5:': '🙎🏿♀️', ':woman_raising_hand_light_skin_tone:': '🙋🏻♀️', ':woman_raising_hand_tone1:': '🙋🏻♀️', ':woman_raising_hand_medium_light_skin_tone:': '🙋🏼♀️', ':woman_raising_hand_tone2:': '🙋🏼♀️', ':woman_raising_hand_medium_skin_tone:': '🙋🏽♀️', ':woman_raising_hand_tone3:': '🙋🏽♀️', ':woman_raising_hand_medium_dark_skin_tone:': '🙋🏾♀️', ':woman_raising_hand_tone4:': '🙋🏾♀️', ':woman_raising_hand_dark_skin_tone:': '🙋🏿♀️', ':woman_raising_hand_tone5:': '🙋🏿♀️', ':woman_rowing_boat_light_skin_tone:': '🚣🏻♀️', ':woman_rowing_boat_tone1:': '🚣🏻♀️', ':woman_rowing_boat_medium_light_skin_tone:': '🚣🏼♀️', ':woman_rowing_boat_tone2:': '🚣🏼♀️', ':woman_rowing_boat_medium_skin_tone:': '🚣🏽♀️', ':woman_rowing_boat_tone3:': '🚣🏽♀️', ':woman_rowing_boat_medium_dark_skin_tone:': '🚣🏾♀️', ':woman_rowing_boat_tone4:': '🚣🏾♀️', ':woman_rowing_boat_dark_skin_tone:': '🚣🏿♀️', ':woman_rowing_boat_tone5:': '🚣🏿♀️', ':woman_running_light_skin_tone:': '🏃🏻♀️', ':woman_running_tone1:': '🏃🏻♀️', ':woman_running_medium_light_skin_tone:': '🏃🏼♀️', ':woman_running_tone2:': '🏃🏼♀️', ':woman_running_medium_skin_tone:': '🏃🏽♀️', ':woman_running_tone3:': '🏃🏽♀️', ':woman_running_medium_dark_skin_tone:': '🏃🏾♀️', ':woman_running_tone4:': '🏃🏾♀️', ':woman_running_dark_skin_tone:': '🏃🏿♀️', ':woman_running_tone5:': '🏃🏿♀️', ':woman_shrugging_light_skin_tone:': '🤷🏻♀️', ':woman_shrugging_tone1:': '🤷🏻♀️', ':woman_shrugging_medium_light_skin_tone:': '🤷🏼♀️', ':woman_shrugging_tone2:': '🤷🏼♀️', ':woman_shrugging_medium_skin_tone:': '🤷🏽♀️', ':woman_shrugging_tone3:': '🤷🏽♀️', ':woman_shrugging_medium_dark_skin_tone:': '🤷🏾♀️', ':woman_shrugging_tone4:': '🤷🏾♀️', ':woman_shrugging_dark_skin_tone:': '🤷🏿♀️', ':woman_shrugging_tone5:': '🤷🏿♀️', ':woman_standing_light_skin_tone:': '🧍🏻♀️', ':woman_standing_tone1:': '🧍🏻♀️', ':woman_standing_medium_light_skin_tone:': '🧍🏼♀️', ':woman_standing_tone2:': '🧍🏼♀️', ':woman_standing_medium_skin_tone:': '🧍🏽♀️', ':woman_standing_tone3:': '🧍🏽♀️', ':woman_standing_medium_dark_skin_tone:': '🧍🏾♀️', ':woman_standing_tone4:': '🧍🏾♀️', ':woman_standing_dark_skin_tone:': '🧍🏿♀️', ':woman_standing_tone5:': '🧍🏿♀️', ':woman_superhero_light_skin_tone:': '🦸🏻♀️', ':woman_superhero_tone1:': '🦸🏻♀️', ':woman_superhero_medium_light_skin_tone:': '🦸🏼♀️', ':woman_superhero_tone2:': '🦸🏼♀️', ':woman_superhero_medium_skin_tone:': '🦸🏽♀️', ':woman_superhero_tone3:': '🦸🏽♀️', ':woman_superhero_medium_dark_skin_tone:': '🦸🏾♀️', ':woman_superhero_tone4:': '🦸🏾♀️', ':woman_superhero_dark_skin_tone:': '🦸🏿♀️', ':woman_superhero_tone5:': '🦸🏿♀️', ':woman_supervillain_light_skin_tone:': '🦹🏻♀️', ':woman_supervillain_tone1:': '🦹🏻♀️', ':woman_supervillain_medium_light_skin_tone:': '🦹🏼♀️', ':woman_supervillain_tone2:': '🦹🏼♀️', ':woman_supervillain_medium_skin_tone:': '🦹🏽♀️', ':woman_supervillain_tone3:': '🦹🏽♀️', ':woman_supervillain_medium_dark_skin_tone:': '🦹🏾♀️', ':woman_supervillain_tone4:': '🦹🏾♀️', ':woman_supervillain_dark_skin_tone:': '🦹🏿♀️', ':woman_supervillain_tone5:': '🦹🏿♀️', ':woman_surfing_light_skin_tone:': '🏄🏻♀️', ':woman_surfing_tone1:': '🏄🏻♀️', ':woman_surfing_medium_light_skin_tone:': '🏄🏼♀️', ':woman_surfing_tone2:': '🏄🏼♀️', ':woman_surfing_medium_skin_tone:': '🏄🏽♀️', ':woman_surfing_tone3:': '🏄🏽♀️', ':woman_surfing_medium_dark_skin_tone:': '🏄🏾♀️', ':woman_surfing_tone4:': '🏄🏾♀️', ':woman_surfing_dark_skin_tone:': '🏄🏿♀️', ':woman_surfing_tone5:': '🏄🏿♀️', ':woman_swimming_light_skin_tone:': '🏊🏻♀️', ':woman_swimming_tone1:': '🏊🏻♀️', ':woman_swimming_medium_light_skin_tone:': '🏊🏼♀️', ':woman_swimming_tone2:': '🏊🏼♀️', ':woman_swimming_medium_skin_tone:': '🏊🏽♀️', ':woman_swimming_tone3:': '🏊🏽♀️', ':woman_swimming_medium_dark_skin_tone:': '🏊🏾♀️', ':woman_swimming_tone4:': '🏊🏾♀️', ':woman_swimming_dark_skin_tone:': '🏊🏿♀️', ':woman_swimming_tone5:': '🏊🏿♀️', ':woman_tipping_hand_light_skin_tone:': '💁🏻♀️', ':woman_tipping_hand_tone1:': '💁🏻♀️', ':woman_tipping_hand_medium_light_skin_tone:': '💁🏼♀️', ':woman_tipping_hand_tone2:': '💁🏼♀️', ':woman_tipping_hand_medium_skin_tone:': '💁🏽♀️', ':woman_tipping_hand_tone3:': '💁🏽♀️', ':woman_tipping_hand_medium_dark_skin_tone:': '💁🏾♀️', ':woman_tipping_hand_tone4:': '💁🏾♀️', ':woman_tipping_hand_dark_skin_tone:': '💁🏿♀️', ':woman_tipping_hand_tone5:': '💁🏿♀️', ':woman_vampire_light_skin_tone:': '🧛🏻♀️', ':woman_vampire_tone1:': '🧛🏻♀️', ':woman_vampire_medium_light_skin_tone:': '🧛🏼♀️', ':woman_vampire_tone2:': '🧛🏼♀️', ':woman_vampire_medium_skin_tone:': '🧛🏽♀️', ':woman_vampire_tone3:': '🧛🏽♀️', ':woman_vampire_medium_dark_skin_tone:': '🧛🏾♀️', ':woman_vampire_tone4:': '🧛🏾♀️', ':woman_vampire_dark_skin_tone:': '🧛🏿♀️', ':woman_vampire_tone5:': '🧛🏿♀️', ':woman_walking_light_skin_tone:': '🚶🏻♀️', ':woman_walking_tone1:': '🚶🏻♀️', ':woman_walking_medium_light_skin_tone:': '🚶🏼♀️', ':woman_walking_tone2:': '🚶🏼♀️', ':woman_walking_medium_skin_tone:': '🚶🏽♀️', ':woman_walking_tone3:': '🚶🏽♀️', ':woman_walking_medium_dark_skin_tone:': '🚶🏾♀️', ':woman_walking_tone4:': '🚶🏾♀️', ':woman_walking_dark_skin_tone:': '🚶🏿♀️', ':woman_walking_tone5:': '🚶🏿♀️', ':woman_wearing_turban_light_skin_tone:': '👳🏻♀️', ':woman_wearing_turban_tone1:': '👳🏻♀️', ':woman_wearing_turban_medium_light_skin_tone:': '👳🏼♀️', ':woman_wearing_turban_tone2:': '👳🏼♀️', ':woman_wearing_turban_medium_skin_tone:': '👳🏽♀️', ':woman_wearing_turban_tone3:': '👳🏽♀️', ':woman_wearing_turban_medium_dark_skin_tone:': '👳🏾♀️', ':woman_wearing_turban_tone4:': '👳🏾♀️', ':woman_wearing_turban_dark_skin_tone:': '👳🏿♀️', ':woman_wearing_turban_tone5:': '👳🏿♀️', ':man_bouncing_ball_light_skin_tone:': '⛹️🏻♂️', ':man_bouncing_ball_tone1:': '⛹️🏻♂️', ':man_bouncing_ball_medium_light_skin_tone:': '⛹️🏼♂️', ':man_bouncing_ball_tone2:': '⛹️🏼♂️', ':man_bouncing_ball_medium_skin_tone:': '⛹️🏽♂️', ':man_bouncing_ball_tone3:': '⛹️🏽♂️', ':man_bouncing_ball_medium_dark_skin_tone:': '⛹️🏾♂️', ':man_bouncing_ball_tone4:': '⛹️🏾♂️', ':man_bouncing_ball_dark_skin_tone:': '⛹️🏿♂️', ':man_bouncing_ball_tone5:': '⛹️🏿♂️', ':woman_bouncing_ball_light_skin_tone:': '⛹️🏻♀️', ':woman_bouncing_ball_tone1:': '⛹️🏻♀️', ':woman_bouncing_ball_medium_light_skin_tone:': '⛹️🏼♀️', ':woman_bouncing_ball_tone2:': '⛹️🏼♀️', ':woman_bouncing_ball_medium_skin_tone:': '⛹️🏽♀️', ':woman_bouncing_ball_tone3:': '⛹️🏽♀️', ':woman_bouncing_ball_medium_dark_skin_tone:': '⛹️🏾♀️', ':woman_bouncing_ball_tone4:': '⛹️🏾♀️', ':woman_bouncing_ball_dark_skin_tone:': '⛹️🏿♀️', ':woman_bouncing_ball_tone5:': '⛹️🏿♀️', ':adult_light_skin_tone:': '🧑🏻', ':adult_tone1:': '🧑🏻', ':adult_medium_light_skin_tone:': '🧑🏼', ':adult_tone2:': '🧑🏼', ':adult_medium_skin_tone:': '🧑🏽', ':adult_tone3:': '🧑🏽', ':adult_medium_dark_skin_tone:': '🧑🏾', ':adult_tone4:': '🧑🏾', ':adult_dark_skin_tone:': '🧑🏿', ':adult_tone5:': '🧑🏿', ':angel_tone1:': '👼🏻', ':angel_tone2:': '👼🏼', ':angel_tone3:': '👼🏽', ':angel_tone4:': '👼🏾', ':angel_tone5:': '👼🏿', ':baby_tone1:': '👶🏻', ':baby_tone2:': '👶🏼', ':baby_tone3:': '👶🏽', ':baby_tone4:': '👶🏾', ':baby_tone5:': '👶🏿', ':bath_tone1:': '🛀🏻', ':bath_tone2:': '🛀🏼', ':bath_tone3:': '🛀🏽', ':bath_tone4:': '🛀🏾', ':bath_tone5:': '🛀🏿', ':bearded_person_light_skin_tone:': '🧔🏻', ':bearded_person_tone1:': '🧔🏻', ':bearded_person_medium_light_skin_tone:': '🧔🏼', ':bearded_person_tone2:': '🧔🏼', ':bearded_person_medium_skin_tone:': '🧔🏽', ':bearded_person_tone3:': '🧔🏽', ':bearded_person_medium_dark_skin_tone:': '🧔🏾', ':bearded_person_tone4:': '🧔🏾', ':bearded_person_dark_skin_tone:': '🧔🏿', ':bearded_person_tone5:': '🧔🏿', ':person_with_blond_hair_tone1:': '👱🏻', ':blond_haired_person_tone1:': '👱🏻', ':person_with_blond_hair_tone2:': '👱🏼', ':blond_haired_person_tone2:': '👱🏼', ':person_with_blond_hair_tone3:': '👱🏽', ':blond_haired_person_tone3:': '👱🏽', ':person_with_blond_hair_tone4:': '👱🏾', ':blond_haired_person_tone4:': '👱🏾', ':person_with_blond_hair_tone5:': '👱🏿', ':blond_haired_person_tone5:': '👱🏿', ':boy_tone1:': '👦🏻', ':boy_tone2:': '👦🏼', ':boy_tone3:': '👦🏽', ':boy_tone4:': '👦🏾', ':boy_tone5:': '👦🏿', ':breast_feeding_light_skin_tone:': '🤱🏻', ':breast_feeding_tone1:': '🤱🏻', ':breast_feeding_medium_light_skin_tone:': '🤱🏼', ':breast_feeding_tone2:': '🤱🏼', ':breast_feeding_medium_skin_tone:': '🤱🏽', ':breast_feeding_tone3:': '🤱🏽', ':breast_feeding_medium_dark_skin_tone:': '🤱🏾', ':breast_feeding_tone4:': '🤱🏾', ':breast_feeding_dark_skin_tone:': '🤱🏿', ':breast_feeding_tone5:': '🤱🏿', ':bride_with_veil_tone1:': '👰🏻', ':bride_with_veil_tone2:': '👰🏼', ':bride_with_veil_tone3:': '👰🏽', ':bride_with_veil_tone4:': '👰🏾', ':bride_with_veil_tone5:': '👰🏿', ':call_me_hand_tone1:': '🤙🏻', ':call_me_tone1:': '🤙🏻', ':call_me_hand_tone2:': '🤙🏼', ':call_me_tone2:': '🤙🏼', ':call_me_hand_tone3:': '🤙🏽', ':call_me_tone3:': '🤙🏽', ':call_me_hand_tone4:': '🤙🏾', ':call_me_tone4:': '🤙🏾', ':call_me_hand_tone5:': '🤙🏿', ':call_me_tone5:': '🤙🏿', ':child_light_skin_tone:': '🧒🏻', ':child_tone1:': '🧒🏻', ':child_medium_light_skin_tone:': '🧒🏼', ':child_tone2:': '🧒🏼', ':child_medium_skin_tone:': '🧒🏽', ':child_tone3:': '🧒🏽', ':child_medium_dark_skin_tone:': '🧒🏾', ':child_tone4:': '🧒🏾', ':child_dark_skin_tone:': '🧒🏿', ':child_tone5:': '🧒🏿', ':clap_tone1:': '👏🏻', ':clap_tone2:': '👏🏼', ':clap_tone3:': '👏🏽', ':clap_tone4:': '👏🏾', ':clap_tone5:': '👏🏿', ':construction_worker_tone1:': '👷🏻', ':construction_worker_tone2:': '👷🏼', ':construction_worker_tone3:': '👷🏽', ':construction_worker_tone4:': '👷🏾', ':construction_worker_tone5:': '👷🏿', ':dancer_tone1:': '💃🏻', ':dancer_tone2:': '💃🏼', ':dancer_tone3:': '💃🏽', ':dancer_tone4:': '💃🏾', ':dancer_tone5:': '💃🏿', ':deaf_person_light_skin_tone:': '🧏🏻', ':deaf_person_tone1:': '🧏🏻', ':deaf_person_medium_light_skin_tone:': '🧏🏼', ':deaf_person_tone2:': '🧏🏼', ':deaf_person_medium_skin_tone:': '🧏🏽', ':deaf_person_tone3:': '🧏🏽', ':deaf_person_medium_dark_skin_tone:': '🧏🏾', ':deaf_person_tone4:': '🧏🏾', ':deaf_person_dark_skin_tone:': '🧏🏿', ':deaf_person_tone5:': '🧏🏿', ':spy_tone1:': '🕵️🏻', ':sleuth_or_spy_tone1:': '🕵️🏻', ':detective_tone1:': '🕵️🏻', ':spy_tone2:': '🕵️🏼', ':sleuth_or_spy_tone2:': '🕵️🏼', ':detective_tone2:': '🕵️🏼', ':spy_tone3:': '🕵️🏽', ':sleuth_or_spy_tone3:': '🕵️🏽', ':detective_tone3:': '🕵️🏽', ':spy_tone4:': '🕵️🏾', ':sleuth_or_spy_tone4:': '🕵️🏾', ':detective_tone4:': '🕵️🏾', ':spy_tone5:': '🕵️🏿', ':sleuth_or_spy_tone5:': '🕵️🏿', ':detective_tone5:': '🕵️🏿', ':ear_tone1:': '👂🏻', ':ear_tone2:': '👂🏼', ':ear_tone3:': '👂🏽', ':ear_tone4:': '👂🏾', ':ear_tone5:': '👂🏿', ':ear_with_hearing_aid_light_skin_tone:': '🦻🏻', ':ear_with_hearing_aid_tone1:': '🦻🏻', ':ear_with_hearing_aid_medium_light_skin_tone:': '🦻🏼', ':ear_with_hearing_aid_tone2:': '🦻🏼', ':ear_with_hearing_aid_medium_skin_tone:': '🦻🏽', ':ear_with_hearing_aid_tone3:': '🦻🏽', ':ear_with_hearing_aid_medium_dark_skin_tone:': '🦻🏾', ':ear_with_hearing_aid_tone4:': '🦻🏾', ':ear_with_hearing_aid_dark_skin_tone:': '🦻🏿', ':ear_with_hearing_aid_tone5:': '🦻🏿', ':elf_light_skin_tone:': '🧝🏻', ':elf_tone1:': '🧝🏻', ':elf_medium_light_skin_tone:': '🧝🏼', ':elf_tone2:': '🧝🏼', ':elf_medium_skin_tone:': '🧝🏽', ':elf_tone3:': '🧝🏽', ':elf_medium_dark_skin_tone:': '🧝🏾', ':elf_tone4:': '🧝🏾', ':elf_dark_skin_tone:': '🧝🏿', ':elf_tone5:': '🧝🏿', ':eye_in_speech_bubble:': '👁️🗨️', ':fairy_light_skin_tone:': '🧚🏻', ':fairy_tone1:': '🧚🏻', ':fairy_medium_light_skin_tone:': '🧚🏼', ':fairy_tone2:': '🧚🏼', ':fairy_medium_skin_tone:': '🧚🏽', ':fairy_tone3:': '🧚🏽', ':fairy_medium_dark_skin_tone:': '🧚🏾', ':fairy_tone4:': '🧚🏾', ':fairy_dark_skin_tone:': '🧚🏿', ':fairy_tone5:': '🧚🏿', ':family_man_boy:': '👨👦', ':family_man_girl:': '👨👧', ':family_woman_boy:': '👩👦', ':family_woman_girl:': '👩👧', ':hand_with_index_and_middle_fingers_crossed_tone1:': '🤞🏻', ':fingers_crossed_tone1:': '🤞🏻', ':hand_with_index_and_middle_fingers_crossed_tone2:': '🤞🏼', ':fingers_crossed_tone2:': '🤞🏼', ':hand_with_index_and_middle_fingers_crossed_tone3:': '🤞🏽', ':fingers_crossed_tone3:': '🤞🏽', ':hand_with_index_and_middle_fingers_crossed_tone4:': '🤞🏾', ':fingers_crossed_tone4:': '🤞🏾', ':hand_with_index_and_middle_fingers_crossed_tone5:': '🤞🏿', ':fingers_crossed_tone5:': '🤞🏿', ':ac:': '🇦🇨', ':flag_ac:': '🇦🇨', ':ad:': '🇦🇩', ':flag_ad:': '🇦🇩', ':ae:': '🇦🇪', ':flag_ae:': '🇦🇪', ':af:': '🇦🇫', ':flag_af:': '🇦🇫', ':ag:': '🇦🇬', ':flag_ag:': '🇦🇬', ':ai:': '🇦🇮', ':flag_ai:': '🇦🇮', ':al:': '🇦🇱', ':flag_al:': '🇦🇱', ':am:': '🇦🇲', ':flag_am:': '🇦🇲', ':ao:': '🇦🇴', ':flag_ao:': '🇦🇴', ':aq:': '🇦🇶', ':flag_aq:': '🇦🇶', ':ar:': '🇦🇷', ':flag_ar:': '🇦🇷', ':as:': '🇦🇸', ':flag_as:': '🇦🇸', ':at:': '🇦🇹', ':flag_at:': '🇦🇹', ':au:': '🇦🇺', ':flag_au:': '🇦🇺', ':aw:': '🇦🇼', ':flag_aw:': '🇦🇼', ':ax:': '🇦🇽', ':flag_ax:': '🇦🇽', ':az:': '🇦🇿', ':flag_az:': '🇦🇿', ':ba:': '🇧🇦', ':flag_ba:': '🇧🇦', ':bb:': '🇧🇧', ':flag_bb:': '🇧🇧', ':bd:': '🇧🇩', ':flag_bd:': '🇧🇩', ':be:': '🇧🇪', ':flag_be:': '🇧🇪', ':bf:': '🇧🇫', ':flag_bf:': '🇧🇫', ':bg:': '🇧🇬', ':flag_bg:': '🇧🇬', ':bh:': '🇧🇭', ':flag_bh:': '🇧🇭', ':bi:': '🇧🇮', ':flag_bi:': '🇧🇮', ':bj:': '🇧🇯', ':flag_bj:': '🇧🇯', ':bm:': '🇧🇲', ':flag_bm:': '🇧🇲', ':bn:': '🇧🇳', ':flag_bn:': '🇧🇳', ':bo:': '🇧🇴', ':flag_bo:': '🇧🇴', ':br:': '🇧🇷', ':flag_br:': '🇧🇷', ':bs:': '🇧🇸', ':flag_bs:': '🇧🇸', ':bt:': '🇧🇹', ':flag_bt:': '🇧🇹', ':bv:': '🇧🇻', ':flag_bv:': '🇧🇻', ':bw:': '🇧🇼', ':flag_bw:': '🇧🇼', ':by:': '🇧🇾', ':flag_by:': '🇧🇾', ':bz:': '🇧🇿', ':flag_bz:': '🇧🇿', ':ca:': '🇨🇦', ':flag_ca:': '🇨🇦', ':cc:': '🇨🇨', ':flag_cc:': '🇨🇨', ':congo:': '🇨🇩', ':flag_cd:': '🇨🇩', ':cf:': '🇨🇫', ':flag_cf:': '🇨🇫', ':cg:': '🇨🇬', ':flag_cg:': '🇨🇬', ':ch:': '🇨🇭', ':flag_ch:': '🇨🇭', ':ci:': '🇨🇮', ':flag_ci:': '🇨🇮', ':ck:': '🇨🇰', ':flag_ck:': '🇨🇰', ':chile:': '🇨🇱', ':flag_cl:': '🇨🇱', ':cm:': '🇨🇲', ':flag_cm:': '🇨🇲', ':cn:': '🇨🇳', ':flag_cn:': '🇨🇳', ':co:': '🇨🇴', ':flag_co:': '🇨🇴', ':cp:': '🇨🇵', ':flag_cp:': '🇨🇵', ':cr:': '🇨🇷', ':flag_cr:': '🇨🇷', ':cu:': '🇨🇺', ':flag_cu:': '🇨🇺', ':cv:': '🇨🇻', ':flag_cv:': '🇨🇻', ':cw:': '🇨🇼', ':flag_cw:': '🇨🇼', ':cx:': '🇨🇽', ':flag_cx:': '🇨🇽', ':cy:': '🇨🇾', ':flag_cy:': '🇨🇾', ':cz:': '🇨🇿', ':flag_cz:': '🇨🇿', ':de:': '🇩🇪', ':flag_de:': '🇩🇪', ':dj:': '🇩🇯', ':flag_dj:': '🇩🇯', ':dk:': '🇩🇰', ':flag_dk:': '🇩🇰', ':dm:': '🇩🇲', ':flag_dm:': '🇩🇲', ':do:': '🇩🇴', ':flag_do:': '🇩🇴', ':dz:': '🇩🇿', ':flag_dz:': '🇩🇿', ':ec:': '🇪🇨', ':flag_ec:': '🇪🇨', ':ee:': '🇪🇪', ':flag_ee:': '🇪🇪', ':eg:': '🇪🇬', ':flag_eg:': '🇪🇬', ':er:': '🇪🇷', ':flag_er:': '🇪🇷', ':es:': '🇪🇸', ':flag_es:': '🇪🇸', ':et:': '🇪🇹', ':flag_et:': '🇪🇹', ':eu:': '🇪🇺', ':flag_eu:': '🇪🇺', ':fi:': '🇫🇮', ':flag_fi:': '🇫🇮', ':fj:': '🇫🇯', ':flag_fj:': '🇫🇯', ':fm:': '🇫🇲', ':flag_fm:': '🇫🇲', ':fo:': '🇫🇴', ':flag_fo:': '🇫🇴', ':fr:': '🇫🇷', ':flag_fr:': '🇫🇷', ':ga:': '🇬🇦', ':flag_ga:': '🇬🇦', ':gb:': '🇬🇧', ':flag_gb:': '🇬🇧', ':gd:': '🇬🇩', ':flag_gd:': '🇬🇩', ':ge:': '🇬🇪', ':flag_ge:': '🇬🇪', ':gg:': '🇬🇬', ':flag_gg:': '🇬🇬', ':gh:': '🇬🇭', ':flag_gh:': '🇬🇭', ':gi:': '🇬🇮', ':flag_gi:': '🇬🇮', ':gl:': '🇬🇱', ':flag_gl:': '🇬🇱', ':gm:': '🇬🇲', ':flag_gm:': '🇬🇲', ':gn:': '🇬🇳', ':flag_gn:': '🇬🇳', ':gq:': '🇬🇶', ':flag_gq:': '🇬🇶', ':gr:': '🇬🇷', ':flag_gr:': '🇬🇷', ':gt:': '🇬🇹', ':flag_gt:': '🇬🇹', ':gu:': '🇬🇺', ':flag_gu:': '🇬🇺', ':gw:': '🇬🇼', ':flag_gw:': '🇬🇼', ':gy:': '🇬🇾', ':flag_gy:': '🇬🇾', ':hk:': '🇭🇰', ':flag_hk:': '🇭🇰', ':hm:': '🇭🇲', ':flag_hm:': '🇭🇲', ':hn:': '🇭🇳', ':flag_hn:': '🇭🇳', ':hr:': '🇭🇷', ':flag_hr:': '🇭🇷', ':ht:': '🇭🇹', ':flag_ht:': '🇭🇹', ':hu:': '🇭🇺', ':flag_hu:': '🇭🇺', ':ic:': '🇮🇨', ':flag_ic:': '🇮🇨', ':indonesia:': '🇮🇩', ':flag_id:': '🇮🇩', ':ie:': '🇮🇪', ':flag_ie:': '🇮🇪', ':il:': '🇮🇱', ':flag_il:': '🇮🇱', ':im:': '🇮🇲', ':flag_im:': '🇮🇲', ':in:': '🇮🇳', ':flag_in:': '🇮🇳', ':io:': '🇮🇴', ':flag_io:': '🇮🇴', ':iq:': '🇮🇶', ':flag_iq:': '🇮🇶', ':ir:': '🇮🇷', ':flag_ir:': '🇮🇷', ':is:': '🇮🇸', ':flag_is:': '🇮🇸', ':it:': '🇮🇹', ':flag_it:': '🇮🇹', ':je:': '🇯🇪', ':flag_je:': '🇯🇪', ':jm:': '🇯🇲', ':flag_jm:': '🇯🇲', ':jo:': '🇯🇴', ':flag_jo:': '🇯🇴', ':jp:': '🇯🇵', ':flag_jp:': '🇯🇵', ':ke:': '🇰🇪', ':flag_ke:': '🇰🇪', ':kg:': '🇰🇬', ':flag_kg:': '🇰🇬', ':kh:': '🇰🇭', ':flag_kh:': '🇰🇭', ':ki:': '🇰🇮', ':flag_ki:': '🇰🇮', ':km:': '🇰🇲', ':flag_km:': '🇰🇲', ':kn:': '🇰🇳', ':flag_kn:': '🇰🇳', ':kp:': '🇰🇵', ':flag_kp:': '🇰🇵', ':kr:': '🇰🇷', ':flag_kr:': '🇰🇷', ':kw:': '🇰🇼', ':flag_kw:': '🇰🇼', ':ky:': '🇰🇾', ':flag_ky:': '🇰🇾', ':kz:': '🇰🇿', ':flag_kz:': '🇰🇿', ':la:': '🇱🇦', ':flag_la:': '🇱🇦', ':lb:': '🇱🇧', ':flag_lb:': '🇱🇧', ':lc:': '🇱🇨', ':flag_lc:': '🇱🇨', ':li:': '🇱🇮', ':flag_li:': '🇱🇮', ':lk:': '🇱🇰', ':flag_lk:': '🇱🇰', ':lr:': '🇱🇷', ':flag_lr:': '🇱🇷', ':ls:': '🇱🇸', ':flag_ls:': '🇱🇸', ':lt:': '🇱🇹', ':flag_lt:': '🇱🇹', ':lu:': '🇱🇺', ':flag_lu:': '🇱🇺', ':lv:': '🇱🇻', ':flag_lv:': '🇱🇻', ':ly:': '🇱🇾', ':flag_ly:': '🇱🇾', ':ma:': '🇲🇦', ':flag_ma:': '🇲🇦', ':mc:': '🇲🇨', ':flag_mc:': '🇲🇨', ':md:': '🇲🇩', ':flag_md:': '🇲🇩', ':me:': '🇲🇪', ':flag_me:': '🇲🇪', ':mg:': '🇲🇬', ':flag_mg:': '🇲🇬', ':mh:': '🇲🇭', ':flag_mh:': '🇲🇭', ':mk:': '🇲🇰', ':flag_mk:': '🇲🇰', ':ml:': '🇲🇱', ':flag_ml:': '🇲🇱', ':mm:': '🇲🇲', ':flag_mm:': '🇲🇲', ':mn:': '🇲🇳', ':flag_mn:': '🇲🇳', ':mo:': '🇲🇴', ':flag_mo:': '🇲🇴', ':mp:': '🇲🇵', ':flag_mp:': '🇲🇵', ':mr:': '🇲🇷', ':flag_mr:': '🇲🇷', ':ms:': '🇲🇸', ':flag_ms:': '🇲🇸', ':mt:': '🇲🇹', ':flag_mt:': '🇲🇹', ':mu:': '🇲🇺', ':flag_mu:': '🇲🇺', ':mv:': '🇲🇻', ':flag_mv:': '🇲🇻', ':mw:': '🇲🇼', ':flag_mw:': '🇲🇼', ':mx:': '🇲🇽', ':flag_mx:': '🇲🇽', ':my:': '🇲🇾', ':flag_my:': '🇲🇾', ':mz:': '🇲🇿', ':flag_mz:': '🇲🇿', ':na:': '🇳🇦', ':flag_na:': '🇳🇦', ':ne:': '🇳🇪', ':flag_ne:': '🇳🇪', ':nf:': '🇳🇫', ':flag_nf:': '🇳🇫', ':nigeria:': '🇳🇬', ':flag_ng:': '🇳🇬', ':ni:': '🇳🇮', ':flag_ni:': '🇳🇮', ':nl:': '🇳🇱', ':flag_nl:': '🇳🇱', ':no:': '🇳🇴', ':flag_no:': '🇳🇴', ':np:': '🇳🇵', ':flag_np:': '🇳🇵', ':nr:': '🇳🇷', ':flag_nr:': '🇳🇷', ':nu:': '🇳🇺', ':flag_nu:': '🇳🇺', ':nz:': '🇳🇿', ':flag_nz:': '🇳🇿', ':om:': '🇴🇲', ':flag_om:': '🇴🇲', ':pa:': '🇵🇦', ':flag_pa:': '🇵🇦', ':pe:': '🇵🇪', ':flag_pe:': '🇵🇪', ':pf:': '🇵🇫', ':flag_pf:': '🇵🇫', ':pg:': '🇵🇬', ':flag_pg:': '🇵🇬', ':ph:': '🇵🇭', ':flag_ph:': '🇵🇭', ':pk:': '🇵🇰', ':flag_pk:': '🇵🇰', ':pl:': '🇵🇱', ':flag_pl:': '🇵🇱', ':pn:': '🇵🇳', ':flag_pn:': '🇵🇳', ':pr:': '🇵🇷', ':flag_pr:': '🇵🇷', ':ps:': '🇵🇸', ':flag_ps:': '🇵🇸', ':pt:': '🇵🇹', ':flag_pt:': '🇵🇹', ':pw:': '🇵🇼', ':flag_pw:': '🇵🇼', ':py:': '🇵🇾', ':flag_py:': '🇵🇾', ':qa:': '🇶🇦', ':flag_qa:': '🇶🇦', ':ro:': '🇷🇴', ':flag_ro:': '🇷🇴', ':rs:': '🇷🇸', ':flag_rs:': '🇷🇸', ':ru:': '🇷🇺', ':flag_ru:': '🇷🇺', ':rw:': '🇷🇼', ':flag_rw:': '🇷🇼', ':saudiarabia:': '🇸🇦', ':saudi:': '🇸🇦', ':flag_sa:': '🇸🇦', ':sb:': '🇸🇧', ':flag_sb:': '🇸🇧', ':sc:': '🇸🇨', ':flag_sc:': '🇸🇨', ':sd:': '🇸🇩', ':flag_sd:': '🇸🇩', ':se:': '🇸🇪', ':flag_se:': '🇸🇪', ':sg:': '🇸🇬', ':flag_sg:': '🇸🇬', ':sh:': '🇸🇭', ':flag_sh:': '🇸🇭', ':si:': '🇸🇮', ':flag_si:': '🇸🇮', ':sj:': '🇸🇯', ':flag_sj:': '🇸🇯', ':sk:': '🇸🇰', ':flag_sk:': '🇸🇰', ':sl:': '🇸🇱', ':flag_sl:': '🇸🇱', ':sm:': '🇸🇲', ':flag_sm:': '🇸🇲', ':sn:': '🇸🇳', ':flag_sn:': '🇸🇳', ':so:': '🇸🇴', ':flag_so:': '🇸🇴', ':sr:': '🇸🇷', ':flag_sr:': '🇸🇷', ':ss:': '🇸🇸', ':flag_ss:': '🇸🇸', ':st:': '🇸🇹', ':flag_st:': '🇸🇹', ':sv:': '🇸🇻', ':flag_sv:': '🇸🇻', ':sx:': '🇸🇽', ':flag_sx:': '🇸🇽', ':sy:': '🇸🇾', ':flag_sy:': '🇸🇾', ':sz:': '🇸🇿', ':flag_sz:': '🇸🇿', ':ta:': '🇹🇦', ':flag_ta:': '🇹🇦', ':tc:': '🇹🇨', ':flag_tc:': '🇹🇨', ':td:': '🇹🇩', ':flag_td:': '🇹🇩', ':tg:': '🇹🇬', ':flag_tg:': '🇹🇬', ':th:': '🇹🇭', ':flag_th:': '🇹🇭', ':tj:': '🇹🇯', ':flag_tj:': '🇹🇯', ':tk:': '🇹🇰', ':flag_tk:': '🇹🇰', ':tl:': '🇹🇱', ':flag_tl:': '🇹🇱', ':turkmenistan:': '🇹🇲', ':flag_tm:': '🇹🇲', ':tn:': '🇹🇳', ':flag_tn:': '🇹🇳', ':to:': '🇹🇴', ':flag_to:': '🇹🇴', ':tr:': '🇹🇷', ':flag_tr:': '🇹🇷', ':tt:': '🇹🇹', ':flag_tt:': '🇹🇹', ':tuvalu:': '🇹🇻', ':flag_tv:': '🇹🇻', ':tw:': '🇹🇼', ':flag_tw:': '🇹🇼', ':tz:': '🇹🇿', ':flag_tz:': '🇹🇿', ':ua:': '🇺🇦', ':flag_ua:': '🇺🇦', ':ug:': '🇺🇬', ':flag_ug:': '🇺🇬', ':um:': '🇺🇲', ':flag_um:': '🇺🇲', ':us:': '🇺🇸', ':flag_us:': '🇺🇸', ':uy:': '🇺🇾', ':flag_uy:': '🇺🇾', ':uz:': '🇺🇿', ':flag_uz:': '🇺🇿', ':va:': '🇻🇦', ':flag_va:': '🇻🇦', ':vc:': '🇻🇨', ':flag_vc:': '🇻🇨', ':ve:': '🇻🇪', ':flag_ve:': '🇻🇪', ':vg:': '🇻🇬', ':flag_vg:': '🇻🇬', ':vi:': '🇻🇮', ':flag_vi:': '🇻🇮', ':vn:': '🇻🇳', ':flag_vn:': '🇻🇳', ':vu:': '🇻🇺', ':flag_vu:': '🇻🇺', ':ws:': '🇼🇸', ':flag_ws:': '🇼🇸', ':ye:': '🇾🇪', ':flag_ye:': '🇾🇪', ':za:': '🇿🇦', ':flag_za:': '🇿🇦', ':zm:': '🇿🇲', ':flag_zm:': '🇿🇲', ':zw:': '🇿🇼', ':flag_zw:': '🇿🇼', ':foot_light_skin_tone:': '🦶🏻', ':foot_tone1:': '🦶🏻', ':foot_medium_light_skin_tone:': '🦶🏼', ':foot_tone2:': '🦶🏼', ':foot_medium_skin_tone:': '🦶🏽', ':foot_tone3:': '🦶🏽', ':foot_medium_dark_skin_tone:': '🦶🏾', ':foot_tone4:': '🦶🏾', ':foot_dark_skin_tone:': '🦶🏿', ':foot_tone5:': '🦶🏿', ':girl_tone1:': '👧🏻', ':girl_tone2:': '👧🏼', ':girl_tone3:': '👧🏽', ':girl_tone4:': '👧🏾', ':girl_tone5:': '👧🏿', ':guardsman_tone1:': '💂🏻', ':guard_tone1:': '💂🏻', ':guardsman_tone2:': '💂🏼', ':guard_tone2:': '💂🏼', ':guardsman_tone3:': '💂🏽', ':guard_tone3:': '💂🏽', ':guardsman_tone4:': '💂🏾', ':guard_tone4:': '💂🏾', ':guardsman_tone5:': '💂🏿', ':guard_tone5:': '💂🏿', ':raised_hand_with_fingers_splayed_tone1:': '🖐️🏻', ':hand_splayed_tone1:': '🖐️🏻', ':raised_hand_with_fingers_splayed_tone2:': '🖐️🏼', ':hand_splayed_tone2:': '🖐️🏼', ':raised_hand_with_fingers_splayed_tone3:': '🖐️🏽', ':hand_splayed_tone3:': '🖐️🏽', ':raised_hand_with_fingers_splayed_tone4:': '🖐️🏾', ':hand_splayed_tone4:': '🖐️🏾', ':raised_hand_with_fingers_splayed_tone5:': '🖐️🏿', ':hand_splayed_tone5:': '🖐️🏿', ':horse_racing_tone1:': '🏇🏻', ':horse_racing_tone2:': '🏇🏼', ':horse_racing_tone3:': '🏇🏽', ':horse_racing_tone4:': '🏇🏾', ':horse_racing_tone5:': '🏇🏿', ':left_fist_tone1:': '🤛🏻', ':left_facing_fist_tone1:': '🤛🏻', ':left_fist_tone2:': '🤛🏼', ':left_facing_fist_tone2:': '🤛🏼', ':left_fist_tone3:': '🤛🏽', ':left_facing_fist_tone3:': '🤛🏽', ':left_fist_tone4:': '🤛🏾', ':left_facing_fist_tone4:': '🤛🏾', ':left_fist_tone5:': '🤛🏿', ':left_facing_fist_tone5:': '🤛🏿', ':leg_light_skin_tone:': '🦵🏻', ':leg_tone1:': '🦵🏻', ':leg_medium_light_skin_tone:': '🦵🏼', ':leg_tone2:': '🦵🏼', ':leg_medium_skin_tone:': '🦵🏽', ':leg_tone3:': '🦵🏽', ':leg_medium_dark_skin_tone:': '🦵🏾', ':leg_tone4:': '🦵🏾', ':leg_dark_skin_tone:': '🦵🏿', ':leg_tone5:': '🦵🏿', ':man_in_business_suit_levitating_tone1:': '🕴️🏻', ':man_in_business_suit_levitating_light_skin_tone:': '🕴️🏻', ':levitate_tone1:': '🕴️🏻', ':man_in_business_suit_levitating_tone2:': '🕴️🏼', ':man_in_business_suit_levitating_medium_light_skin_tone:': '🕴️🏼', ':levitate_tone2:': '🕴️🏼', ':man_in_business_suit_levitating_tone3:': '🕴️🏽', ':man_in_business_suit_levitating_medium_skin_tone:': '🕴️🏽', ':levitate_tone3:': '🕴️🏽', ':man_in_business_suit_levitating_tone4:': '🕴️🏾', ':man_in_business_suit_levitating_medium_dark_skin_tone:': '🕴️🏾', ':levitate_tone4:': '🕴️🏾', ':man_in_business_suit_levitating_tone5:': '🕴️🏿', ':man_in_business_suit_levitating_dark_skin_tone:': '🕴️🏿', ':levitate_tone5:': '🕴️🏿', ':love_you_gesture_light_skin_tone:': '🤟🏻', ':love_you_gesture_tone1:': '🤟🏻', ':love_you_gesture_medium_light_skin_tone:': '🤟🏼', ':love_you_gesture_tone2:': '🤟🏼', ':love_you_gesture_medium_skin_tone:': '🤟🏽', ':love_you_gesture_tone3:': '🤟🏽', ':love_you_gesture_medium_dark_skin_tone:': '🤟🏾', ':love_you_gesture_tone4:': '🤟🏾', ':love_you_gesture_dark_skin_tone:': '🤟🏿', ':love_you_gesture_tone5:': '🤟🏿', ':mage_light_skin_tone:': '🧙🏻', ':mage_tone1:': '🧙🏻', ':mage_medium_light_skin_tone:': '🧙🏼', ':mage_tone2:': '🧙🏼', ':mage_medium_skin_tone:': '🧙🏽', ':mage_tone3:': '🧙🏽', ':mage_medium_dark_skin_tone:': '🧙🏾', ':mage_tone4:': '🧙🏾', ':mage_dark_skin_tone:': '🧙🏿', ':mage_tone5:': '🧙🏿', ':man_artist:': '👨🎨', ':man_astronaut:': '👨🚀', ':man_bald:': '👨🦲', ':man_cook:': '👨🍳', ':man_curly_haired:': '👨🦱', ':male_dancer_tone1:': '🕺🏻', ':man_dancing_tone1:': '🕺🏻', ':male_dancer_tone2:': '🕺🏼', ':man_dancing_tone2:': '🕺🏼', ':male_dancer_tone3:': '🕺🏽', ':man_dancing_tone3:': '🕺🏽', ':male_dancer_tone4:': '🕺🏾', ':man_dancing_tone4:': '🕺🏾', ':male_dancer_tone5:': '🕺🏿', ':man_dancing_tone5:': '🕺🏿', ':man_factory_worker:': '👨🏭', ':man_farmer:': '👨🌾', ':man_firefighter:': '👨🚒', ':man_in_manual_wheelchair:': '👨🦽', ':man_in_motorized_wheelchair:': '👨🦼', ':tuxedo_tone1:': '🤵🏻', ':man_in_tuxedo_tone1:': '🤵🏻', ':tuxedo_tone2:': '🤵🏼', ':man_in_tuxedo_tone2:': '🤵🏼', ':tuxedo_tone3:': '🤵🏽', ':man_in_tuxedo_tone3:': '🤵🏽', ':tuxedo_tone4:': '🤵🏾', ':man_in_tuxedo_tone4:': '🤵🏾', ':tuxedo_tone5:': '🤵🏿', ':man_in_tuxedo_tone5:': '🤵🏿', ':man_mechanic:': '👨🔧', ':man_office_worker:': '👨💼', ':man_red_haired:': '👨🦰', ':man_scientist:': '👨🔬', ':man_singer:': '👨🎤', ':man_student:': '👨🎓', ':man_teacher:': '👨🏫', ':man_technologist:': '👨💻', ':man_tone1:': '👨🏻', ':man_tone2:': '👨🏼', ':man_tone3:': '👨🏽', ':man_tone4:': '👨🏾', ':man_tone5:': '👨🏿', ':man_white_haired:': '👨🦳', ':man_with_gua_pi_mao_tone1:': '👲🏻', ':man_with_chinese_cap_tone1:': '👲🏻', ':man_with_gua_pi_mao_tone2:': '👲🏼', ':man_with_chinese_cap_tone2:': '👲🏼', ':man_with_gua_pi_mao_tone3:': '👲🏽', ':man_with_chinese_cap_tone3:': '👲🏽', ':man_with_gua_pi_mao_tone4:': '👲🏾', ':man_with_chinese_cap_tone4:': '👲🏾', ':man_with_gua_pi_mao_tone5:': '👲🏿', ':man_with_chinese_cap_tone5:': '👲🏿', ':man_with_probing_cane:': '👨🦯', ':men_holding_hands_light_skin_tone:': '👬🏻', ':men_holding_hands_tone1:': '👬🏻', ':men_holding_hands_medium_light_skin_tone:': '👬🏼', ':men_holding_hands_tone2:': '👬🏼', ':men_holding_hands_medium_skin_tone:': '👬🏽', ':men_holding_hands_tone3:': '👬🏽', ':men_holding_hands_medium_dark_skin_tone:': '👬🏾', ':men_holding_hands_tone4:': '👬🏾', ':men_holding_hands_dark_skin_tone:': '👬🏿', ':men_holding_hands_tone5:': '👬🏿', ':merperson_light_skin_tone:': '🧜🏻', ':merperson_tone1:': '🧜🏻', ':merperson_medium_light_skin_tone:': '🧜🏼', ':merperson_tone2:': '🧜🏼', ':merperson_medium_skin_tone:': '🧜🏽', ':merperson_tone3:': '🧜🏽', ':merperson_medium_dark_skin_tone:': '🧜🏾', ':merperson_tone4:': '🧜🏾', ':merperson_dark_skin_tone:': '🧜🏿', ':merperson_tone5:': '🧜🏿', ':sign_of_the_horns_tone1:': '🤘🏻', ':metal_tone1:': '🤘🏻', ':sign_of_the_horns_tone2:': '🤘🏼', ':metal_tone2:': '🤘🏼', ':sign_of_the_horns_tone3:': '🤘🏽', ':metal_tone3:': '🤘🏽', ':sign_of_the_horns_tone4:': '🤘🏾', ':metal_tone4:': '🤘🏾', ':sign_of_the_horns_tone5:': '🤘🏿', ':metal_tone5:': '🤘🏿', ':reversed_hand_with_middle_finger_extended_tone1:': '🖕🏻', ':middle_finger_tone1:': '🖕🏻', ':reversed_hand_with_middle_finger_extended_tone2:': '🖕🏼', ':middle_finger_tone2:': '🖕🏼', ':reversed_hand_with_middle_finger_extended_tone3:': '🖕🏽', ':middle_finger_tone3:': '🖕🏽', ':reversed_hand_with_middle_finger_extended_tone4:': '🖕🏾', ':middle_finger_tone4:': '🖕🏾', ':reversed_hand_with_middle_finger_extended_tone5:': '🖕🏿', ':middle_finger_tone5:': '🖕🏿', ':mother_christmas_tone1:': '🤶🏻', ':mrs_claus_tone1:': '🤶🏻', ':mother_christmas_tone2:': '🤶🏼', ':mrs_claus_tone2:': '🤶🏼', ':mother_christmas_tone3:': '🤶🏽', ':mrs_claus_tone3:': '🤶🏽', ':mother_christmas_tone4:': '🤶🏾', ':mrs_claus_tone4:': '🤶🏾', ':mother_christmas_tone5:': '🤶🏿', ':mrs_claus_tone5:': '🤶🏿', ':muscle_tone1:': '💪🏻', ':muscle_tone2:': '💪🏼', ':muscle_tone3:': '💪🏽', ':muscle_tone4:': '💪🏾', ':muscle_tone5:': '💪🏿', ':nail_care_tone1:': '💅🏻', ':nail_care_tone2:': '💅🏼', ':nail_care_tone3:': '💅🏽', ':nail_care_tone4:': '💅🏾', ':nail_care_tone5:': '💅🏿', ':nose_tone1:': '👃🏻', ':nose_tone2:': '👃🏼', ':nose_tone3:': '👃🏽', ':nose_tone4:': '👃🏾', ':nose_tone5:': '👃🏿', ':ok_hand_tone1:': '👌🏻', ':ok_hand_tone2:': '👌🏼', ':ok_hand_tone3:': '👌🏽', ':ok_hand_tone4:': '👌🏾', ':ok_hand_tone5:': '👌🏿', ':older_adult_light_skin_tone:': '🧓🏻', ':older_adult_tone1:': '🧓🏻', ':older_adult_medium_light_skin_tone:': '🧓🏼', ':older_adult_tone2:': '🧓🏼', ':older_adult_medium_skin_tone:': '🧓🏽', ':older_adult_tone3:': '🧓🏽', ':older_adult_medium_dark_skin_tone:': '🧓🏾', ':older_adult_tone4:': '🧓🏾', ':older_adult_dark_skin_tone:': '🧓🏿', ':older_adult_tone5:': '🧓🏿', ':older_man_tone1:': '👴🏻', ':older_man_tone2:': '👴🏼', ':older_man_tone3:': '👴🏽', ':older_man_tone4:': '👴🏾', ':older_man_tone5:': '👴🏿', ':grandma_tone1:': '👵🏻', ':older_woman_tone1:': '👵🏻', ':grandma_tone2:': '👵🏼', ':older_woman_tone2:': '👵🏼', ':grandma_tone3:': '👵🏽', ':older_woman_tone3:': '👵🏽', ':grandma_tone4:': '👵🏾', ':older_woman_tone4:': '👵🏾', ':grandma_tone5:': '👵🏿', ':older_woman_tone5:': '👵🏿', ':open_hands_tone1:': '👐🏻', ':open_hands_tone2:': '👐🏼', ':open_hands_tone3:': '👐🏽', ':open_hands_tone4:': '👐🏾', ':open_hands_tone5:': '👐🏿', ':palms_up_together_light_skin_tone:': '🤲🏻', ':palms_up_together_tone1:': '🤲🏻', ':palms_up_together_medium_light_skin_tone:': '🤲🏼', ':palms_up_together_tone2:': '🤲🏼', ':palms_up_together_medium_skin_tone:': '🤲🏽', ':palms_up_together_tone3:': '🤲🏽', ':palms_up_together_medium_dark_skin_tone:': '🤲🏾', ':palms_up_together_tone4:': '🤲🏾', ':palms_up_together_dark_skin_tone:': '🤲🏿', ':palms_up_together_tone5:': '🤲🏿', ':bicyclist_tone1:': '🚴🏻', ':person_biking_tone1:': '🚴🏻', ':bicyclist_tone2:': '🚴🏼', ':person_biking_tone2:': '🚴🏼', ':bicyclist_tone3:': '🚴🏽', ':person_biking_tone3:': '🚴🏽', ':bicyclist_tone4:': '🚴🏾', ':person_biking_tone4:': '🚴🏾', ':bicyclist_tone5:': '🚴🏿', ':person_biking_tone5:': '🚴🏿', ':bow_tone1:': '🙇🏻', ':person_bowing_tone1:': '🙇🏻', ':bow_tone2:': '🙇🏼', ':person_bowing_tone2:': '🙇🏼', ':bow_tone3:': '🙇🏽', ':person_bowing_tone3:': '🙇🏽', ':bow_tone4:': '🙇🏾', ':person_bowing_tone4:': '🙇🏾', ':bow_tone5:': '🙇🏿', ':person_bowing_tone5:': '🙇🏿', ':person_climbing_light_skin_tone:': '🧗🏻', ':person_climbing_tone1:': '🧗🏻', ':person_climbing_medium_light_skin_tone:': '🧗🏼', ':person_climbing_tone2:': '🧗🏼', ':person_climbing_medium_skin_tone:': '🧗🏽', ':person_climbing_tone3:': '🧗🏽', ':person_climbing_medium_dark_skin_tone:': '🧗🏾', ':person_climbing_tone4:': '🧗🏾', ':person_climbing_dark_skin_tone:': '🧗🏿', ':person_climbing_tone5:': '🧗🏿', ':cartwheel_tone1:': '🤸🏻', ':person_doing_cartwheel_tone1:': '🤸🏻', ':cartwheel_tone2:': '🤸🏼', ':person_doing_cartwheel_tone2:': '🤸🏼', ':cartwheel_tone3:': '🤸🏽', ':person_doing_cartwheel_tone3:': '🤸🏽', ':cartwheel_tone4:': '🤸🏾', ':person_doing_cartwheel_tone4:': '🤸🏾', ':cartwheel_tone5:': '🤸🏿', ':person_doing_cartwheel_tone5:': '🤸🏿', ':face_palm_tone1:': '🤦🏻', ':facepalm_tone1:': '🤦🏻', ':person_facepalming_tone1:': '🤦🏻', ':face_palm_tone2:': '🤦🏼', ':facepalm_tone2:': '🤦🏼', ':person_facepalming_tone2:': '🤦🏼', ':face_palm_tone3:': '🤦🏽', ':facepalm_tone3:': '🤦🏽', ':person_facepalming_tone3:': '🤦🏽', ':face_palm_tone4:': '🤦🏾', ':facepalm_tone4:': '🤦🏾', ':person_facepalming_tone4:': '🤦🏾', ':face_palm_tone5:': '🤦🏿', ':facepalm_tone5:': '🤦🏿', ':person_facepalming_tone5:': '🤦🏿', ':person_frowning_tone1:': '🙍🏻', ':person_frowning_tone2:': '🙍🏼', ':person_frowning_tone3:': '🙍🏽', ':person_frowning_tone4:': '🙍🏾', ':person_frowning_tone5:': '🙍🏿', ':no_good_tone1:': '🙅🏻', ':person_gesturing_no_tone1:': '🙅🏻', ':no_good_tone2:': '🙅🏼', ':person_gesturing_no_tone2:': '🙅🏼', ':no_good_tone3:': '🙅🏽', ':person_gesturing_no_tone3:': '🙅🏽', ':no_good_tone4:': '🙅🏾', ':person_gesturing_no_tone4:': '🙅🏾', ':no_good_tone5:': '🙅🏿', ':person_gesturing_no_tone5:': '🙅🏿', ':ok_woman_tone1:': '🙆🏻', ':person_gesturing_ok_tone1:': '🙆🏻', ':ok_woman_tone2:': '🙆🏼', ':person_gesturing_ok_tone2:': '🙆🏼', ':ok_woman_tone3:': '🙆🏽', ':person_gesturing_ok_tone3:': '🙆🏽', ':ok_woman_tone4:': '🙆🏾', ':person_gesturing_ok_tone4:': '🙆🏾', ':ok_woman_tone5:': '🙆🏿', ':person_gesturing_ok_tone5:': '🙆🏿', ':haircut_tone1:': '💇🏻', ':person_getting_haircut_tone1:': '💇🏻', ':haircut_tone2:': '💇🏼', ':person_getting_haircut_tone2:': '💇🏼', ':haircut_tone3:': '💇🏽', ':person_getting_haircut_tone3:': '💇🏽', ':haircut_tone4:': '💇🏾', ':person_getting_haircut_tone4:': '💇🏾', ':haircut_tone5:': '💇🏿', ':person_getting_haircut_tone5:': '💇🏿', ':massage_tone1:': '💆🏻', ':person_getting_massage_tone1:': '💆🏻', ':massage_tone2:': '💆🏼', ':person_getting_massage_tone2:': '💆🏼', ':massage_tone3:': '💆🏽', ':person_getting_massage_tone3:': '💆🏽', ':massage_tone4:': '💆🏾', ':person_getting_massage_tone4:': '💆🏾', ':massage_tone5:': '💆🏿', ':person_getting_massage_tone5:': '💆🏿', ':person_golfing_light_skin_tone:': '🏌️🏻', ':person_golfing_tone1:': '🏌️🏻', ':person_golfing_medium_light_skin_tone:': '🏌️🏼', ':person_golfing_tone2:': '🏌️🏼', ':person_golfing_medium_skin_tone:': '🏌️🏽', ':person_golfing_tone3:': '🏌️🏽', ':person_golfing_medium_dark_skin_tone:': '🏌️🏾', ':person_golfing_tone4:': '🏌️🏾', ':person_golfing_dark_skin_tone:': '🏌️🏿', ':person_golfing_tone5:': '🏌️🏿', ':person_in_bed_light_skin_tone:': '🛌🏻', ':person_in_bed_tone1:': '🛌🏻', ':person_in_bed_medium_light_skin_tone:': '🛌🏼', ':person_in_bed_tone2:': '🛌🏼', ':person_in_bed_medium_skin_tone:': '🛌🏽', ':person_in_bed_tone3:': '🛌🏽', ':person_in_bed_medium_dark_skin_tone:': '🛌🏾', ':person_in_bed_tone4:': '🛌🏾', ':person_in_bed_dark_skin_tone:': '🛌🏿', ':person_in_bed_tone5:': '🛌🏿', ':person_in_lotus_position_light_skin_tone:': '🧘🏻', ':person_in_lotus_position_tone1:': '🧘🏻', ':person_in_lotus_position_medium_light_skin_tone:': '🧘🏼', ':person_in_lotus_position_tone2:': '🧘🏼', ':person_in_lotus_position_medium_skin_tone:': '🧘🏽', ':person_in_lotus_position_tone3:': '🧘🏽', ':person_in_lotus_position_medium_dark_skin_tone:': '🧘🏾', ':person_in_lotus_position_tone4:': '🧘🏾', ':person_in_lotus_position_dark_skin_tone:': '🧘🏿', ':person_in_lotus_position_tone5:': '🧘🏿', ':person_in_steamy_room_light_skin_tone:': '🧖🏻', ':person_in_steamy_room_tone1:': '🧖🏻', ':person_in_steamy_room_medium_light_skin_tone:': '🧖🏼', ':person_in_steamy_room_tone2:': '🧖🏼', ':person_in_steamy_room_medium_skin_tone:': '🧖🏽', ':person_in_steamy_room_tone3:': '🧖🏽', ':person_in_steamy_room_medium_dark_skin_tone:': '🧖🏾', ':person_in_steamy_room_tone4:': '🧖🏾', ':person_in_steamy_room_dark_skin_tone:': '🧖🏿', ':person_in_steamy_room_tone5:': '🧖🏿', ':juggling_tone1:': '🤹🏻', ':juggler_tone1:': '🤹🏻', ':person_juggling_tone1:': '🤹🏻', ':juggling_tone2:': '🤹🏼', ':juggler_tone2:': '🤹🏼', ':person_juggling_tone2:': '🤹🏼', ':juggling_tone3:': '🤹🏽', ':juggler_tone3:': '🤹🏽', ':person_juggling_tone3:': '🤹🏽', ':juggling_tone4:': '🤹🏾', ':juggler_tone4:': '🤹🏾', ':person_juggling_tone4:': '🤹🏾', ':juggling_tone5:': '🤹🏿', ':juggler_tone5:': '🤹🏿', ':person_juggling_tone5:': '🤹🏿', ':person_kneeling_light_skin_tone:': '🧎🏻', ':person_kneeling_tone1:': '🧎🏻', ':person_kneeling_medium_light_skin_tone:': '🧎🏼', ':person_kneeling_tone2:': '🧎🏼', ':person_kneeling_medium_skin_tone:': '🧎🏽', ':person_kneeling_tone3:': '🧎🏽', ':person_kneeling_medium_dark_skin_tone:': '🧎🏾', ':person_kneeling_tone4:': '🧎🏾', ':person_kneeling_dark_skin_tone:': '🧎🏿', ':person_kneeling_tone5:': '🧎🏿', ':lifter_tone1:': '🏋️🏻', ':weight_lifter_tone1:': '🏋️🏻', ':person_lifting_weights_tone1:': '🏋️🏻', ':lifter_tone2:': '🏋️🏼', ':weight_lifter_tone2:': '🏋️🏼', ':person_lifting_weights_tone2:': '🏋️🏼', ':lifter_tone3:': '🏋️🏽', ':weight_lifter_tone3:': '🏋️🏽', ':person_lifting_weights_tone3:': '🏋️🏽', ':lifter_tone4:': '🏋️🏾', ':weight_lifter_tone4:': '🏋️🏾', ':person_lifting_weights_tone4:': '🏋️🏾', ':lifter_tone5:': '🏋️🏿', ':weight_lifter_tone5:': '🏋️🏿', ':person_lifting_weights_tone5:': '🏋️🏿', ':mountain_bicyclist_tone1:': '🚵🏻', ':person_mountain_biking_tone1:': '🚵🏻', ':mountain_bicyclist_tone2:': '🚵🏼', ':person_mountain_biking_tone2:': '🚵🏼', ':mountain_bicyclist_tone3:': '🚵🏽', ':person_mountain_biking_tone3:': '🚵🏽', ':mountain_bicyclist_tone4:': '🚵🏾', ':person_mountain_biking_tone4:': '🚵🏾', ':mountain_bicyclist_tone5:': '🚵🏿', ':person_mountain_biking_tone5:': '🚵🏿', ':handball_tone1:': '🤾🏻', ':person_playing_handball_tone1:': '🤾🏻', ':handball_tone2:': '🤾🏼', ':person_playing_handball_tone2:': '🤾🏼', ':handball_tone3:': '🤾🏽', ':person_playing_handball_tone3:': '🤾🏽', ':handball_tone4:': '🤾🏾', ':person_playing_handball_tone4:': '🤾🏾', ':handball_tone5:': '🤾🏿', ':person_playing_handball_tone5:': '🤾🏿', ':water_polo_tone1:': '🤽🏻', ':person_playing_water_polo_tone1:': '🤽🏻', ':water_polo_tone2:': '🤽🏼', ':person_playing_water_polo_tone2:': '🤽🏼', ':water_polo_tone3:': '🤽🏽', ':person_playing_water_polo_tone3:': '🤽🏽', ':water_polo_tone4:': '🤽🏾', ':person_playing_water_polo_tone4:': '🤽🏾', ':water_polo_tone5:': '🤽🏿', ':person_playing_water_polo_tone5:': '🤽🏿', ':person_with_pouting_face_tone1:': '🙎🏻', ':person_pouting_tone1:': '🙎🏻', ':person_with_pouting_face_tone2:': '🙎🏼', ':person_pouting_tone2:': '🙎🏼', ':person_with_pouting_face_tone3:': '🙎🏽', ':person_pouting_tone3:': '🙎🏽', ':person_with_pouting_face_tone4:': '🙎🏾', ':person_pouting_tone4:': '🙎🏾', ':person_with_pouting_face_tone5:': '🙎🏿', ':person_pouting_tone5:': '🙎🏿', ':raising_hand_tone1:': '🙋🏻', ':person_raising_hand_tone1:': '🙋🏻', ':raising_hand_tone2:': '🙋🏼', ':person_raising_hand_tone2:': '🙋🏼', ':raising_hand_tone3:': '🙋🏽', ':person_raising_hand_tone3:': '🙋🏽', ':raising_hand_tone4:': '🙋🏾', ':person_raising_hand_tone4:': '🙋🏾', ':raising_hand_tone5:': '🙋🏿', ':person_raising_hand_tone5:': '🙋🏿', ':rowboat_tone1:': '🚣🏻', ':person_rowing_boat_tone1:': '🚣🏻', ':rowboat_tone2:': '🚣🏼', ':person_rowing_boat_tone2:': '🚣🏼', ':rowboat_tone3:': '🚣🏽', ':person_rowing_boat_tone3:': '🚣🏽', ':rowboat_tone4:': '🚣🏾', ':person_rowing_boat_tone4:': '🚣🏾', ':rowboat_tone5:': '🚣🏿', ':person_rowing_boat_tone5:': '🚣🏿', ':runner_tone1:': '🏃🏻', ':person_running_tone1:': '🏃🏻', ':runner_tone2:': '🏃🏼', ':person_running_tone2:': '🏃🏼', ':runner_tone3:': '🏃🏽', ':person_running_tone3:': '🏃🏽', ':runner_tone4:': '🏃🏾', ':person_running_tone4:': '🏃🏾', ':runner_tone5:': '🏃🏿', ':person_running_tone5:': '🏃🏿', ':shrug_tone1:': '🤷🏻', ':person_shrugging_tone1:': '🤷🏻', ':shrug_tone2:': '🤷🏼', ':person_shrugging_tone2:': '🤷🏼', ':shrug_tone3:': '🤷🏽', ':person_shrugging_tone3:': '🤷🏽', ':shrug_tone4:': '🤷🏾', ':person_shrugging_tone4:': '🤷🏾', ':shrug_tone5:': '🤷🏿', ':person_shrugging_tone5:': '🤷🏿', ':person_standing_light_skin_tone:': '🧍🏻', ':person_standing_tone1:': '🧍🏻', ':person_standing_medium_light_skin_tone:': '🧍🏼', ':person_standing_tone2:': '🧍🏼', ':person_standing_medium_skin_tone:': '🧍🏽', ':person_standing_tone3:': '🧍🏽', ':person_standing_medium_dark_skin_tone:': '🧍🏾', ':person_standing_tone4:': '🧍🏾', ':person_standing_dark_skin_tone:': '🧍🏿', ':person_standing_tone5:': '🧍🏿', ':surfer_tone1:': '🏄🏻', ':person_surfing_tone1:': '🏄🏻', ':surfer_tone2:': '🏄🏼', ':person_surfing_tone2:': '🏄🏼', ':surfer_tone3:': '🏄🏽', ':person_surfing_tone3:': '🏄🏽', ':surfer_tone4:': '🏄🏾', ':person_surfing_tone4:': '🏄🏾', ':surfer_tone5:': '🏄🏿', ':person_surfing_tone5:': '🏄🏿', ':swimmer_tone1:': '🏊🏻', ':person_swimming_tone1:': '🏊🏻', ':swimmer_tone2:': '🏊🏼', ':person_swimming_tone2:': '🏊🏼', ':swimmer_tone3:': '🏊🏽', ':person_swimming_tone3:': '🏊🏽', ':swimmer_tone4:': '🏊🏾', ':person_swimming_tone4:': '🏊🏾', ':swimmer_tone5:': '🏊🏿', ':person_swimming_tone5:': '🏊🏿', ':information_desk_person_tone1:': '💁🏻', ':person_tipping_hand_tone1:': '💁🏻', ':information_desk_person_tone2:': '💁🏼', ':person_tipping_hand_tone2:': '💁🏼', ':information_desk_person_tone3:': '💁🏽', ':person_tipping_hand_tone3:': '💁🏽', ':information_desk_person_tone4:': '💁🏾', ':person_tipping_hand_tone4:': '💁🏾', ':information_desk_person_tone5:': '💁🏿', ':person_tipping_hand_tone5:': '💁🏿', ':walking_tone1:': '🚶🏻', ':person_walking_tone1:': '🚶🏻', ':walking_tone2:': '🚶🏼', ':person_walking_tone2:': '🚶🏼', ':walking_tone3:': '🚶🏽', ':person_walking_tone3:': '🚶🏽', ':walking_tone4:': '🚶🏾', ':person_walking_tone4:': '🚶🏾', ':walking_tone5:': '🚶🏿', ':person_walking_tone5:': '🚶🏿', ':man_with_turban_tone1:': '👳🏻', ':person_wearing_turban_tone1:': '👳🏻', ':man_with_turban_tone2:': '👳🏼', ':person_wearing_turban_tone2:': '👳🏼', ':man_with_turban_tone3:': '👳🏽', ':person_wearing_turban_tone3:': '👳🏽', ':man_with_turban_tone4:': '👳🏾', ':person_wearing_turban_tone4:': '👳🏾', ':man_with_turban_tone5:': '👳🏿', ':person_wearing_turban_tone5:': '👳🏿', ':pinching_hand_light_skin_tone:': '🤏🏻', ':pinching_hand_tone1:': '🤏🏻', ':pinching_hand_medium_light_skin_tone:': '🤏🏼', ':pinching_hand_tone2:': '🤏🏼', ':pinching_hand_medium_skin_tone:': '🤏🏽', ':pinching_hand_tone3:': '🤏🏽', ':pinching_hand_medium_dark_skin_tone:': '🤏🏾', ':pinching_hand_tone4:': '🤏🏾', ':pinching_hand_dark_skin_tone:': '🤏🏿', ':pinching_hand_tone5:': '🤏🏿', ':point_down_tone1:': '👇🏻', ':point_down_tone2:': '👇🏼', ':point_down_tone3:': '👇🏽', ':point_down_tone4:': '👇🏾', ':point_down_tone5:': '👇🏿', ':point_left_tone1:': '👈🏻', ':point_left_tone2:': '👈🏼', ':point_left_tone3:': '👈🏽', ':point_left_tone4:': '👈🏾', ':point_left_tone5:': '👈🏿', ':point_right_tone1:': '👉🏻', ':point_right_tone2:': '👉🏼', ':point_right_tone3:': '👉🏽', ':point_right_tone4:': '👉🏾', ':point_right_tone5:': '👉🏿', ':point_up_2_tone1:': '👆🏻', ':point_up_2_tone2:': '👆🏼', ':point_up_2_tone3:': '👆🏽', ':point_up_2_tone4:': '👆🏾', ':point_up_2_tone5:': '👆🏿', ':cop_tone1:': '👮🏻', ':police_officer_tone1:': '👮🏻', ':cop_tone2:': '👮🏼', ':police_officer_tone2:': '👮🏼', ':cop_tone3:': '👮🏽', ':police_officer_tone3:': '👮🏽', ':cop_tone4:': '👮🏾', ':police_officer_tone4:': '👮🏾', ':cop_tone5:': '👮🏿', ':police_officer_tone5:': '👮🏿', ':pray_tone1:': '🙏🏻', ':pray_tone2:': '🙏🏼', ':pray_tone3:': '🙏🏽', ':pray_tone4:': '🙏🏾', ':pray_tone5:': '🙏🏿', ':expecting_woman_tone1:': '🤰🏻', ':pregnant_woman_tone1:': '🤰🏻', ':expecting_woman_tone2:': '🤰🏼', ':pregnant_woman_tone2:': '🤰🏼', ':expecting_woman_tone3:': '🤰🏽', ':pregnant_woman_tone3:': '🤰🏽', ':expecting_woman_tone4:': '🤰🏾', ':pregnant_woman_tone4:': '🤰🏾', ':expecting_woman_tone5:': '🤰🏿', ':pregnant_woman_tone5:': '🤰🏿', ':prince_tone1:': '🤴🏻', ':prince_tone2:': '🤴🏼', ':prince_tone3:': '🤴🏽', ':prince_tone4:': '🤴🏾', ':prince_tone5:': '🤴🏿', ':princess_tone1:': '👸🏻', ':princess_tone2:': '👸🏼', ':princess_tone3:': '👸🏽', ':princess_tone4:': '👸🏾', ':princess_tone5:': '👸🏿', ':punch_tone1:': '👊🏻', ':punch_tone2:': '👊🏼', ':punch_tone3:': '👊🏽', ':punch_tone4:': '👊🏾', ':punch_tone5:': '👊🏿', ':gay_pride_flag:': '🏳️🌈', ':rainbow_flag:': '🏳️🌈', ':back_of_hand_tone1:': '🤚🏻', ':raised_back_of_hand_tone1:': '🤚🏻', ':back_of_hand_tone2:': '🤚🏼', ':raised_back_of_hand_tone2:': '🤚🏼', ':back_of_hand_tone3:': '🤚🏽', ':raised_back_of_hand_tone3:': '🤚🏽', ':back_of_hand_tone4:': '🤚🏾', ':raised_back_of_hand_tone4:': '🤚🏾', ':back_of_hand_tone5:': '🤚🏿', ':raised_back_of_hand_tone5:': '🤚🏿', ':raised_hands_tone1:': '🙌🏻', ':raised_hands_tone2:': '🙌🏼', ':raised_hands_tone3:': '🙌🏽', ':raised_hands_tone4:': '🙌🏾', ':raised_hands_tone5:': '🙌🏿', ':right_fist_tone1:': '🤜🏻', ':right_facing_fist_tone1:': '🤜🏻', ':right_fist_tone2:': '🤜🏼', ':right_facing_fist_tone2:': '🤜🏼', ':right_fist_tone3:': '🤜🏽', ':right_facing_fist_tone3:': '🤜🏽', ':right_fist_tone4:': '🤜🏾', ':right_facing_fist_tone4:': '🤜🏾', ':right_fist_tone5:': '🤜🏿', ':right_facing_fist_tone5:': '🤜🏿', ':santa_tone1:': '🎅🏻', ':santa_tone2:': '🎅🏼', ':santa_tone3:': '🎅🏽', ':santa_tone4:': '🎅🏾', ':santa_tone5:': '🎅🏿', ':selfie_tone1:': '🤳🏻', ':selfie_tone2:': '🤳🏼', ':selfie_tone3:': '🤳🏽', ':selfie_tone4:': '🤳🏾', ':selfie_tone5:': '🤳🏿', ':service_dog:': '🐕🦺', ':snowboarder_light_skin_tone:': '🏂🏻', ':snowboarder_tone1:': '🏂🏻', ':snowboarder_medium_light_skin_tone:': '🏂🏼', ':snowboarder_tone2:': '🏂🏼', ':snowboarder_medium_skin_tone:': '🏂🏽', ':snowboarder_tone3:': '🏂🏽', ':snowboarder_medium_dark_skin_tone:': '🏂🏾', ':snowboarder_tone4:': '🏂🏾', ':snowboarder_dark_skin_tone:': '🏂🏿', ':snowboarder_tone5:': '🏂🏿', ':superhero_light_skin_tone:': '🦸🏻', ':superhero_tone1:': '🦸🏻', ':superhero_medium_light_skin_tone:': '🦸🏼', ':superhero_tone2:': '🦸🏼', ':superhero_medium_skin_tone:': '🦸🏽', ':superhero_tone3:': '🦸🏽', ':superhero_medium_dark_skin_tone:': '🦸🏾', ':superhero_tone4:': '🦸🏾', ':superhero_dark_skin_tone:': '🦸🏿', ':superhero_tone5:': '🦸🏿', ':supervillain_light_skin_tone:': '🦹🏻', ':supervillain_tone1:': '🦹🏻', ':supervillain_medium_light_skin_tone:': '🦹🏼', ':supervillain_tone2:': '🦹🏼', ':supervillain_medium_skin_tone:': '🦹🏽', ':supervillain_tone3:': '🦹🏽', ':supervillain_medium_dark_skin_tone:': '🦹🏾', ':supervillain_tone4:': '🦹🏾', ':supervillain_dark_skin_tone:': '🦹🏿', ':supervillain_tone5:': '🦹🏿', ':-1_tone1:': '👎🏻', ':thumbdown_tone1:': '👎🏻', ':thumbsdown_tone1:': '👎🏻', ':-1_tone2:': '👎🏼', ':thumbdown_tone2:': '👎🏼', ':thumbsdown_tone2:': '👎🏼', ':-1_tone3:': '👎🏽', ':thumbdown_tone3:': '👎🏽', ':thumbsdown_tone3:': '👎🏽', ':-1_tone4:': '👎🏾', ':thumbdown_tone4:': '👎🏾', ':thumbsdown_tone4:': '👎🏾', ':-1_tone5:': '👎🏿', ':thumbdown_tone5:': '👎🏿', ':thumbsdown_tone5:': '👎🏿', ':+1_tone1:': '👍🏻', ':thumbup_tone1:': '👍🏻', ':thumbsup_tone1:': '👍🏻', ':+1_tone2:': '👍🏼', ':thumbup_tone2:': '👍🏼', ':thumbsup_tone2:': '👍🏼', ':+1_tone3:': '👍🏽', ':thumbup_tone3:': '👍🏽', ':thumbsup_tone3:': '👍🏽', ':+1_tone4:': '👍🏾', ':thumbup_tone4:': '👍🏾', ':thumbsup_tone4:': '👍🏾', ':+1_tone5:': '👍🏿', ':thumbup_tone5:': '👍🏿', ':thumbsup_tone5:': '👍🏿', ':united_nations:': '🇺🇳', ':vampire_light_skin_tone:': '🧛🏻', ':vampire_tone1:': '🧛🏻', ':vampire_medium_light_skin_tone:': '🧛🏼', ':vampire_tone2:': '🧛🏼', ':vampire_medium_skin_tone:': '🧛🏽', ':vampire_tone3:': '🧛🏽', ':vampire_medium_dark_skin_tone:': '🧛🏾', ':vampire_tone4:': '🧛🏾', ':vampire_dark_skin_tone:': '🧛🏿', ':vampire_tone5:': '🧛🏿', ':raised_hand_with_part_between_middle_and_ring_fingers_tone1:': '🖖🏻', ':vulcan_tone1:': '🖖🏻', ':raised_hand_with_part_between_middle_and_ring_fingers_tone2:': '🖖🏼', ':vulcan_tone2:': '🖖🏼', ':raised_hand_with_part_between_middle_and_ring_fingers_tone3:': '🖖🏽', ':vulcan_tone3:': '🖖🏽', ':raised_hand_with_part_between_middle_and_ring_fingers_tone4:': '🖖🏾', ':vulcan_tone4:': '🖖🏾', ':raised_hand_with_part_between_middle_and_ring_fingers_tone5:': '🖖🏿', ':vulcan_tone5:': '🖖🏿', ':wave_tone1:': '👋🏻', ':wave_tone2:': '👋🏼', ':wave_tone3:': '👋🏽', ':wave_tone4:': '👋🏾', ':wave_tone5:': '👋🏿', ':woman_and_man_holding_hands_light_skin_tone:': '👫🏻', ':woman_and_man_holding_hands_tone1:': '👫🏻', ':woman_and_man_holding_hands_medium_light_skin_tone:': '👫🏼', ':woman_and_man_holding_hands_tone2:': '👫🏼', ':woman_and_man_holding_hands_medium_skin_tone:': '👫🏽', ':woman_and_man_holding_hands_tone3:': '👫🏽', ':woman_and_man_holding_hands_medium_dark_skin_tone:': '👫🏾', ':woman_and_man_holding_hands_tone4:': '👫🏾', ':woman_and_man_holding_hands_dark_skin_tone:': '👫🏿', ':woman_and_man_holding_hands_tone5:': '👫🏿', ':woman_artist:': '👩🎨', ':woman_astronaut:': '👩🚀', ':woman_bald:': '👩🦲', ':woman_cook:': '👩🍳', ':woman_curly_haired:': '👩🦱', ':woman_factory_worker:': '👩🏭', ':woman_farmer:': '👩🌾', ':woman_firefighter:': '👩🚒', ':woman_in_manual_wheelchair:': '👩🦽', ':woman_in_motorized_wheelchair:': '👩🦼', ':woman_mechanic:': '👩🔧', ':woman_office_worker:': '👩💼', ':woman_red_haired:': '👩🦰', ':woman_scientist:': '👩🔬', ':woman_singer:': '👩🎤', ':woman_student:': '👩🎓', ':woman_teacher:': '👩🏫', ':woman_technologist:': '👩💻', ':woman_tone1:': '👩🏻', ':woman_tone2:': '👩🏼', ':woman_tone3:': '👩🏽', ':woman_tone4:': '👩🏾', ':woman_tone5:': '👩🏿', ':woman_white_haired:': '👩🦳', ':woman_with_headscarf_light_skin_tone:': '🧕🏻', ':woman_with_headscarf_tone1:': '🧕🏻', ':woman_with_headscarf_medium_light_skin_tone:': '🧕🏼', ':woman_with_headscarf_tone2:': '🧕🏼', ':woman_with_headscarf_medium_skin_tone:': '🧕🏽', ':woman_with_headscarf_tone3:': '🧕🏽', ':woman_with_headscarf_medium_dark_skin_tone:': '🧕🏾', ':woman_with_headscarf_tone4:': '🧕🏾', ':woman_with_headscarf_dark_skin_tone:': '🧕🏿', ':woman_with_headscarf_tone5:': '🧕🏿', ':woman_with_probing_cane:': '👩🦯', ':women_holding_hands_light_skin_tone:': '👭🏻', ':women_holding_hands_tone1:': '👭🏻', ':women_holding_hands_medium_light_skin_tone:': '👭🏼', ':women_holding_hands_tone2:': '👭🏼', ':women_holding_hands_medium_skin_tone:': '👭🏽', ':women_holding_hands_tone3:': '👭🏽', ':women_holding_hands_medium_dark_skin_tone:': '👭🏾', ':women_holding_hands_tone4:': '👭🏾', ':women_holding_hands_dark_skin_tone:': '👭🏿', ':women_holding_hands_tone5:': '👭🏿', ':blond-haired_man:': '👱♂️', ':blond-haired_woman:': '👱♀️', ':deaf_man:': '🧏♂️', ':deaf_woman:': '🧏♀️', ':fist_tone1:': '✊🏻', ':fist_tone2:': '✊🏼', ':fist_tone3:': '✊🏽', ':fist_tone4:': '✊🏾', ':fist_tone5:': '✊🏿', ':man_biking:': '🚴♂️', ':man_bowing:': '🙇♂️', ':man_cartwheeling:': '🤸♂️', ':man_climbing:': '🧗♂️', ':man_construction_worker:': '👷♂️', ':man_detective:': '🕵️♂️', ':man_elf:': '🧝♂️', ':man_facepalming:': '🤦♂️', ':man_fairy:': '🧚♂️', ':man_frowning:': '🙍♂️', ':man_genie:': '🧞♂️', ':man_gesturing_no:': '🙅♂️', ':man_gesturing_ok:': '🙆♂️', ':man_getting_face_massage:': '💆♂️', ':man_getting_haircut:': '💇♂️', ':man_golfing:': '🏌️♂️', ':man_guard:': '💂♂️', ':man_health_worker:': '👨⚕️', ':man_in_lotus_position:': '🧘♂️', ':man_in_steamy_room:': '🧖♂️', ':man_judge:': '👨⚖️', ':man_juggling:': '🤹♂️', ':man_kneeling:': '🧎♂️', ':man_lifting_weights:': '🏋️♂️', ':man_mage:': '🧙♂️', ':man_mountain_biking:': '🚵♂️', ':man_pilot:': '👨✈️', ':man_playing_handball:': '🤾♂️', ':man_playing_water_polo:': '🤽♂️', ':man_police_officer:': '👮♂️', ':man_pouting:': '🙎♂️', ':man_raising_hand:': '🙋♂️', ':man_rowing_boat:': '🚣♂️', ':man_running:': '🏃♂️', ':man_shrugging:': '🤷♂️', ':man_standing:': '🧍♂️', ':man_superhero:': '🦸♂️', ':man_supervillain:': '🦹♂️', ':man_surfing:': '🏄♂️', ':man_swimming:': '🏊♂️', ':man_tipping_hand:': '💁♂️', ':man_vampire:': '🧛♂️', ':man_walking:': '🚶♂️', ':man_wearing_turban:': '👳♂️', ':man_zombie:': '🧟♂️', ':men_with_bunny_ears_partying:': '👯♂️', ':men_wrestling:': '🤼♂️', ':mermaid:': '🧜♀️', ':merman:': '🧜♂️', ':basketball_player_tone1:': '⛹️🏻', ':person_with_ball_tone1:': '⛹️🏻', ':person_bouncing_ball_tone1:': '⛹️🏻', ':basketball_player_tone2:': '⛹️🏼', ':person_with_ball_tone2:': '⛹️🏼', ':person_bouncing_ball_tone2:': '⛹️🏼', ':basketball_player_tone3:': '⛹️🏽', ':person_with_ball_tone3:': '⛹️🏽', ':person_bouncing_ball_tone3:': '⛹️🏽', ':basketball_player_tone4:': '⛹️🏾', ':person_with_ball_tone4:': '⛹️🏾', ':person_bouncing_ball_tone4:': '⛹️🏾', ':basketball_player_tone5:': '⛹️🏿', ':person_with_ball_tone5:': '⛹️🏿', ':person_bouncing_ball_tone5:': '⛹️🏿', ':pirate_flag:': '🏴☠️', ':point_up_tone1:': '☝️🏻', ':point_up_tone2:': '☝️🏼', ':point_up_tone3:': '☝️🏽', ':point_up_tone4:': '☝️🏾', ':point_up_tone5:': '☝️🏿', ':raised_hand_tone1:': '✋🏻', ':raised_hand_tone2:': '✋🏼', ':raised_hand_tone3:': '✋🏽', ':raised_hand_tone4:': '✋🏾', ':raised_hand_tone5:': '✋🏿', ':v_tone1:': '✌️🏻', ':v_tone2:': '✌️🏼', ':v_tone3:': '✌️🏽', ':v_tone4:': '✌️🏾', ':v_tone5:': '✌️🏿', ':woman_biking:': '🚴♀️', ':woman_bowing:': '🙇♀️', ':woman_cartwheeling:': '🤸♀️', ':woman_climbing:': '🧗♀️', ':woman_construction_worker:': '👷♀️', ':woman_detective:': '🕵️♀️', ':woman_elf:': '🧝♀️', ':woman_facepalming:': '🤦♀️', ':woman_fairy:': '🧚♀️', ':woman_frowning:': '🙍♀️', ':woman_genie:': '🧞♀️', ':woman_gesturing_no:': '🙅♀️', ':woman_gesturing_ok:': '🙆♀️', ':woman_getting_face_massage:': '💆♀️', ':woman_getting_haircut:': '💇♀️', ':woman_golfing:': '🏌️♀️', ':woman_guard:': '💂♀️', ':woman_health_worker:': '👩⚕️', ':woman_in_lotus_position:': '🧘♀️', ':woman_in_steamy_room:': '🧖♀️', ':woman_judge:': '👩⚖️', ':woman_juggling:': '🤹♀️', ':woman_kneeling:': '🧎♀️', ':woman_lifting_weights:': '🏋️♀️', ':woman_mage:': '🧙♀️', ':woman_mountain_biking:': '🚵♀️', ':woman_pilot:': '👩✈️', ':woman_playing_handball:': '🤾♀️', ':woman_playing_water_polo:': '🤽♀️', ':woman_police_officer:': '👮♀️', ':woman_pouting:': '🙎♀️', ':woman_raising_hand:': '🙋♀️', ':woman_rowing_boat:': '🚣♀️', ':woman_running:': '🏃♀️', ':woman_shrugging:': '🤷♀️', ':woman_standing:': '🧍♀️', ':woman_superhero:': '🦸♀️', ':woman_supervillain:': '🦹♀️', ':woman_surfing:': '🏄♀️', ':woman_swimming:': '🏊♀️', ':woman_tipping_hand:': '💁♀️', ':woman_vampire:': '🧛♀️', ':woman_walking:': '🚶♀️', ':woman_wearing_turban:': '👳♀️', ':woman_zombie:': '🧟♀️', ':women_with_bunny_ears_partying:': '👯♀️', ':women_wrestling:': '🤼♀️', ':writing_hand_tone1:': '✍️🏻', ':writing_hand_tone2:': '✍️🏼', ':writing_hand_tone3:': '✍️🏽', ':writing_hand_tone4:': '✍️🏾', ':writing_hand_tone5:': '✍️🏿', ':keycap_asterisk:': '*️⃣', ':asterisk:': '*️⃣', ':eight:': '8️⃣', ':five:': '5️⃣', ':four:': '4️⃣', ':hash:': '#️⃣', ':man_bouncing_ball:': '⛹️♂️', ':nine:': '9️⃣', ':one:': '1️⃣', ':seven:': '7️⃣', ':six:': '6️⃣', ':three:': '3️⃣', ':two:': '2️⃣', ':woman_bouncing_ball:': '⛹️♀️', ':zero:': '0️⃣', ':100:': '💯', ':1234:': '🔢', ':8ball:': '🎱', ':a:': '🅰️', ':ab:': '🆎', ':abacus:': '🧮', ':abc:': '🔤', ':abcd:': '🔡', ':accept:': '🉑', ':adhesive_bandage:': '🩹', ':adult:': '🧑', ':aerial_tramway:': '🚡', ':airplane_arriving:': '🛬', ':airplane_departure:': '🛫', ':small_airplane:': '🛩️', ':airplane_small:': '🛩️', ':alien:': '👽', ':ambulance:': '🚑', ':amphora:': '🏺', ':angel:': '👼', ':anger:': '💢', ':right_anger_bubble:': '🗯️', ':anger_right:': '🗯️', ':angry:': '😠', ':anguished:': '😧', ':ant:': '🐜', ':apple:': '🍎', ':arrow_down_small:': '🔽', ':arrow_up_small:': '🔼', ':arrows_clockwise:': '🔃', ':arrows_counterclockwise:': '🔄', ':art:': '🎨', ':articulated_lorry:': '🚛', ':astonished:': '😲', ':athletic_shoe:': '👟', ':atm:': '🏧', ':auto_rickshaw:': '🛺', ':avocado:': '🥑', ':axe:': '🪓', ':b:': '🅱️', ':baby:': '👶', ':baby_bottle:': '🍼', ':baby_chick:': '🐤', ':baby_symbol:': '🚼', ':back:': '🔙', ':bacon:': '🥓', ':badger:': '🦡', ':badminton:': '🏸', ':bagel:': '🥯', ':baggage_claim:': '🛄', ':bald:': '🦲', ':ballet_shoes:': '🩰', ':balloon:': '🎈', ':ballot_box_with_ballot:': '🗳️', ':ballot_box:': '🗳️', ':bamboo:': '🎍', ':banana:': '🍌', ':banjo:': '🪕', ':bank:': '🏦', ':bar_chart:': '📊', ':barber:': '💈', ':basket:': '🧺', ':basketball:': '🏀', ':bat:': '🦇', ':bath:': '🛀', ':bathtub:': '🛁', ':battery:': '🔋', ':beach_with_umbrella:': '🏖️', ':beach:': '🏖️', ':bear:': '🐻', ':bearded_person:': '🧔', ':bed:': '🛏️', ':bee:': '🐝', ':beer:': '🍺', ':beers:': '🍻', ':beetle:': '🐞', ':beginner:': '🔰', ':bell:': '🔔', ':bellhop_bell:': '🛎️', ':bellhop:': '🛎️', ':bento:': '🍱', ':beverage_box:': '🧃', ':bike:': '🚲', ':bikini:': '👙', ':billed_cap:': '🧢', ':bird:': '🐦', ':birthday:': '🎂', ':black_heart:': '🖤', ':black_joker:': '🃏', ':black_square_button:': '🔲', ':person_with_blond_hair:': '👱', ':blond_haired_person:': '👱', ':blossom:': '🌼', ':blowfish:': '🐡', ':blue_book:': '📘', ':blue_car:': '🚙', ':blue_circle:': '🔵', ':blue_heart:': '💙', ':blue_square:': '🟦', ':blush:': '😊', ':boar:': '🐗', ':bomb:': '💣', ':bone:': '🦴', ':book:': '📖', ':bookmark:': '🔖', ':bookmark_tabs:': '📑', ':books:': '📚', ':boom:': '💥', ':boot:': '👢', ':bouquet:': '💐', ':archery:': '🏹', ':bow_and_arrow:': '🏹', ':bowl_with_spoon:': '🥣', ':bowling:': '🎳', ':boxing_gloves:': '🥊', ':boxing_glove:': '🥊', ':boy:': '👦', ':brain:': '🧠', ':bread:': '🍞', ':breast_feeding:': '🤱', ':bricks:': '🧱', ':bride_with_veil:': '👰', ':bridge_at_night:': '🌉', ':briefcase:': '💼', ':briefs:': '🩲', ':broccoli:': '🥦', ':broken_heart:': '💔', ':broom:': '🧹', ':brown_circle:': '🟤', ':brown_heart:': '🤎', ':brown_square:': '🟫', ':bug:': '🐛', ':bulb:': '💡', ':bullettrain_front:': '🚅', ':bullettrain_side:': '🚄', ':burrito:': '🌯', ':bus:': '🚌', ':busstop:': '🚏', ':bust_in_silhouette:': '👤', ':busts_in_silhouette:': '👥', ':butter:': '🧈', ':butterfly:': '🦋', ':cactus:': '🌵', ':cake:': '🍰', ':calendar:': '📆', ':spiral_calendar_pad:': '🗓️', ':calendar_spiral:': '🗓️', ':call_me_hand:': '🤙', ':call_me:': '🤙', ':calling:': '📲', ':camel:': '🐫', ':camera:': '📷', ':camera_with_flash:': '📸', ':camping:': '🏕️', ':candle:': '🕯️', ':candy:': '🍬', ':canned_food:': '🥫', ':kayak:': '🛶', ':canoe:': '🛶', ':capital_abcd:': '🔠', ':card_file_box:': '🗃️', ':card_box:': '🗃️', ':card_index:': '📇', ':carousel_horse:': '🎠', ':carrot:': '🥕', ':cat2:': '🐈', ':cat:': '🐱', ':cd:': '💿', ':chair:': '🪑', ':bottle_with_popping_cork:': '🍾', ':champagne:': '🍾', ':clinking_glass:': '🥂', ':champagne_glass:': '🥂', ':chart:': '💹', ':chart_with_downwards_trend:': '📉', ':chart_with_upwards_trend:': '📈', ':checkered_flag:': '🏁', ':cheese_wedge:': '🧀', ':cheese:': '🧀', ':cherries:': '🍒', ':cherry_blossom:': '🌸', ':chestnut:': '🌰', ':chicken:': '🐔', ':child:': '🧒', ':children_crossing:': '🚸', ':chipmunk:': '🐿️', ':chocolate_bar:': '🍫', ':chopsticks:': '🥢', ':christmas_tree:': '🎄', ':cinema:': '🎦', ':circus_tent:': '🎪', ':city_dusk:': '🌆', ':city_sunrise:': '🌇', ':city_sunset:': '🌇', ':cityscape:': '🏙️', ':cl:': '🆑', ':clap:': '👏', ':clapper:': '🎬', ':classical_building:': '🏛️', ':clipboard:': '📋', ':clock1030:': '🕥', ':clock10:': '🕙', ':clock1130:': '🕦', ':clock11:': '🕚', ':clock1230:': '🕧', ':clock12:': '🕛', ':clock130:': '🕜', ':clock1:': '🕐', ':clock230:': '🕝', ':clock2:': '🕑', ':clock330:': '🕞', ':clock3:': '🕒', ':clock430:': '🕟', ':clock4:': '🕓', ':clock530:': '🕠', ':clock5:': '🕔', ':clock630:': '🕡', ':clock6:': '🕕', ':clock730:': '🕢', ':clock7:': '🕖', ':clock830:': '🕣', ':clock8:': '🕗', ':clock930:': '🕤', ':clock9:': '🕘', ':mantlepiece_clock:': '🕰️', ':clock:': '🕰️', ':closed_book:': '📕', ':closed_lock_with_key:': '🔐', ':closed_umbrella:': '🌂', ':cloud_with_lightning:': '🌩️', ':cloud_lightning:': '🌩️', ':cloud_with_rain:': '🌧️', ':cloud_rain:': '🌧️', ':cloud_with_snow:': '🌨️', ':cloud_snow:': '🌨️', ':cloud_with_tornado:': '🌪️', ':cloud_tornado:': '🌪️', ':clown_face:': '🤡', ':clown:': '🤡', ':coat:': '🧥', ':cocktail:': '🍸', ':coconut:': '🥥', ':cold_face:': '🥶', ':cold_sweat:': '😰', ':compass:': '🧭', ':compression:': '🗜️', ':computer:': '💻', ':confetti_ball:': '🎊', ':confounded:': '😖', ':confused:': '😕', ':construction:': '🚧', ':building_construction:': '🏗️', ':construction_site:': '🏗️', ':construction_worker:': '👷', ':control_knobs:': '🎛️', ':convenience_store:': '🏪', ':cookie:': '🍪', ':cooking:': '🍳', ':cool:': '🆒', ':corn:': '🌽', ':couch_and_lamp:': '🛋️', ':couch:': '🛋️', ':couple:': '👫', ':couple_with_heart:': '💑', ':couplekiss:': '💏', ':cow2:': '🐄', ':cow:': '🐮', ':face_with_cowboy_hat:': '🤠', ':cowboy:': '🤠', ':crab:': '🦀', ':lower_left_crayon:': '🖍️', ':crayon:': '🖍️', ':credit_card:': '💳', ':crescent_moon:': '🌙', ':cricket:': '🦗', ':cricket_bat_ball:': '🏏', ':cricket_game:': '🏏', ':crocodile:': '🐊', ':croissant:': '🥐', ':crossed_flags:': '🎌', ':crown:': '👑', ':passenger_ship:': '🛳️', ':cruise_ship:': '🛳️', ':cry:': '😢', ':crying_cat_face:': '😿', ':crystal_ball:': '🔮', ':cucumber:': '🥒', ':cup_with_straw:': '🥤', ':cupcake:': '🧁', ':cupid:': '💘', ':curling_stone:': '🥌', ':curly_haired:': '🦱', ':currency_exchange:': '💱', ':curry:': '🍛', ':pudding:': '🍮', ':flan:': '🍮', ':custard:': '🍮', ':customs:': '🛃', ':cut_of_meat:': '🥩', ':cyclone:': '🌀', ':dagger_knife:': '🗡️', ':dagger:': '🗡️', ':dancer:': '💃', ':dango:': '🍡', ':dark_sunglasses:': '🕶️', ':dart:': '🎯', ':dash:': '💨', ':date:': '📅', ':deaf_person:': '🧏', ':deciduous_tree:': '🌳', ':deer:': '🦌', ':department_store:': '🏬', ':desert:': '🏜️', ':desktop_computer:': '🖥️', ':desktop:': '🖥️', ':spy:': '🕵️', ':sleuth_or_spy:': '🕵️', ':detective:': '🕵️', ':diamond_shape_with_a_dot_inside:': '💠', ':disappointed:': '😞', ':disappointed_relieved:': '😥', ':card_index_dividers:': '🗂️', ':dividers:': '🗂️', ':diving_mask:': '🤿', ':diya_lamp:': '🪔', ':dizzy:': '💫', ':dizzy_face:': '😵', ':dna:': '🧬', ':do_not_litter:': '🚯', ':dog2:': '🐕', ':dog:': '🐶', ':dollar:': '💵', ':dolls:': '🎎', ':dolphin:': '🐬', ':door:': '🚪', ':doughnut:': '🍩', ':dove_of_peace:': '🕊️', ':dove:': '🕊️', ':dragon:': '🐉', ':dragon_face:': '🐲', ':dress:': '👗', ':dromedary_camel:': '🐪', ':drool:': '🤤', ':drooling_face:': '🤤', ':drop_of_blood:': '🩸', ':droplet:': '💧', ':drum_with_drumsticks:': '🥁', ':drum:': '🥁', ':duck:': '🦆', ':dumpling:': '🥟', ':dvd:': '📀', ':email:': '📧', ':e-mail:': '📧', ':eagle:': '🦅', ':ear:': '👂', ':ear_of_rice:': '🌾', ':ear_with_hearing_aid:': '🦻', ':earth_africa:': '🌍', ':earth_americas:': '🌎', ':earth_asia:': '🌏', ':egg:': '🥚', ':eggplant:': '🍆', ':electric_plug:': '🔌', ':elephant:': '🐘', ':elf:': '🧝', ':end:': '🔚', ':envelope_with_arrow:': '📩', ':euro:': '💶', ':european_castle:': '🏰', ':european_post_office:': '🏤', ':evergreen_tree:': '🌲', ':exploding_head:': '🤯', ':expressionless:': '😑', ':eye:': '👁️', ':eyeglasses:': '👓', ':eyes:': '👀', ':face_vomiting:': '🤮', ':face_with_hand_over_mouth:': '🤭', ':face_with_monocle:': '🧐', ':face_with_raised_eyebrow:': '🤨', ':face_with_symbols_over_mouth:': '🤬', ':factory:': '🏭', ':fairy:': '🧚', ':falafel:': '🧆', ':fallen_leaf:': '🍂', ':family:': '👪', ':fax:': '📠', ':fearful:': '😨', ':paw_prints:': '🐾', ':feet:': '🐾', ':ferris_wheel:': '🎡', ':field_hockey:': '🏑', ':file_cabinet:': '🗄️', ':file_folder:': '📁', ':film_frames:': '🎞️', ':hand_with_index_and_middle_finger_crossed:': '🤞', ':fingers_crossed:': '🤞', ':flame:': '🔥', ':fire:': '🔥', ':fire_engine:': '🚒', ':fire_extinguisher:': '🧯', ':firecracker:': '🧨', ':fireworks:': '🎆', ':first_place_medal:': '🥇', ':first_place:': '🥇', ':first_quarter_moon:': '🌓', ':first_quarter_moon_with_face:': '🌛', ':fish:': '🐟', ':fish_cake:': '🍥', ':fishing_pole_and_fish:': '🎣', ':waving_black_flag:': '🏴', ':flag_black:': '🏴', ':waving_white_flag:': '🏳️', ':flag_white:': '🏳️', ':flags:': '🎏', ':flamingo:': '🦩', ':flashlight:': '🔦', ':floppy_disk:': '💾', ':flower_playing_cards:': '🎴', ':flushed:': '😳', ':flying_disc:': '🥏', ':flying_saucer:': '🛸', ':fog:': '🌫️', ':foggy:': '🌁', ':foot:': '🦶', ':football:': '🏈', ':footprints:': '👣', ':fork_and_knife:': '🍴', ':fork_and_knife_with_plate:': '🍽️', ':fork_knife_plate:': '🍽️', ':fortune_cookie:': '🥠', ':four_leaf_clover:': '🍀', ':fox_face:': '🦊', ':fox:': '🦊', ':frame_with_picture:': '🖼️', ':frame_photo:': '🖼️', ':free:': '🆓', ':baguette_bread:': '🥖', ':french_bread:': '🥖', ':fried_shrimp:': '🍤', ':fries:': '🍟', ':frog:': '🐸', ':frowning:': '😦', ':full_moon:': '🌕', ':full_moon_with_face:': '🌝', ':game_die:': '🎲', ':garlic:': '🧄', ':gem:': '💎', ':genie:': '🧞', ':ghost:': '👻', ':gift:': '🎁', ':gift_heart:': '💝', ':giraffe:': '🦒', ':girl:': '👧', ':globe_with_meridians:': '🌐', ':gloves:': '🧤', ':goal_net:': '🥅', ':goal:': '🥅', ':goat:': '🐐', ':goggles:': '🥽', ':gorilla:': '🦍', ':grapes:': '🍇', ':green_apple:': '🍏', ':green_book:': '📗', ':green_circle:': '🟢', ':green_heart:': '💚', ':green_square:': '🟩', ':grimacing:': '😬', ':grin:': '😁', ':grinning:': '😀', ':guardsman:': '💂', ':guard:': '💂', ':guide_dog:': '🦮', ':guitar:': '🎸', ':gun:': '🔫', ':hamburger:': '🍔', ':hammer:': '🔨', ':hamster:': '🐹', ':raised_hand_with_fingers_splayed:': '🖐️', ':hand_splayed:': '🖐️', ':handbag:': '👜', ':shaking_hands:': '🤝', ':handshake:': '🤝', ':hatched_chick:': '🐥', ':hatching_chick:': '🐣', ':face_with_head_bandage:': '🤕', ':head_bandage:': '🤕', ':headphones:': '🎧', ':hear_no_evil:': '🙉', ':heart_decoration:': '💟', ':heart_eyes:': '😍', ':heart_eyes_cat:': '😻', ':heartbeat:': '💓', ':heartpulse:': '💗', ':heavy_dollar_sign:': '💲', ':hedgehog:': '🦔', ':helicopter:': '🚁', ':herb:': '🌿', ':hibiscus:': '🌺', ':high_brightness:': '🔆', ':high_heel:': '👠', ':hiking_boot:': '🥾', ':hindu_temple:': '🛕', ':hippopotamus:': '🦛', ':hockey:': '🏒', ':hole:': '🕳️', ':house_buildings:': '🏘️', ':homes:': '🏘️', ':honey_pot:': '🍯', ':horse:': '🐴', ':horse_racing:': '🏇', ':hospital:': '🏥', ':hot_face:': '🥵', ':hot_pepper:': '🌶️', ':hot_dog:': '🌭', ':hotdog:': '🌭', ':hotel:': '🏨', ':house:': '🏠', ':derelict_house_building:': '🏚️', ':house_abandoned:': '🏚️', ':house_with_garden:': '🏡', ':hugging_face:': '🤗', ':hugging:': '🤗', ':hushed:': '😯', ':ice_cream:': '🍨', ':ice_cube:': '🧊', ':icecream:': '🍦', ':id:': '🆔', ':ideograph_advantage:': '🉐', ':imp:': '👿', ':inbox_tray:': '📥', ':incoming_envelope:': '📨', ':innocent:': '😇', ':iphone:': '📱', ':desert_island:': '🏝️', ':island:': '🏝️', ':izakaya_lantern:': '🏮', ':jack_o_lantern:': '🎃', ':japan:': '🗾', ':japanese_castle:': '🏯', ':japanese_goblin:': '👺', ':japanese_ogre:': '👹', ':jeans:': '👖', ':jigsaw:': '🧩', ':joy:': '😂', ':joy_cat:': '😹', ':joystick:': '🕹️', ':kaaba:': '🕋', ':kangaroo:': '🦘', ':old_key:': '🗝️', ':key2:': '🗝️', ':key:': '🔑', ':keycap_ten:': '🔟', ':kimono:': '👘', ':kiss:': '💋', ':kissing:': '😗', ':kissing_cat:': '😽', ':kissing_closed_eyes:': '😚', ':kissing_heart:': '😘', ':kissing_smiling_eyes:': '😙', ':kite:': '🪁', ':kiwifruit:': '🥝', ':kiwi:': '🥝', ':knife:': '🔪', ':koala:': '🐨', ':koko:': '🈁', ':lab_coat:': '🥼', ':label:': '🏷️', ':lacrosse:': '🥍', ':large_blue_diamond:': '🔷', ':large_orange_diamond:': '🔶', ':last_quarter_moon:': '🌗', ':last_quarter_moon_with_face:': '🌜', ':satisfied:': '😆', ':laughing:': '😆', ':leafy_green:': '🥬', ':leaves:': '🍃', ':ledger:': '📒', ':left_fist:': '🤛', ':left_facing_fist:': '🤛', ':left_luggage:': '🛅', ':leg:': '🦵', ':lemon:': '🍋', ':leopard:': '🐆', ':level_slider:': '🎚️', ':man_in_business_suit_levitating:': '🕴️', ':levitate:': '🕴️', ':light_rail:': '🚈', ':link:': '🔗', ':lion:': '🦁', ':lion_face:': '🦁', ':lips:': '👄', ':lipstick:': '💄', ':lizard:': '🦎', ':llama:': '🦙', ':lobster:': '🦞', ':lock:': '🔒', ':lock_with_ink_pen:': '🔏', ':lollipop:': '🍭', ':loud_sound:': '🔊', ':loudspeaker:': '📢', ':love_hotel:': '🏩', ':love_letter:': '💌', ':love_you_gesture:': '🤟', ':low_brightness:': '🔅', ':luggage:': '🧳', ':liar:': '🤥', ':lying_face:': '🤥', ':mag:': '🔍', ':mag_right:': '🔎', ':mage:': '🧙', ':magnet:': '🧲', ':mahjong:': '🀄', ':mailbox:': '📫', ':mailbox_closed:': '📪', ':mailbox_with_mail:': '📬', ':mailbox_with_no_mail:': '📭', ':man:': '👨', ':male_dancer:': '🕺', ':man_dancing:': '🕺', ':man_in_tuxedo:': '🤵', ':man_with_gua_pi_mao:': '👲', ':man_with_chinese_cap:': '👲', ':mango:': '🥭', ':mans_shoe:': '👞', ':manual_wheelchair:': '🦽', ':world_map:': '🗺️', ':map:': '🗺️', ':maple_leaf:': '🍁', ':karate_uniform:': '🥋', ':martial_arts_uniform:': '🥋', ':mask:': '😷', ':mate:': '🧉', ':meat_on_bone:': '🍖', ':mechanical_arm:': '🦾', ':mechanical_leg:': '🦿', ':sports_medal:': '🏅', ':medal:': '🏅', ':mega:': '📣', ':melon:': '🍈', ':menorah:': '🕎', ':mens:': '🚹', ':merperson:': '🧜', ':sign_of_the_horns:': '🤘', ':metal:': '🤘', ':metro:': '🚇', ':microbe:': '🦠', ':studio_microphone:': '🎙️', ':microphone2:': '🎙️', ':microphone:': '🎤', ':microscope:': '🔬', ':reversed_hand_with_middle_finger_extended:': '🖕', ':middle_finger:': '🖕', ':military_medal:': '🎖️', ':glass_of_milk:': '🥛', ':milk:': '🥛', ':milky_way:': '🌌', ':minibus:': '🚐', ':minidisc:': '💽', ':mobile_phone_off:': '📴', ':money_mouth_face:': '🤑', ':money_mouth:': '🤑', ':money_with_wings:': '💸', ':moneybag:': '💰', ':monkey:': '🐒', ':monkey_face:': '🐵', ':monorail:': '🚝', ':moon_cake:': '🥮', ':mortar_board:': '🎓', ':mosque:': '🕌', ':mosquito:': '🦟', ':motorbike:': '🛵', ':motor_scooter:': '🛵', ':motorboat:': '🛥️', ':racing_motorcycle:': '🏍️', ':motorcycle:': '🏍️', ':motorized_wheelchair:': '🦼', ':motorway:': '🛣️', ':mount_fuji:': '🗻', ':mountain_cableway:': '🚠', ':mountain_railway:': '🚞', ':snow_capped_mountain:': '🏔️', ':mountain_snow:': '🏔️', ':mouse2:': '🐁', ':mouse:': '🐭', ':three_button_mouse:': '🖱️', ':mouse_three_button:': '🖱️', ':movie_camera:': '🎥', ':moyai:': '🗿', ':mother_christmas:': '🤶', ':mrs_claus:': '🤶', ':muscle:': '💪', ':mushroom:': '🍄', ':musical_keyboard:': '🎹', ':musical_note:': '🎵', ':musical_score:': '🎼', ':mute:': '🔇', ':nail_care:': '💅', ':name_badge:': '📛', ':sick:': '🤢', ':nauseated_face:': '🤢', ':nazar_amulet:': '🧿', ':necktie:': '👔', ':nerd_face:': '🤓', ':nerd:': '🤓', ':neutral_face:': '😐', ':new:': '🆕', ':new_moon:': '🌑', ':new_moon_with_face:': '🌚', ':rolled_up_newspaper:': '🗞️', ':newspaper2:': '🗞️', ':newspaper:': '📰', ':ng:': '🆖', ':night_with_stars:': '🌃', ':no_bell:': '🔕', ':no_bicycles:': '🚳', ':no_entry_sign:': '🚫', ':no_mobile_phones:': '📵', ':no_mouth:': '😶', ':no_pedestrians:': '🚷', ':no_smoking:': '🚭', ':non-potable_water:': '🚱', ':nose:': '👃', ':notebook:': '📓', ':notebook_with_decorative_cover:': '📔', ':spiral_note_pad:': '🗒️', ':notepad_spiral:': '🗒️', ':notes:': '🎶', ':nut_and_bolt:': '🔩', ':o2:': '🅾️', ':ocean:': '🌊', ':stop_sign:': '🛑', ':octagonal_sign:': '🛑', ':octopus:': '🐙', ':oden:': '🍢', ':office:': '🏢', ':oil_drum:': '🛢️', ':oil:': '🛢️', ':ok:': '🆗', ':ok_hand:': '👌', ':older_adult:': '🧓', ':older_man:': '👴', ':grandma:': '👵', ':older_woman:': '👵', ':om_symbol:': '🕉️', ':on:': '🔛', ':oncoming_automobile:': '🚘', ':oncoming_bus:': '🚍', ':oncoming_police_car:': '🚔', ':oncoming_taxi:': '🚖', ':one_piece_swimsuit:': '🩱', ':onion:': '🧅', ':open_file_folder:': '📂', ':open_hands:': '👐', ':open_mouth:': '😮', ':orange_book:': '📙', ':orange_circle:': '🟠', ':orange_heart:': '🧡', ':orange_square:': '🟧', ':orangutan:': '🦧', ':otter:': '🦦', ':outbox_tray:': '📤', ':owl:': '🦉', ':ox:': '🐂', ':oyster:': '🦪', ':package:': '📦', ':page_facing_up:': '📄', ':page_with_curl:': '📃', ':pager:': '📟', ':lower_left_paintbrush:': '🖌️', ':paintbrush:': '🖌️', ':palm_tree:': '🌴', ':palms_up_together:': '🤲', ':pancakes:': '🥞', ':panda_face:': '🐼', ':paperclip:': '📎', ':linked_paperclips:': '🖇️', ':paperclips:': '🖇️', ':parachute:': '🪂', ':national_park:': '🏞️', ':park:': '🏞️', ':parking:': '🅿️', ':parrot:': '🦜', ':partying_face:': '🥳', ':passport_control:': '🛂', ':peach:': '🍑', ':peacock:': '🦚', ':shelled_peanut:': '🥜', ':peanuts:': '🥜', ':pear:': '🍐', ':lower_left_ballpoint_pen:': '🖊️', ':pen_ballpoint:': '🖊️', ':lower_left_fountain_pen:': '🖋️', ':pen_fountain:': '🖋️', ':memo:': '📝', ':pencil:': '📝', ':penguin:': '🐧', ':pensive:': '😔', ':dancers:': '👯', ':people_with_bunny_ears_partying:': '👯', ':wrestlers:': '🤼', ':wrestling:': '🤼', ':people_wrestling:': '🤼', ':performing_arts:': '🎭', ':persevere:': '😣', ':bicyclist:': '🚴', ':person_biking:': '🚴', ':bow:': '🙇', ':person_bowing:': '🙇', ':person_climbing:': '🧗', ':cartwheel:': '🤸', ':person_doing_cartwheel:': '🤸', ':face_palm:': '🤦', ':facepalm:': '🤦', ':person_facepalming:': '🤦', ':fencer:': '🤺', ':fencing:': '🤺', ':person_fencing:': '🤺', ':person_frowning:': '🙍', ':no_good:': '🙅', ':person_gesturing_no:': '🙅', ':ok_woman:': '🙆', ':person_gesturing_ok:': '🙆', ':haircut:': '💇', ':person_getting_haircut:': '💇', ':massage:': '💆', ':person_getting_massage:': '💆', ':golfer:': '🏌️', ':person_golfing:': '🏌️', ':person_in_lotus_position:': '🧘', ':person_in_steamy_room:': '🧖', ':juggling:': '🤹', ':juggler:': '🤹', ':person_juggling:': '🤹', ':person_kneeling:': '🧎', ':lifter:': '🏋️', ':weight_lifter:': '🏋️', ':person_lifting_weights:': '🏋️', ':mountain_bicyclist:': '🚵', ':person_mountain_biking:': '🚵', ':handball:': '🤾', ':person_playing_handball:': '🤾', ':water_polo:': '🤽', ':person_playing_water_polo:': '🤽', ':person_with_pouting_face:': '🙎', ':person_pouting:': '🙎', ':raising_hand:': '🙋', ':person_raising_hand:': '🙋', ':rowboat:': '🚣', ':person_rowing_boat:': '🚣', ':runner:': '🏃', ':person_running:': '🏃', ':shrug:': '🤷', ':person_shrugging:': '🤷', ':person_standing:': '🧍', ':surfer:': '🏄', ':person_surfing:': '🏄', ':swimmer:': '🏊', ':person_swimming:': '🏊', ':information_desk_person:': '💁', ':person_tipping_hand:': '💁', ':walking:': '🚶', ':person_walking:': '🚶', ':man_with_turban:': '👳', ':person_wearing_turban:': '👳', ':petri_dish:': '🧫', ':pie:': '🥧', ':pig2:': '🐖', ':pig:': '🐷', ':pig_nose:': '🐽', ':pill:': '💊', ':pinching_hand:': '🤏', ':pineapple:': '🍍', ':table_tennis:': '🏓', ':ping_pong:': '🏓', ':pizza:': '🍕', ':worship_symbol:': '🛐', ':place_of_worship:': '🛐', ':pleading_face:': '🥺', ':point_down:': '👇', ':point_left:': '👈', ':point_right:': '👉', ':point_up_2:': '👆', ':police_car:': '🚓', ':cop:': '👮', ':police_officer:': '👮', ':poodle:': '🐩', ':shit:': '💩', ':hankey:': '💩', ':poo:': '💩', ':poop:': '💩', ':popcorn:': '🍿', ':post_office:': '🏣', ':postal_horn:': '📯', ':postbox:': '📮', ':potable_water:': '🚰', ':potato:': '🥔', ':pouch:': '👝', ':poultry_leg:': '🍗', ':pound:': '💷', ':pouting_cat:': '😾', ':pray:': '🙏', ':prayer_beads:': '📿', ':expecting_woman:': '🤰', ':pregnant_woman:': '🤰', ':pretzel:': '🥨', ':prince:': '🤴', ':princess:': '👸', ':printer:': '🖨️', ':probing_cane:': '🦯', ':film_projector:': '📽️', ':projector:': '📽️', ':punch:': '👊', ':purple_circle:': '🟣', ':purple_heart:': '💜', ':purple_square:': '🟪', ':purse:': '👛', ':pushpin:': '📌', ':put_litter_in_its_place:': '🚮', ':rabbit2:': '🐇', ':rabbit:': '🐰', ':raccoon:': '🦝', ':racing_car:': '🏎️', ':race_car:': '🏎️', ':racehorse:': '🐎', ':radio:': '📻', ':radio_button:': '🔘', ':rage:': '😡', ':railway_car:': '🚃', ':railroad_track:': '🛤️', ':railway_track:': '🛤️', ':rainbow:': '🌈', ':back_of_hand:': '🤚', ':raised_back_of_hand:': '🤚', ':raised_hands:': '🙌', ':ram:': '🐏', ':ramen:': '🍜', ':rat:': '🐀', ':razor:': '🪒', ':receipt:': '🧾', ':red_car:': '🚗', ':red_circle:': '🔴', ':red_envelope:': '🧧', ':red_haired:': '🦰', ':red_square:': '🟥', ':regional_indicator_a:': '🇦', ':regional_indicator_b:': '🇧', ':regional_indicator_c:': '🇨', ':regional_indicator_d:': '🇩', ':regional_indicator_e:': '🇪', ':regional_indicator_f:': '🇫', ':regional_indicator_g:': '🇬', ':regional_indicator_h:': '🇭', ':regional_indicator_i:': '🇮', ':regional_indicator_j:': '🇯', ':regional_indicator_k:': '🇰', ':regional_indicator_l:': '🇱', ':regional_indicator_m:': '🇲', ':regional_indicator_n:': '🇳', ':regional_indicator_o:': '🇴', ':regional_indicator_p:': '🇵', ':regional_indicator_q:': '🇶', ':regional_indicator_r:': '🇷', ':regional_indicator_s:': '🇸', ':regional_indicator_t:': '🇹', ':regional_indicator_u:': '🇺', ':regional_indicator_v:': '🇻', ':regional_indicator_w:': '🇼', ':regional_indicator_x:': '🇽', ':regional_indicator_y:': '🇾', ':regional_indicator_z:': '🇿', ':relieved:': '😌', ':reminder_ribbon:': '🎗️', ':repeat:': '🔁', ':repeat_one:': '🔂', ':restroom:': '🚻', ':revolving_hearts:': '💞', ':rhinoceros:': '🦏', ':rhino:': '🦏', ':ribbon:': '🎀', ':rice:': '🍚', ':rice_ball:': '🍙', ':rice_cracker:': '🍘', ':rice_scene:': '🎑', ':right_fist:': '🤜', ':right_facing_fist:': '🤜', ':ring:': '💍', ':ringed_planet:': '🪐', ':robot_face:': '🤖', ':robot:': '🤖', ':rocket:': '🚀', ':rolling_on_the_floor_laughing:': '🤣', ':rofl:': '🤣', ':roll_of_paper:': '🧻', ':roller_coaster:': '🎢', ':face_with_rolling_eyes:': '🙄', ':rolling_eyes:': '🙄', ':rooster:': '🐓', ':rose:': '🌹', ':rosette:': '🏵️', ':rotating_light:': '🚨', ':round_pushpin:': '📍', ':rugby_football:': '🏉', ':running_shirt_with_sash:': '🎽', ':sa:': '🈂️', ':safety_pin:': '🧷', ':safety_vest:': '🦺', ':sake:': '🍶', ':green_salad:': '🥗', ':salad:': '🥗', ':salt:': '🧂', ':sandal:': '👡', ':sandwich:': '🥪', ':santa:': '🎅', ':sari:': '🥻', ':satellite:': '📡', ':satellite_orbital:': '🛰️', ':sauropod:': '🦕', ':saxophone:': '🎷', ':scarf:': '🧣', ':school:': '🏫', ':school_satchel:': '🎒', ':scooter:': '🛴', ':scorpion:': '🦂', ':scream:': '😱', ':scream_cat:': '🙀', ':scroll:': '📜', ':seat:': '💺', ':second_place_medal:': '🥈', ':second_place:': '🥈', ':see_no_evil:': '🙈', ':seedling:': '🌱', ':selfie:': '🤳', ':paella:': '🥘', ':shallow_pan_of_food:': '🥘', ':shark:': '🦈', ':shaved_ice:': '🍧', ':sheep:': '🐑', ':shell:': '🐚', ':shield:': '🛡️', ':ship:': '🚢', ':shirt:': '👕', ':shopping_bags:': '🛍️', ':shopping_trolley:': '🛒', ':shopping_cart:': '🛒', ':shorts:': '🩳', ':shower:': '🚿', ':shrimp:': '🦐', ':shushing_face:': '🤫', ':signal_strength:': '📶', ':six_pointed_star:': '🔯', ':skateboard:': '🛹', ':ski:': '🎿', ':skeleton:': '💀', ':skull:': '💀', ':skunk:': '🦨', ':sled:': '🛷', ':sleeping:': '😴', ':sleeping_accommodation:': '🛌', ':sleepy:': '😪', ':slightly_frowning_face:': '🙁', ':slight_frown:': '🙁', ':slightly_smiling_face:': '🙂', ':slight_smile:': '🙂', ':slot_machine:': '🎰', ':sloth:': '🦥', ':small_blue_diamond:': '🔹', ':small_orange_diamond:': '🔸', ':small_red_triangle:': '🔺', ':small_red_triangle_down:': '🔻', ':smile:': '😄', ':smile_cat:': '😸', ':smiley:': '😃', ':smiley_cat:': '😺', ':smiling_face_with_3_hearts:': '🥰', ':smiling_imp:': '😈', ':smirk:': '😏', ':smirk_cat:': '😼', ':smoking:': '🚬', ':snail:': '🐌', ':snake:': '🐍', ':sneeze:': '🤧', ':sneezing_face:': '🤧', ':snowboarder:': '🏂', ':soap:': '🧼', ':sob:': '😭', ':socks:': '🧦', ':softball:': '🥎', ':soon:': '🔜', ':sos:': '🆘', ':sound:': '🔉', ':space_invader:': '👾', ':spaghetti:': '🍝', ':sparkler:': '🎇', ':sparkling_heart:': '💖', ':speak_no_evil:': '🙊', ':speaker:': '🔈', ':speaking_head_in_silhouette:': '🗣️', ':speaking_head:': '🗣️', ':speech_balloon:': '💬', ':left_speech_bubble:': '🗨️', ':speech_left:': '🗨️', ':speedboat:': '🚤', ':spider:': '🕷️', ':spider_web:': '🕸️', ':sponge:': '🧽', ':spoon:': '🥄', ':squeeze_bottle:': '🧴', ':squid:': '🦑', ':stadium:': '🏟️', ':star2:': '🌟', ':star_struck:': '🤩', ':stars:': '🌠', ':station:': '🚉', ':statue_of_liberty:': '🗽', ':steam_locomotive:': '🚂', ':stethoscope:': '🩺', ':stew:': '🍲', ':straight_ruler:': '📏', ':strawberry:': '🍓', ':stuck_out_tongue:': '😛', ':stuck_out_tongue_closed_eyes:': '😝', ':stuck_out_tongue_winking_eye:': '😜', ':stuffed_pita:': '🥙', ':stuffed_flatbread:': '🥙', ':sun_with_face:': '🌞', ':sunflower:': '🌻', ':sunglasses:': '😎', ':sunrise:': '🌅', ':sunrise_over_mountains:': '🌄', ':superhero:': '🦸', ':supervillain:': '🦹', ':sushi:': '🍣', ':suspension_railway:': '🚟', ':swan:': '🦢', ':sweat:': '😓', ':sweat_drops:': '💦', ':sweat_smile:': '😅', ':sweet_potato:': '🍠', ':symbols:': '🔣', ':synagogue:': '🕍', ':syringe:': '💉', ':t_rex:': '🦖', ':taco:': '🌮', ':tada:': '🎉', ':takeout_box:': '🥡', ':tanabata_tree:': '🎋', ':tangerine:': '🍊', ':taxi:': '🚕', ':tea:': '🍵', ':teddy_bear:': '🧸', ':telephone_receiver:': '📞', ':telescope:': '🔭', ':tennis:': '🎾', ':test_tube:': '🧪', ':thermometer:': '🌡️', ':face_with_thermometer:': '🤒', ':thermometer_face:': '🤒', ':thinking_face:': '🤔', ':thinking:': '🤔', ':third_place_medal:': '🥉', ':third_place:': '🥉', ':thought_balloon:': '💭', ':thread:': '🧵', ':-1:': '👎', ':thumbdown:': '👎', ':thumbsdown:': '👎', ':+1:': '👍', ':thumbup:': '👍', ':thumbsup:': '👍', ':ticket:': '🎫', ':admission_tickets:': '🎟️', ':tickets:': '🎟️', ':tiger2:': '🐅', ':tiger:': '🐯', ':tired_face:': '😫', ':toilet:': '🚽', ':tokyo_tower:': '🗼', ':tomato:': '🍅', ':tone1:': '🏻', ':tone2:': '🏼', ':tone3:': '🏽', ':tone4:': '🏾', ':tone5:': '🏿', ':tongue:': '👅', ':toolbox:': '🧰', ':hammer_and_wrench:': '🛠️', ':tools:': '🛠️', ':tooth:': '🦷', ':top:': '🔝', ':tophat:': '🎩', ':trackball:': '🖲️', ':tractor:': '🚜', ':traffic_light:': '🚥', ':train2:': '🚆', ':train:': '🚋', ':tram:': '🚊', ':triangular_flag_on_post:': '🚩', ':triangular_ruler:': '📐', ':trident:': '🔱', ':triumph:': '😤', ':trolleybus:': '🚎', ':trophy:': '🏆', ':tropical_drink:': '🍹', ':tropical_fish:': '🐠', ':truck:': '🚚', ':trumpet:': '🎺', ':tulip:': '🌷', ':whisky:': '🥃', ':tumbler_glass:': '🥃', ':turkey:': '🦃', ':turtle:': '🐢', ':tv:': '📺', ':twisted_rightwards_arrows:': '🔀', ':two_hearts:': '💕', ':two_men_holding_hands:': '👬', ':two_women_holding_hands:': '👭', ':u5272:': '🈹', ':u5408:': '🈴', ':u55b6:': '🈺', ':u6307:': '🈯', ':u6708:': '🈷️', ':u6709:': '🈶', ':u6e80:': '🈵', ':u7121:': '🈚', ':u7533:': '🈸', ':u7981:': '🈲', ':u7a7a:': '🈳', ':unamused:': '😒', ':underage:': '🔞', ':unicorn_face:': '🦄', ':unicorn:': '🦄', ':unlock:': '🔓', ':up:': '🆙', ':upside_down_face:': '🙃', ':upside_down:': '🙃', ':vampire:': '🧛', ':vertical_traffic_light:': '🚦', ':vhs:': '📼', ':vibration_mode:': '📳', ':video_camera:': '📹', ':video_game:': '🎮', ':violin:': '🎻', ':volcano:': '🌋', ':volleyball:': '🏐', ':vs:': '🆚', ':raised_hand_with_part_between_middle_and_ring_fingers:': '🖖', ':vulcan:': '🖖', ':waffle:': '🧇', ':waning_crescent_moon:': '🌘', ':waning_gibbous_moon:': '🌖', ':wastebasket:': '🗑️', ':water_buffalo:': '🐃', ':watermelon:': '🍉', ':wave:': '👋', ':waxing_crescent_moon:': '🌒', ':waxing_gibbous_moon:': '🌔', ':wc:': '🚾', ':weary:': '😩', ':wedding:': '💒', ':whale2:': '🐋', ':whale:': '🐳', ':white_flower:': '💮', ':white_haired:': '🦳', ':white_heart:': '🤍', ':white_square_button:': '🔳', ':white_sun_behind_cloud:': '🌥️', ':white_sun_cloud:': '🌥️', ':white_sun_behind_cloud_with_rain:': '🌦️', ':white_sun_rain_cloud:': '🌦️', ':white_sun_with_small_cloud:': '🌤️', ':white_sun_small_cloud:': '🌤️', ':wilted_flower:': '🥀', ':wilted_rose:': '🥀', ':wind_blowing_face:': '🌬️', ':wind_chime:': '🎐', ':wine_glass:': '🍷', ':wink:': '😉', ':wolf:': '🐺', ':woman:': '👩', ':woman_with_headscarf:': '🧕', ':womans_clothes:': '👚', ':womans_flat_shoe:': '🥿', ':womans_hat:': '👒', ':womens:': '🚺', ':woozy_face:': '🥴', ':worried:': '😟', ':wrench:': '🔧', ':yarn:': '🧶', ':yawning_face:': '🥱', ':yellow_circle:': '🟡', ':yellow_heart:': '💛', ':yellow_square:': '🟨', ':yen:': '💴', ':yo_yo:': '🪀', ':yum:': '😋', ':zany_face:': '🤪', ':zebra:': '🦓', ':zipper_mouth_face:': '🤐', ':zipper_mouth:': '🤐', ':zombie:': '🧟', ':zzz:': '💤', ':airplane:': '✈️', ':alarm_clock:': '⏰', ':alembic:': '⚗️', ':anchor:': '⚓', ':aquarius:': '♒', ':aries:': '♈', ':arrow_backward:': '◀️', ':arrow_double_down:': '⏬', ':arrow_double_up:': '⏫', ':arrow_down:': '⬇️', ':arrow_forward:': '▶️', ':arrow_heading_down:': '⤵️', ':arrow_heading_up:': '⤴️', ':arrow_left:': '⬅️', ':arrow_lower_left:': '↙️', ':arrow_lower_right:': '↘️', ':arrow_right:': '➡️', ':arrow_right_hook:': '↪️', ':arrow_up:': '⬆️', ':arrow_up_down:': '↕️', ':arrow_upper_left:': '↖️', ':arrow_upper_right:': '↗️', ':asterisk_symbol:': '*️', ':atom_symbol:': '⚛️', ':atom:': '⚛️', ':ballot_box_with_check:': '☑️', ':bangbang:': '‼️', ':baseball:': '⚾', ':umbrella_on_ground:': '⛱️', ':beach_umbrella:': '⛱️', ':biohazard_sign:': '☣️', ':biohazard:': '☣️', ':black_circle:': '⚫', ':black_large_square:': '⬛', ':black_medium_small_square:': '◾', ':black_medium_square:': '◼️', ':black_nib:': '✒️', ':black_small_square:': '▪️', ':cancer:': '♋', ':capricorn:': '♑', ':chains:': '⛓️', ':chess_pawn:': '♟️', ':church:': '⛪', ':cloud:': '☁️', ':clubs:': '♣️', ':coffee:': '☕', ':coffin:': '⚰️', ':comet:': '☄️', ':congratulations:': '㊗️', ':copyright:': '©️', ':latin_cross:': '✝️', ':cross:': '✝️', ':crossed_swords:': '⚔️', ':curly_loop:': '➰', ':diamonds:': '♦️', ':digit_eight:': '8️', ':digit_five:': '5️', ':digit_four:': '4️', ':digit_nine:': '9️', ':digit_one:': '1️', ':digit_seven:': '7️', ':digit_six:': '6️', ':digit_three:': '3️', ':digit_two:': '2️', ':digit_zero:': '0️', ':eight_pointed_black_star:': '✴️', ':eight_spoked_asterisk:': '✳️', ':eject_symbol:': '⏏️', ':eject:': '⏏️', ':envelope:': '✉️', ':exclamation:': '❗', ':fast_forward:': '⏩', ':female_sign:': '♀️', ':ferry:': '⛴️', ':fist:': '✊', ':fleur-de-lis:': '⚜️', ':fountain:': '⛲', ':white_frowning_face:': '☹️', ':frowning2:': '☹️', ':fuelpump:': '⛽', ':gear:': '⚙️', ':gemini:': '♊', ':golf:': '⛳', ':grey_exclamation:': '❕', ':grey_question:': '❔', ':hammer_and_pick:': '⚒️', ':hammer_pick:': '⚒️', ':heart:': '❤️', ':heavy_heart_exclamation_mark_ornament:': '❣️', ':heart_exclamation:': '❣️', ':hearts:': '♥️', ':heavy_check_mark:': '✔️', ':heavy_division_sign:': '➗', ':heavy_minus_sign:': '➖', ':heavy_multiplication_x:': '✖️', ':heavy_plus_sign:': '➕', ':helmet_with_white_cross:': '⛑️', ':helmet_with_cross:': '⛑️', ':hotsprings:': '♨️', ':hourglass:': '⌛', ':hourglass_flowing_sand:': '⏳', ':ice_skate:': '⛸️', ':infinity:': '♾️', ':information_source:': 'ℹ️', ':interrobang:': '⁉️', ':keyboard:': '⌨️', ':left_right_arrow:': '↔️', ':leftwards_arrow_with_hook:': '↩️', ':leo:': '♌', ':libra:': '♎', ':loop:': '➿', ':m:': 'Ⓜ️', ':male_sign:': '♂️', ':medical_symbol:': '⚕️', ':mountain:': '⛰️', ':negative_squared_cross_mark:': '❎', ':no_entry:': '⛔', ':o:': '⭕', ':ophiuchus:': '⛎', ':orthodox_cross:': '☦️', ':part_alternation_mark:': '〽️', ':partly_sunny:': '⛅', ':double_vertical_bar:': '⏸️', ':pause_button:': '⏸️', ':peace_symbol:': '☮️', ':peace:': '☮️', ':pencil2:': '✏️', ':basketball_player:': '⛹️', ':person_with_ball:': '⛹️', ':person_bouncing_ball:': '⛹️', ':pick:': '⛏️', ':pisces:': '♓', ':play_pause:': '⏯️', ':point_up:': '☝️', ':pound_symbol:': '#️', ':question:': '❓', ':radioactive_sign:': '☢️', ':radioactive:': '☢️', ':raised_hand:': '✋', ':record_button:': '⏺️', ':recycle:': '♻️', ':registered:': '®️', ':relaxed:': '☺️', ':rewind:': '⏪', ':sagittarius:': '♐', ':sailboat:': '⛵', ':scales:': '⚖️', ':scissors:': '✂️', ':scorpius:': '♏', ':secret:': '㊙️', ':shamrock:': '☘️', ':shinto_shrine:': '⛩️', ':skier:': '⛷️', ':skull_and_crossbones:': '☠️', ':skull_crossbones:': '☠️', ':snowflake:': '❄️', ':snowman2:': '☃️', ':snowman:': '⛄', ':soccer:': '⚽', ':spades:': '♠️', ':sparkle:': '❇️', ':sparkles:': '✨', ':star:': '⭐', ':star_and_crescent:': '☪️', ':star_of_david:': '✡️', ':stop_button:': '⏹️', ':stopwatch:': '⏱️', ':sunny:': '☀️', ':taurus:': '♉', ':telephone:': '☎️', ':tent:': '⛺', ':thunder_cloud_and_rain:': '⛈️', ':thunder_cloud_rain:': '⛈️', ':timer_clock:': '⏲️', ':timer:': '⏲️', ':tm:': '™️', ':next_track:': '⏭️', ':track_next:': '⏭️', ':previous_track:': '⏮️', ':track_previous:': '⏮️', ':umbrella2:': '☂️', ':umbrella:': '☔', ':funeral_urn:': '⚱️', ':urn:': '⚱️', ':v:': '✌️', ':virgo:': '♍', ':warning:': '⚠️', ':watch:': '⌚', ':wavy_dash:': '〰️', ':wheel_of_dharma:': '☸️', ':wheelchair:': '♿', ':white_check_mark:': '✅', ':white_circle:': '⚪', ':white_large_square:': '⬜', ':white_medium_small_square:': '◽', ':white_medium_square:': '◻️', ':white_small_square:': '▫️', ':writing_hand:': '✍️', ':x:': '❌', ':yin_yang:': '☯️', ':zap:': '⚡' };\nexport default emojis;\n","import ascii, { asciiRegexp } from './ascii';\nimport emojis from './emojis';\n\nconst shortnamePattern = new RegExp(/:[-+_a-z0-9]+:/, 'gi');\nconst replaceShortNameWithUnicode = (shortname) => emojis[shortname] || shortname;\nconst regAscii = new RegExp(`((\\\\s|^)${ asciiRegexp }(?=\\\\s|$|[!,.?]))`, 'gi');\n\nconst unescapeHTML = (string) => {\n\tconst unescaped = {\n\t\t'&': '&',\n\t\t'&': '&',\n\t\t'&': '&',\n\t\t'<': '<',\n\t\t'<': '<',\n\t\t'<': '<',\n\t\t'>': '>',\n\t\t'>': '>',\n\t\t'>': '>',\n\t\t'"': '\"',\n\t\t'"': '\"',\n\t\t'"': '\"',\n\t\t''': '\\'',\n\t\t''': '\\'',\n\t\t''': '\\'',\n\t};\n\n\treturn string.replace(/&(?:amp|#38|#x26|lt|#60|#x3C|gt|#62|#x3E|apos|#39|#x27|quot|#34|#x22);/ig, (match) => unescaped[match]);\n};\n\nconst shortnameToUnicode = (stringMessage) => {\n\tstringMessage = stringMessage.replace(shortnamePattern, replaceShortNameWithUnicode);\n\tstringMessage = stringMessage.replace(regAscii, (entire, m1, m2, m3) => {\n\t\tif (!m3 || !(unescapeHTML(m3) in ascii)) {\n\t\t\treturn entire;\n\t\t}\n\n\t\tm3 = unescapeHTML(m3);\n\t\treturn ascii[m3];\n\t});\n\n\treturn stringMessage;\n};\n\nexport default shortnameToUnicode;\n","import shortnameToUnicode from '../../Emoji/shortnameToUnicode';\n\nconst emojiUnicode = '\\u00a9|\\u00ae|[\\u2000-\\u3039]|[\\u3100-\\u3300]|\\ud83c[\\ud000-\\udfff]|\\ud83d[\\ud000-\\udfff]|\\ud83e[\\ud000-\\udfff]'; // unicode emoji from https://www.regextester.com/106421\n\nconst emojiRanges = [\n\temojiUnicode, // unicode emoji from https://www.regextester.com/106421\n\t':.{1,40}:', // custom emoji\n\t' |\\n', // allow spaces and line breaks\n].join('|');\n\n// this func is called for each emoji, input-> emoji shortname, o/p-> emoji icon in html format\nconst transformEmojisToNormalSize = (emoji) => `<span>${ emoji }</span>`;\n\nconst transformEmojisToLargeSize = (emoji) => `<span style=\"font-size:2rem\">${ emoji }</span>`;\n\nconst removeSpaces = (str) => str && str.replace(/\\s/g, '');\n\nconst removeAllEmoji = (str) => str.replace(new RegExp(emojiRanges, 'g'), '');\n\nconst isOnlyEmoji = (str) => {\n\tstr = removeSpaces(str);\n\treturn !removeAllEmoji(str).length;\n};\n\nconst renderEmojis = (origPlainText) => {\n\tconst textWithOnlyUnicode = shortnameToUnicode(origPlainText);\n\n\tif (isOnlyEmoji(textWithOnlyUnicode)) {\n\t\treturn textWithOnlyUnicode.replace(new RegExp(emojiUnicode, 'g'), transformEmojisToLargeSize);\n\t}\n\n\treturn textWithOnlyUnicode.replace(new RegExp(emojiUnicode, 'g'), transformEmojisToNormalSize);\n};\n\nexport default renderEmojis;\n","import { sanitize } from 'dompurify';\nimport MarkdownIt from 'markdown-it';\n\n\nconst md = new MarkdownIt({\n\thtml: true,\n\tbreaks: true,\n\tlinkify: true,\n\ttypographer: true,\n});\n\nconst defaultRender = md.renderer.rules.link_open || ((tokens, idx, options, env, self) => self.renderToken(tokens, idx, options));\n\nmd.renderer.rules.link_open = (tokens, idx, options, env, self) => {\n\tconst targetAttrIndex = tokens[idx].attrIndex('target');\n\tconst relAttrIndex = tokens[idx].attrIndex('rel');\n\n\tif (targetAttrIndex < 0) {\n\t\ttokens[idx].attrPush(['target', '_blank']);\n\t} else {\n\t\ttokens[idx].attrs[targetAttrIndex][1] = '_blank';\n\t}\n\n\tif (relAttrIndex < 0) {\n\t\ttokens[idx].attrPush(['rel', 'noopener noreferrer']);\n\t} else {\n\t\ttokens[idx].attrs[relAttrIndex][1] = 'noopener noreferrer';\n\t}\n\n\treturn defaultRender(tokens, idx, options, env, self);\n};\n\nmd.use((md) => {\n\tconst renderStrong = (tokens, idx, opts, _, slf) => {\n\t\tconst token = tokens[idx];\n\t\tif (token.markup === '*') {\n\t\t\ttoken.tag = 'strong';\n\t\t}\n\t\treturn slf.renderToken(tokens, idx, opts);\n\t};\n\n\tmd.renderer.rules.em_open = renderStrong;\n\tmd.renderer.rules.em_close = renderStrong;\n});\n\nmd.use((md) => {\n\tmd.inline.ruler.push('strikethrough', (state, silent) => {\n\t\tconst marker = state.src.charCodeAt(state.pos);\n\n\t\tif (silent) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (marker !== 0x7E/* ~ */) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst scanned = state.scanDelims(state.pos, true);\n\n\t\tconst ch = String.fromCharCode(marker);\n\n\t\tconst len = scanned.length;\n\t\tfor (let i = 0; i < len; i += 1) {\n\t\t\tconst token = state.push('text', '', 0);\n\t\t\ttoken.content = ch;\n\n\t\t\tstate.delimiters.push({\n\t\t\t\tmarker,\n\t\t\t\tlength: 0,\n\t\t\t\tjump: i,\n\t\t\t\ttoken: state.tokens.length - 1,\n\t\t\t\tend: -1,\n\t\t\t\topen: scanned.can_open,\n\t\t\t\tclose: scanned.can_close,\n\t\t\t});\n\t\t}\n\n\t\tstate.pos += scanned.length;\n\n\t\treturn true;\n\t});\n});\n\nexport const renderMarkdown = (...args) => sanitize(md.render(...args), { ADD_ATTR: ['target', 'rel'] });\n","import { h } from 'preact';\nimport { memo } from 'preact/compat';\n\nimport renderEmojis from '../../../Messages/MessageText/emoji';\nimport { renderMarkdown } from '../../../Messages/MessageText/markdown';\nimport { createClassName } from '../../../helpers';\nimport styles from './styles.scss';\n\nconst Mrkdwn = ({ text/* , verbatim = false */ }) =>\n\t<div\n\t\tclassName={createClassName(styles, 'uikit-mrkdwn')}\n\t\t// eslint-disable-next-line react/no-danger\n\t\tdangerouslySetInnerHTML={{ __html: renderEmojis(renderMarkdown(text), text) }}\n\t\tdir='auto'\n\t/>;\n\nexport default memo(Mrkdwn);\n","import { h } from 'preact';\nimport { memo, useCallback } from 'preact/compat';\n\nimport KebabIcon from '../../../../icons/kebab.svg';\nimport { Button } from '../../../Button';\nimport Menu, { PopoverMenu } from '../../../Menu';\nimport { createClassName } from '../../../helpers';\nimport { usePerformAction } from '../Block';\nimport styles from './styles.scss';\n\nconst OverflowTrigger = ({ loading, onClick }) => {\n\tconst handleMouseUp = useCallback(({ target }) => {\n\t\ttarget.blur();\n\t}, []);\n\n\treturn <Button\n\t\tclassName={createClassName(styles, 'uikit-overflow__trigger')}\n\t\tdisabled={loading}\n\t\toutline\n\t\tsecondary\n\t\tonClick={onClick}\n\t\tonMouseUp={handleMouseUp}\n\t>\n\t\t<KebabIcon width={20} height={20} />\n\t</Button>;\n};\n\nconst OverflowOption = ({ confirm, text, value, url, parser, onClick }) => {\n\tconst handleClick = useCallback(async (event) => {\n\t\tevent.preventDefault();\n\n\t\tif (confirm) {\n\t\t\t// TODO\n\t\t}\n\n\t\tif (url) {\n\t\t\tconst newTab = window.open();\n\t\t\tnewTab.opener = null;\n\t\t\tnewTab.location = url;\n\t\t\treturn;\n\t\t}\n\n\t\tawait onClick(value);\n\t}, [confirm, onClick, url, value]);\n\n\treturn <Menu.Item onClick={handleClick}>\n\t\t {parser.text(text)}\n\t </Menu.Item>;\n};\n\nconst OverflowElement = ({ actionId, confirm, options, parser }) => {\n\tconst [performAction, performingAction] = usePerformAction(actionId);\n\n\tconst handleClick = useCallback(async (value) => {\n\t\tawait performAction({ value });\n\t}, [performAction]);\n\n\treturn <PopoverMenu trigger={({ pop }) => <OverflowTrigger loading={performingAction} onClick={pop} />}>\n\t\t<Menu.Group>\n\t\t\t{Array.isArray(options) && options.map((option, i) =>\n\t\t\t\t<OverflowOption key={i} {...option} confirm={confirm} parser={parser} onClick={handleClick} />)}\n\t\t</Menu.Group>\n\t</PopoverMenu>;\n};\n\nexport default memo(OverflowElement);\n","import { h } from 'preact';\nimport { memo } from 'preact/compat';\n\nimport shortnameToUnicode from '../../../Emoji/shortnameToUnicode';\nimport { createClassName } from '../../../helpers';\nimport styles from './styles.scss';\n\nconst escapeHtml = (unsafe) =>\n\tunsafe\n\t\t.replace(/&/g, '&')\n\t\t.replace(/</g, '<')\n\t\t.replace(/>/g, '>')\n\t\t.replace(/\"/g, '"')\n\t\t.replace(/'/g, ''');\n\nconst PlainText = ({ text, emoji = false }) =>\n\t<span\n\t\tclassName={createClassName(styles, 'uikit-plain-text')}\n\t\t// eslint-disable-next-line react/no-danger\n\t\tdangerouslySetInnerHTML={{\n\t\t\t__html: escapeHtml(emoji ? text : shortnameToUnicode(text)).replace(/\\n/g, () => '<br/>'),\n\t\t}}\n\t\tdir='auto'\n\t/>;\n\nexport default memo(PlainText);\n","import { BLOCK_CONTEXT } from '@rocket.chat/ui-kit';\nimport { h } from 'preact';\nimport { memo } from 'preact/compat';\n\nimport { createClassName } from '../../../helpers';\nimport Block from '../Block';\nimport styles from './styles.scss';\n\nconst SectionBlock = ({ appId, blockId, text, fields, accessory, parser }) =>\n\t<Block appId={appId} blockId={blockId}>\n\t\t<div className={createClassName(styles, 'uikit-section-block')}>\n\t\t\t<div className={createClassName(styles, 'uikit-section-block__content')}>\n\t\t\t\t{text && (\n\t\t\t\t\t<div className={createClassName(styles, 'uikit-section-block__text')}>\n\t\t\t\t\t\t{parser.text(text, BLOCK_CONTEXT.SECTION)}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t{Array.isArray(fields) && fields.length > 0 && (\n\t\t\t\t\t<div className={createClassName(styles, 'uikit-section-block__fields')}>\n\t\t\t\t\t\t{fields.map((field, i) => (\n\t\t\t\t\t\t\t<div key={i} className={createClassName(styles, 'uikit-section-block__field')}>\n\t\t\t\t\t\t\t\t{parser.text(field, BLOCK_CONTEXT.SECTION)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t{accessory && <div className={createClassName(styles, 'uikit-section-block__accessory')}>\n\t\t\t\t{parser.renderAccessories(accessory, BLOCK_CONTEXT.SECTION)}\n\t\t\t</div>}\n\t\t</div>\n\t</Block>;\n\nexport default memo(SectionBlock);\n","import { h, Component } from 'preact';\n\nimport ArrowIcon from '../../../icons/arrowDown.svg';\nimport { createClassName } from '../../helpers';\nimport styles from './styles.scss';\n\n\nexport class SelectInput extends Component {\n\tstatic getDerivedStateFromProps(props, state) {\n\t\tif (props.value !== state.value) {\n\t\t\treturn { value: props.value };\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tstate = {\n\t\tvalue: this.props.value,\n\t}\n\n\thandleChange = (event) => {\n\t\tconst { onChange } = this.props;\n\t\tonChange && onChange(event);\n\n\t\tif (event.defaultPrevented) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.setState({ value: event.target.value });\n\t}\n\n\trender = ({\n\t\tname,\n\t\tplaceholder,\n\t\toptions = [],\n\t\tdisabled,\n\t\tsmall,\n\t\terror,\n\t\tonInput,\n\t\tclassName,\n\t\tstyle = {},\n\t\t...props\n\t}) => (\n\t\t<div\n\t\t\tclassName={createClassName(styles, 'select-input', {}, [className])}\n\t\t\tstyle={style}\n\t\t>\n\t\t\t<select\n\t\t\t\tname={name}\n\t\t\t\tvalue={this.state.value}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tonChange={this.handleChange}\n\t\t\t\tonInput={onInput}\n\t\t\t\tclassName={createClassName(styles, 'select-input__select', {\n\t\t\t\t\tdisabled,\n\t\t\t\t\terror,\n\t\t\t\t\tsmall,\n\t\t\t\t\tplaceholder: !this.state.value,\n\t\t\t\t})}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t<option value='' disabled hidden>{placeholder}</option>\n\t\t\t\t{Array.from(options).map(({ value, label }, key) => (\n\t\t\t\t\t<option key={key} value={value} className={createClassName(styles, 'select-input__option')}>{label}</option>\n\t\t\t\t))}\n\t\t\t</select>\n\t\t\t<ArrowIcon className={createClassName(styles, 'select-input__arrow')} />\n\t\t</div>\n\t)\n}\n","import { h } from 'preact';\nimport { memo, useCallback, useMemo } from 'preact/compat';\n\nimport { SelectInput } from '../../../Form/SelectInput';\nimport { createClassName } from '../../../helpers';\nimport { usePerformAction } from '../Block';\nimport styles from './styles.scss';\n\nconst StaticSelectElement = ({ actionId, confirm, placeholder, options/* , optionGroups */, initialOption, parser }) => {\n\tconst [performAction, performingAction] = usePerformAction(actionId);\n\n\tconst handleChange = useCallback(async (event) => {\n\t\tevent.preventDefault();\n\n\t\tif (confirm) {\n\t\t\t// TODO\n\t\t}\n\n\t\tawait performAction({\n\t\t\tvalue: event.target.value,\n\t\t});\n\t}, [confirm, performAction]);\n\n\tconst selectOptions = useMemo(() => options.map((option) => ({\n\t\tlabel: parser.text(option.text),\n\t\tvalue: option.value,\n\t})), [options, parser]);\n\n\treturn <SelectInput\n\t\tclassName={createClassName(styles, 'uikit-static-select')}\n\t\tdisabled={performingAction}\n\t\toptions={selectOptions}\n\t\tplaceholder={placeholder && parser.text(placeholder)}\n\t\tsmall\n\t\tvalue={(initialOption && initialOption.value) || ''}\n\t\tonChange={handleChange}\n\t/>;\n};\n\nexport default memo(StaticSelectElement);\n","import { uiKitMessage, UiKitParserMessage, BLOCK_CONTEXT } from '@rocket.chat/ui-kit';\nimport { h } from 'preact';\n\nimport ActionsBlock from './ActionsBlock';\nimport ButtonElement from './ButtonElement';\nimport ContextBlock from './ContextBlock';\nimport DatePickerElement from './DatePickerElement';\nimport DividerBlock from './DividerBlock';\nimport ImageBlock from './ImageBlock';\nimport ImageElement from './ImageElement';\nimport Mrkdwn from './Mrkdwn';\nimport OverflowElement from './OverflowElement';\nimport PlainText from './PlainText';\nimport SectionBlock from './SectionBlock';\nimport StaticSelectElement from './StaticSelectElement';\n\nclass MessageParser extends UiKitParserMessage {\n\tdivider = (element, context, index) => {\n\t\tif (context !== BLOCK_CONTEXT.BLOCK) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn <DividerBlock key={index} {...element} />;\n\t}\n\n\tsection = (element, context, index) => {\n\t\tif (context !== BLOCK_CONTEXT.BLOCK) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn <SectionBlock key={index} {...element} parser={this} />;\n\t}\n\n\timage = (element, context, index) => {\n\t\tif (context === BLOCK_CONTEXT.BLOCK) {\n\t\t\treturn <ImageBlock key={index} {...element} parser={this} />;\n\t\t}\n\n\t\treturn <ImageElement key={index} {...element} parser={this} context={context} />;\n\t}\n\n\tactions = (element, context, index) => {\n\t\tif (context !== BLOCK_CONTEXT.BLOCK) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn <ActionsBlock key={index} {...element} parser={this} />;\n\t}\n\n\tcontext = (element, context, index) => {\n\t\tif (context !== BLOCK_CONTEXT.BLOCK) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn <ContextBlock key={index} {...element} parser={this} />;\n\t}\n\n\tplainText = (element, context, index) => {\n\t\tif (context === BLOCK_CONTEXT.BLOCK) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn <PlainText key={index} {...element} />;\n\t}\n\n\tmrkdwn = (element, context, index) => {\n\t\tif (context === BLOCK_CONTEXT.BLOCK) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn <Mrkdwn key={index} {...element} />;\n\t}\n\n\tbutton = (element, context, index) => {\n\t\tif (context === BLOCK_CONTEXT.BLOCK) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn <ButtonElement key={index} {...element} parser={this} context={context} />;\n\t}\n\n\toverflow = (element, context, index) => {\n\t\tif (context === BLOCK_CONTEXT.BLOCK) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn <OverflowElement key={index} {...element} parser={this} context={context} />;\n\t}\n\n\tdatePicker = (element, context, index) => {\n\t\tif (context === BLOCK_CONTEXT.BLOCK) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn <DatePickerElement key={index} {...element} parser={this} context={context} />;\n\t}\n\n\tstaticSelect = (element, context, index) => {\n\t\tif (context === BLOCK_CONTEXT.BLOCK) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn <StaticSelectElement key={index} {...element} parser={this} context={context} />;\n\t}\n\n\tmultiStaticSelect = () =>\n\t\tnull\n}\n\nexport const parser = new MessageParser();\n\nexport const renderMessageBlocks = uiKitMessage(parser, {\n\tengine: 'livechat',\n});\n","import { h } from 'preact';\nimport { memo, useCallback } from 'preact/compat';\n\nimport {\n\ttriggerAction,\n\tUIKitIncomingInteractionType,\n\tUIKitIncomingInteractionContainerType,\n} from '../../../lib/uiKit';\nimport { createClassName } from '../../helpers';\nimport { renderMessageBlocks } from '../../uiKit';\nimport Surface from '../../uiKit/message/Surface';\nimport styles from './styles.scss';\n\nconst MessageBlocks = ({ blocks = [], mid, rid }) => {\n\tconst dispatchAction = useCallback(({\n\t\tappId,\n\t\tactionId,\n\t\tpayload,\n\t}) => triggerAction({\n\t\tappId,\n\t\ttype: UIKitIncomingInteractionType.BLOCK,\n\t\tactionId,\n\t\trid,\n\t\tmid,\n\t\tviewId: null,\n\t\tcontainer: {\n\t\t\ttype: UIKitIncomingInteractionContainerType.MESSAGE,\n\t\t\tid: mid,\n\t\t},\n\t\tpayload,\n\t}), [mid, rid]);\n\n\treturn <Surface dispatchAction={dispatchAction}>\n\t\t{Array.isArray(blocks) && blocks.length > 0\n\t\t\t? <div className={createClassName(styles, 'message-blocks')}>\n\t\t\t\t{renderMessageBlocks(blocks)}\n\t\t\t</div>\n\t\t\t: null}\n\t</Surface>;\n};\n\nexport default memo(MessageBlocks);\n","import { h } from 'preact';\n\nimport { createClassName, memo } from '../../helpers';\nimport styles from './styles.scss';\n\n\nexport const MessageContainer = memo(({\n\tid,\n\tcompact,\n\treverse,\n\tuse: Element = 'div',\n\tclassName,\n\tstyle = {},\n\tchildren,\n\tsystem = false,\n}) => (\n\t<Element\n\t\tid={id}\n\t\tclassName={createClassName(styles, 'message-container', { compact, reverse, system }, [className])}\n\t\tstyle={style}\n\t>\n\t\t{children}\n\t</Element>\n));\n","import { h } from 'preact';\n\nimport { createClassName, memo } from '../../helpers';\nimport styles from './styles.scss';\n\n\nexport const MessageContent = memo(({ reverse, className, style = {}, children }) => (\n\t<div\n\t\tclassName={createClassName(styles, 'message-content', { reverse }, [className])}\n\t\tstyle={style}\n\t>\n\t\t{children}\n\t</div>\n));\n","import { h } from 'preact';\n\nimport { createClassName, memo } from '../../helpers';\nimport renderEmojis from './emoji';\nimport { renderMarkdown } from './markdown';\nimport styles from './styles.scss';\n\nexport const MessageText = memo(({\n\ttext,\n\tsystem,\n\tclassName,\n\tstyle = {},\n}) => (\n\t<div\n\t\t// eslint-disable-next-line react/no-danger\n\t\tdangerouslySetInnerHTML={{ __html: renderMarkdown(renderEmojis(text)) }}\n\t\tclassName={createClassName(styles, 'message-text', { system }, [className])}\n\t\tstyle={style}\n\t/>\n));\n","import format from 'date-fns/format';\nimport { parseISO } from 'date-fns/fp';\nimport isToday from 'date-fns/isToday';\nimport { h } from 'preact';\n\nimport { createClassName, memo } from '../../helpers';\nimport styles from './styles.scss';\n\n\nexport const parseDate = (ts) => {\n\tconst timestamp = new Date(ts).toISOString();\n\treturn format(parseISO(timestamp), isToday(parseISO(timestamp)) ? 'HH:mm' : 'dddd HH:mm');\n};\n\nexport const MessageTime = memo(({ ts, normal, inverted, className, style = {} }) => (\n\t<div className={createClassName(styles, 'message-time-wrapper')}>\n\t\t<time\n\t\t\tdateTime={new Date(ts).toISOString()}\n\t\t\tclassName={createClassName(styles, 'message-time', { normal, inverted }, [className])}\n\t\t\tstyle={style}\n\t\t>\n\t\t\t{parseDate(ts)}\n\t\t</time>\n\t</div>\n));\n","import { h } from 'preact';\n\nimport I18n from '../../../i18n';\nimport { createClassName, memo } from '../../helpers';\nimport { MessageBubble } from '../MessageBubble';\nimport styles from './styles.scss';\n\n\nexport const VideoAttachment = memo(({\n\turl,\n\tclassName,\n\t...messageBubbleProps\n}) => (\n\t<MessageBubble\n\t\tnude\n\t\tclassName={createClassName(styles, 'video-attachment', {}, [className])}\n\t\t{...messageBubbleProps}\n\t>\n\t\t<video\n\t\t\tsrc={url}\n\t\t\tcontrols\n\t\t\tclassName={createClassName(styles, 'video-attachment__inner')}\n\t\t>\n\t\t\t{I18n.t('You browser doesn\\'t support video element')}\n\t\t</video>\n\t</MessageBubble>\n));\n","import { formatDistance } from 'date-fns';\nimport format from 'date-fns/format';\nimport isToday from 'date-fns/isToday';\nimport { h } from 'preact';\n\nimport I18n from '../../../i18n';\nimport { getAttachmentUrl, memo, normalizeTransferHistoryMessage, resolveDate } from '../../helpers';\nimport { AudioAttachment } from '../AudioAttachment';\nimport { FileAttachment } from '../FileAttachment';\nimport { ImageAttachment } from '../ImageAttachment';\nimport { MessageAvatars } from '../MessageAvatars';\nimport MessageBlocks from '../MessageBlocks';\nimport { MessageBubble } from '../MessageBubble';\nimport { MessageContainer } from '../MessageContainer';\nimport { MessageContent } from '../MessageContent';\nimport { MessageText } from '../MessageText';\nimport { MessageTime } from '../MessageTime';\nimport { VideoAttachment } from '../VideoAttachment';\nimport {\n\tMESSAGE_TYPE_ROOM_NAME_CHANGED,\n\tMESSAGE_TYPE_USER_ADDED,\n\tMESSAGE_TYPE_USER_REMOVED,\n\tMESSAGE_TYPE_USER_JOINED,\n\tMESSAGE_TYPE_USER_LEFT,\n\tMESSAGE_TYPE_WELCOME,\n\tMESSAGE_TYPE_LIVECHAT_CLOSED,\n\tMESSAGE_TYPE_LIVECHAT_STARTED,\n\tMESSAGE_TYPE_LIVECHAT_TRANSFER_HISTORY,\n\tMESSAGE_WEBRTC_CALL,\n} from '../constants';\n\nconst renderContent = ({\n\ttext,\n\tsystem,\n\tquoted,\n\tme,\n\tblocks,\n\tattachments,\n\tattachmentResolver,\n\tmid,\n\trid,\n}) => [\n\t...(attachments || [])\n\t\t.map((attachment) =>\n\t\t\t(attachment.audio_url\n\t\t\t\t&& <AudioAttachment\n\t\t\t\t\tquoted={quoted}\n\t\t\t\t\turl={attachmentResolver(attachment.audio_url)}\n\t\t\t\t/>)\n\t\t\t|| (attachment.video_url\n\t\t\t\t&& <VideoAttachment\n\t\t\t\t\tquoted={quoted}\n\t\t\t\t\turl={attachmentResolver(attachment.video_url)}\n\t\t\t\t/>)\n\t\t\t|| (attachment.image_url\n\t\t\t\t&& <ImageAttachment\n\t\t\t\t\tquoted={quoted}\n\t\t\t\t\turl={attachmentResolver(attachment.image_url)}\n\t\t\t\t/>)\n\t\t\t|| (attachment.title_link\n\t\t\t\t&& <FileAttachment\n\t\t\t\t\tquoted={quoted}\n\t\t\t\t\turl={attachmentResolver(attachment.title_link)}\n\t\t\t\t\ttitle={attachment.title}\n\t\t\t\t/>)\n\t\t\t|| ((attachment.message_link || attachment.tmid) && renderContent({\n\t\t\t\ttext: attachment.text,\n\t\t\t\tquoted: true,\n\t\t\t\tattachments: attachment.attachments,\n\t\t\t\tattachmentResolver,\n\t\t\t})),\n\t\t),\n\ttext && (\n\t\t<MessageBubble inverse={me} quoted={quoted} system={system}>\n\t\t\t<MessageText text={text} system={system} />\n\t\t</MessageBubble>\n\t),\n\tblocks && (\n\t\t<MessageBlocks\n\t\t\tblocks={blocks}\n\t\t\tmid={mid}\n\t\t\trid={rid}\n\t\t/>\n\t),\n].filter(Boolean);\n\n\nconst resolveWebRTCEndCallMessage = ({ webRtcCallEndTs, ts }) => {\n\tconst callEndTime = resolveDate(webRtcCallEndTs);\n\tconst callStartTime = resolveDate(ts);\n\tconst callDuration = formatDistance(callEndTime, callStartTime);\n\tconst time = format(callEndTime, isToday(callEndTime) ? 'HH:mm' : 'dddd HH:mm');\n\treturn `${ I18n.t('Call ended at %{time}', { time }) } ${ I18n.t(' - Lasted %{callDuration}', { callDuration }) }`;\n};\n\nconst getSystemMessageText = ({ t, conversationFinishedMessage, transferData, u, webRtcCallEndTs, ts }) =>\n\t(t === MESSAGE_TYPE_ROOM_NAME_CHANGED && I18n.t('Room name changed'))\n\t|| (t === MESSAGE_TYPE_USER_ADDED && I18n.t('User added by'))\n\t|| (t === MESSAGE_TYPE_USER_REMOVED && I18n.t('User removed by'))\n\t|| (t === MESSAGE_TYPE_USER_JOINED && I18n.t('User joined'))\n\t|| (t === MESSAGE_TYPE_USER_LEFT && I18n.t('User left'))\n\t|| (t === MESSAGE_TYPE_WELCOME && I18n.t('Welcome'))\n\t|| (t === MESSAGE_TYPE_LIVECHAT_CLOSED && (conversationFinishedMessage || I18n.t('Conversation finished')))\n\t|| (t === MESSAGE_TYPE_LIVECHAT_STARTED && I18n.t('Chat started'))\n\t|| (t === MESSAGE_TYPE_LIVECHAT_TRANSFER_HISTORY && normalizeTransferHistoryMessage(transferData, u))\n\t|| (t === MESSAGE_WEBRTC_CALL && webRtcCallEndTs && ts && resolveWebRTCEndCallMessage({ webRtcCallEndTs, ts }));\n\nconst getMessageUsernames = (compact, message) => {\n\tif (compact || !message.u) {\n\t\treturn [];\n\t}\n\n\tconst { alias, u: { username, name } } = message;\n\tif (alias && name) {\n\t\treturn [name];\n\t}\n\n\treturn [username];\n};\n\nexport const Message = memo(({\n\tavatarResolver,\n\tattachmentResolver = getAttachmentUrl,\n\tuse,\n\tme,\n\tcompact,\n\tclassName,\n\tstyle = {},\n\t...message\n}) => (\n\t<MessageContainer\n\t\tid={message._id}\n\t\tcompact={compact}\n\t\treverse={me}\n\t\tuse={use}\n\t\tclassName={className}\n\t\tstyle={style}\n\t\tsystem={!!message.t}\n\t>\n\t\t{!message.t && <MessageAvatars\n\t\t\tavatarResolver={avatarResolver}\n\t\t\tusernames={getMessageUsernames(compact, message)}\n\t\t/>}\n\t\t<MessageContent reverse={me}>\n\t\t\t{renderContent({\n\t\t\t\ttext: message.t ? getSystemMessageText(message) : message.msg,\n\t\t\t\tsystem: !!message.t,\n\t\t\t\tme,\n\t\t\t\tattachments: message.attachments,\n\t\t\t\tblocks: message.blocks,\n\t\t\t\tmid: message._id,\n\t\t\t\trid: message.rid,\n\t\t\t\tattachmentResolver,\n\t\t\t})}\n\t\t</MessageContent>\n\t\t{!compact && !message.t && <MessageTime normal={!me} inverse={me} ts={message.ts} />}\n\t</MessageContainer>\n));\n","export const MESSAGE_TYPE_ROOM_NAME_CHANGED = 'r';\nexport const MESSAGE_TYPE_USER_ADDED = 'au';\nexport const MESSAGE_TYPE_USER_REMOVED = 'ru';\nexport const MESSAGE_TYPE_USER_JOINED = 'uj';\nexport const MESSAGE_TYPE_USER_LEFT = 'ul';\nexport const MESSAGE_TYPE_WELCOME = 'wm';\nexport const MESSAGE_TYPE_LIVECHAT_CLOSED = 'livechat-close';\nexport const MESSAGE_TYPE_LIVECHAT_STARTED = 'livechat-started';\nexport const MESSAGE_TYPE_LIVECHAT_TRANSFER_HISTORY = 'livechat_transfer_history';\nexport const MESSAGE_JITSI_CALL = 'jitsi_call_started';\nexport const MESSAGE_WEBRTC_CALL = 'livechat_webrtc_video_call';\n","import { h } from 'preact';\n\nimport { Livechat } from '../../api';\nimport I18n from '../../i18n';\nimport VideoIcon from '../../icons/video.svg';\nimport constants from '../../lib/constants';\nimport store from '../../store';\nimport { Button } from '../Button';\nimport { createClassName } from '../helpers';\nimport { isCallOngoing } from './CallStatus';\nimport styles from './styles.scss';\n\n\nexport const JoinCallButton = (props) => {\n\tconst { token, room } = store.state;\n\n\tconst clickJoinCall = () => {\n\t\tswitch (props.callProvider) {\n\t\t\tcase constants.jitsiCallStartedMessageType: {\n\t\t\t\twindow.open(props.url, room._id);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase constants.webRTCCallStartedMessageType: {\n\t\t\t\twindow.open(`${ Livechat.client.host }/meet/${ room._id }?token=${ token }`, room._id);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t};\n\treturn (\n\t\t<div className={createClassName(styles, 'joinCall')}>\n\t\t\t{\n\t\t\t\tisCallOngoing(props.callStatus)\n\t\t\t\t&& (\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<div className={createClassName(styles, 'joinCall__content')} >\n\t\t\t\t\t\t\t<div className={createClassName(styles, 'joinCall__content-videoIcon')} >\n\t\t\t\t\t\t\t\t<VideoIcon width={20} height={20} />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{ I18n.t('Join my room to start the video call') }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<Button onClick={clickJoinCall} className={createClassName(styles, 'joinCall__content-action')}>\n\t\t\t\t\t\t\t<VideoIcon width={20} height={20} />\n\t\t\t\t\t\t\t{I18n.t('Join Call')}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</div>\n\t\t\t\t)\n\t\t\t}\n\t\t</div>\n\t);\n};\n","import format from 'date-fns/format';\nimport { parseISO } from 'date-fns/fp';\nimport { h } from 'preact';\n\nimport I18n from '../../../i18n';\nimport { createClassName, memo } from '../../helpers';\nimport styles from './styles.scss';\n\n\nexport const MessageSeparator = memo(({\n\tdate,\n\tunread,\n\tuse: Element = 'div',\n\tclassName,\n\tstyle = {},\n}) => (\n\t<Element\n\t\tclassName={createClassName(styles, 'separator', {\n\t\t\tdate: !!date && !unread,\n\t\t\tunread: !date && !!unread,\n\t\t}, [className])}\n\t\tstyle={style}\n\t>\n\t\t<hr className={createClassName(styles, 'separator__line')} />\n\t\t{(date || unread) && (\n\t\t\t<span className={createClassName(styles, 'separator__text')}>\n\t\t\t\t{\n\t\t\t\t\t(!!date && format(parseISO(date), 'MMM dd, yyyy').toUpperCase())\n\t\t\t\t\t|| (unread && I18n.t('unread messages'))\n\t\t\t\t}\n\t\t\t</span>\n\t\t)}\n\t\t<hr className={createClassName(styles, 'separator__line')} />\n\t</Element>\n));\n","import { h } from 'preact';\n\nimport { createClassName } from '../../helpers';\nimport styles from './styles.scss';\n\nexport const TypingDots = ({\n\ttext,\n\tclassName,\n\tstyle = {},\n}) => (\n\t<div\n\t\taria-label={text}\n\t\tclassName={createClassName(styles, 'typing-dots', {}, [className])}\n\t\tstyle={style}\n\t>\n\t\t<span class={createClassName(styles, 'typing-dots__dot')} />\n\t\t<span class={createClassName(styles, 'typing-dots__dot')} />\n\t\t<span class={createClassName(styles, 'typing-dots__dot')} />\n\t</div>\n);\n","import { h } from 'preact';\n\nimport { memo } from '../../helpers';\nimport { MessageAvatars } from '../MessageAvatars';\nimport { MessageBubble } from '../MessageBubble';\nimport { MessageContainer } from '../MessageContainer';\nimport { MessageContent } from '../MessageContent';\nimport { TypingDots } from '../TypingDots';\n\n\nexport const TypingIndicator = memo(({\n\tavatarResolver = () => null,\n\tusernames = [],\n\ttext,\n\t...containerProps\n}) => (\n\t<MessageContainer {...containerProps}>\n\t\t<MessageAvatars\n\t\t\tavatarResolver={avatarResolver}\n\t\t\tusernames={usernames}\n\t\t/>\n\t\t<MessageContent>\n\t\t\t<MessageBubble>\n\t\t\t\t<TypingDots text={text} />\n\t\t\t</MessageBubble>\n\t\t</MessageContent>\n\t</MessageContainer>\n));\n","import { parseISO } from 'date-fns/fp';\nimport isSameDay from 'date-fns/isSameDay';\nimport { h } from 'preact';\n\nimport constants from '../../../lib/constants';\nimport store from '../../../store';\nimport { isCallOngoing } from '../../Calls/CallStatus';\nimport { JoinCallButton } from '../../Calls/JoinCallButton';\nimport { createClassName, getAttachmentUrl, MemoizedComponent } from '../../helpers';\nimport { Message } from '../Message';\nimport { MessageSeparator } from '../MessageSeparator';\nimport { TypingIndicator } from '../TypingIndicator';\nimport styles from './styles.scss';\n\nexport class MessageList extends MemoizedComponent {\n\tstatic defaultProps = {\n\t\ttypingUsernames: [],\n\t}\n\n\tstatic SCROLL_AT_TOP = 'top';\n\n\tstatic SCROLL_AT_BOTTOM = 'bottom';\n\n\tstatic SCROLL_FREE = 'free';\n\n\tscrollPosition = MessageList.SCROLL_AT_BOTTOM\n\n\thandleScroll = () => {\n\t\tif (this.isResizingFromBottom) {\n\t\t\tthis.base.scrollTop = this.base.scrollHeight;\n\t\t\tdelete this.isResizingFromBottom;\n\t\t\treturn;\n\t\t}\n\n\t\tlet scrollPosition;\n\t\tif (this.base.scrollHeight <= this.base.clientHeight) {\n\t\t\tscrollPosition = MessageList.SCROLL_AT_BOTTOM;\n\t\t} else if (this.base.scrollTop === 0) {\n\t\t\tscrollPosition = MessageList.SCROLL_AT_TOP;\n\t\t} else if (this.base.scrollHeight === this.base.scrollTop + this.base.clientHeight) {\n\t\t\tscrollPosition = MessageList.SCROLL_AT_BOTTOM;\n\t\t} else {\n\t\t\tscrollPosition = MessageList.SCROLL_FREE;\n\t\t}\n\n\t\tif (this.scrollPosition !== scrollPosition) {\n\t\t\tthis.scrollPosition = scrollPosition;\n\t\t\tconst { onScrollTo } = this.props;\n\t\t\tonScrollTo && onScrollTo(scrollPosition);\n\t\t}\n\t}\n\n\thandleResize = () => {\n\t\tif (this.scrollPosition === MessageList.SCROLL_AT_BOTTOM) {\n\t\t\tthis.base.scrollTop = this.base.scrollHeight;\n\t\t\tthis.isResizingFromBottom = true;\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.base.scrollHeight <= this.base.clientHeight) {\n\t\t\tconst { onScrollTo } = this.props;\n\t\t\tthis.scrollPosition = MessageList.SCROLL_AT_BOTTOM;\n\t\t\tonScrollTo && onScrollTo(MessageList.SCROLL_AT_BOTTOM);\n\t\t}\n\t}\n\n\thandleClick = () => {\n\t\tconst { handleEmojiClick } = this.props;\n\t\thandleEmojiClick && handleEmojiClick();\n\t}\n\n\tcomponentWillUpdate() {\n\t\tif (this.scrollPosition === MessageList.SCROLL_AT_TOP) {\n\t\t\tthis.previousScrollHeight = this.base.scrollHeight;\n\t\t}\n\t}\n\n\tcomponentDidUpdate() {\n\t\tif (this.scrollPosition === MessageList.SCROLL_AT_BOTTOM) {\n\t\t\tthis.base.scrollTop = this.base.scrollHeight;\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.scrollPosition === MessageList.SCROLL_AT_TOP) {\n\t\t\tconst delta = this.base.scrollHeight - this.previousScrollHeight;\n\t\t\tif (delta > 0) {\n\t\t\t\tthis.base.scrollTop = delta;\n\t\t\t}\n\t\t\tdelete this.previousScrollHeight;\n\t\t}\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.handleResize();\n\t\twindow.addEventListener('resize', this.handleResize);\n\t}\n\n\tcomponentWillUnmount() {\n\t\twindow.removeEventListener('resize', this.handleResize);\n\t}\n\n\trenderItems = ({\n\t\tattachmentResolver = getAttachmentUrl,\n\t\tavatarResolver,\n\t\tmessages,\n\t\tlastReadMessageId,\n\t\tuid,\n\t\tconversationFinishedMessage,\n\t\ttypingUsernames,\n\t}) => {\n\t\tconst items = [];\n\t\tconst { incomingCallAlert } = store.state;\n\t\tconst { ongoingCall } = store.state;\n\n\t\tfor (let i = 0; i < messages.length; ++i) {\n\t\t\tconst previousMessage = messages[i - 1];\n\t\t\tconst message = messages[i];\n\t\t\tconst nextMessage = messages[i + 1];\n\n\t\t\tif ((message.t === constants.webRTCCallStartedMessageType || message.t === constants.jitsiCallStartedMessageType)\n\t\t\t\t&& message.actionLinks && message.actionLinks.length\n\t\t\t\t&& ongoingCall && isCallOngoing(ongoingCall.callStatus)\n\t\t\t\t&& !message.webRtcCallEndTs) {\n\t\t\t\tconst { url, callProvider, rid } = incomingCallAlert || {};\n\t\t\t\titems.push(\n\t\t\t\t\t<JoinCallButton callStatus={ongoingCall.callStatus} url={url} callProvider={callProvider} rid={rid} />,\n\t\t\t\t);\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst showDateSeparator = !previousMessage || !isSameDay(parseISO(message.ts), parseISO(previousMessage.ts));\n\t\t\tif (showDateSeparator) {\n\t\t\t\titems.push(\n\t\t\t\t\t<MessageSeparator\n\t\t\t\t\t\tkey={`sep-${ message.ts }`}\n\t\t\t\t\t\tuse='li'\n\t\t\t\t\t\tdate={message.ts}\n\t\t\t\t\t/>,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\titems.push(\n\t\t\t\t<Message\n\t\t\t\t\tkey={message._id}\n\t\t\t\t\tattachmentResolver={attachmentResolver}\n\t\t\t\t\tavatarResolver={avatarResolver}\n\t\t\t\t\tuse='li'\n\t\t\t\t\tme={uid && message.u && uid === message.u._id}\n\t\t\t\t\tcompact={nextMessage && message.u && nextMessage.u && message.u._id === nextMessage.u._id && !nextMessage.t}\n\t\t\t\t\tconversationFinishedMessage={conversationFinishedMessage}\n\t\t\t\t\t{...message}\n\t\t\t\t/>,\n\t\t\t);\n\n\t\t\tconst showUnreadSeparator = lastReadMessageId && nextMessage && lastReadMessageId === message._id;\n\t\t\tif (showUnreadSeparator) {\n\t\t\t\titems.push(\n\t\t\t\t\t<MessageSeparator\n\t\t\t\t\t\tkey='unread'\n\t\t\t\t\t\tuse='li'\n\t\t\t\t\t\tunread\n\t\t\t\t\t/>,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tif (typingUsernames && typingUsernames.length) {\n\t\t\titems.push(\n\t\t\t\t<TypingIndicator\n\t\t\t\t\tkey='typing'\n\t\t\t\t\tuse='li'\n\t\t\t\t\tavatarResolver={avatarResolver}\n\t\t\t\t\tusernames={typingUsernames}\n\t\t\t\t/>,\n\t\t\t);\n\t\t}\n\n\t\treturn items;\n\t}\n\n\trender = ({\n\t\tclassName,\n\t\tstyle = {},\n\t}) => (\n\t\t<div\n\t\t\tonScroll={this.handleScroll}\n\t\t\tclassName={createClassName(styles, 'message-list', {}, [className])}\n\t\t\tonClick={this.handleClick}\n\t\t\tstyle={style}\n\t\t>\n\t\t\t<ol className={createClassName(styles, 'message-list__content')}>\n\t\t\t\t{this.renderItems(this.props)}\n\t\t\t</ol>\n\t\t</div>\n\t)\n}\n","import { h, Component } from 'preact';\n\nimport I18n from '../../i18n';\nimport CloseIcon from '../../icons/close.svg';\nimport { createClassName } from '../helpers';\nimport styles from './styles.scss';\n\n\nexport class Alert extends Component {\n\tstatic defaultProps = {\n\t\ttimeout: 3000,\n\t\thideCloseButton: false,\n\t}\n\n\thandleDismiss = () => {\n\t\tconst { onDismiss, id } = this.props;\n\t\tonDismiss && onDismiss(id);\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { timeout } = this.props;\n\t\tif (Number.isFinite(timeout) && timeout > 0) {\n\t\t\tthis.dismissTimeout = setTimeout(this.handleDismiss, timeout);\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tclearTimeout(this.dismissTimeout);\n\t}\n\n\trender = ({ success, warning, error, color, hideCloseButton, className, style = {}, children }) => (\n\t\t<div\n\t\t\trole='alert'\n\t\t\tclassName={createClassName(styles, 'alert', { success, warning, error }, [className])}\n\t\t\tstyle={{\n\t\t\t\t...style,\n\t\t\t\t...color && { backgroundColor: color },\n\t\t\t}}\n\t\t>\n\t\t\t<div className={createClassName(styles, 'alert__content')}>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t\t{!hideCloseButton && (\n\t\t\t\t<button\n\t\t\t\t\tonClick={this.handleDismiss}\n\t\t\t\t\tclassName={createClassName(styles, 'alert__close')}\n\t\t\t\t\taria-label={I18n.t('Dismiss this alert')}\n\t\t\t\t>\n\t\t\t\t\t<CloseIcon width={20} height={20} />\n\t\t\t\t</button>\n\t\t\t)}\n\t\t</div>\n\t)\n}\n","import { h, toChildArray } from 'preact';\n\nimport { createClassName } from '../helpers';\nimport styles from './styles.scss';\n\n\nexport const Header = ({\n\tchildren,\n\ttheme: { color: backgroundColor, fontColor: color } = {},\n\tclassName,\n\tpost,\n\tlarge,\n\tstyle,\n\t...props\n}) => (\n\t<header\n\t\tclassName={createClassName(styles, 'header', { large }, [className])}\n\t\tstyle={style || backgroundColor || color ? { ...style || {}, backgroundColor, color } : null}\n\t\t{...props}\n\t>\n\t\t{children}\n\t\t{post}\n\t</header>\n);\n\nexport const Picture = ({ children, className, ...props }) => (\n\t<div className={createClassName(styles, 'header__picture', {}, [className])} {...props}>\n\t\t{children}\n\t</div>\n);\n\nexport const Content = ({ children, className, ...props }) => (\n\t<div className={createClassName(styles, 'header__content', {}, [className])} {...props}>\n\t\t{children}\n\t</div>\n);\n\nexport const Title = ({ children, className, ...props }) => (\n\t<div className={createClassName(styles, 'header__title', {}, [className])} {...props}>\n\t\t{children}\n\t</div>\n);\n\nexport const SubTitle = ({ children, className, ...props }) => (\n\t<div\n\t\tclassName={createClassName(styles, 'header__subtitle', {\n\t\t\tchildren: toChildArray(children).length > 0,\n\t\t}, [className])}\n\t\t{...props}\n\t>\n\t\t{children}\n\t</div>\n);\n\nexport const Actions = ({ children, className, ...props }) => (\n\t<nav className={createClassName(styles, 'header__actions', {}, [className])} {...props}>\n\t\t{children}\n\t</nav>\n);\n\nexport const Action = ({ children, className, ...props }) => (\n\t<button className={createClassName(styles, 'header__action', {}, [className])} {...props}>\n\t\t{children}\n\t</button>\n);\n\nexport const Post = ({ children, className, ...props }) => (\n\t<div className={createClassName(styles, 'header__post', {}, [className])} {...props}>\n\t\t{children}\n\t</div>\n);\n\nexport const CustomField = ({ children, className, ...props }) => (\n\t<div\n\t\tclassName={createClassName(styles, 'header__custom-field', {}, [className])}\n\t\t{...props}\n\t>\n\t\t{children}\n\t</div>\n);\n\nHeader.Picture = Picture;\nHeader.Content = Content;\nHeader.Title = Title;\nHeader.SubTitle = SubTitle;\nHeader.Actions = Actions;\nHeader.Action = Action;\nHeader.Post = Post;\nHeader.CustomField = CustomField;\n\nexport default Header;\n","import { h, Component } from 'preact';\n\nexport class Sound extends Component {\n\tplay = () => {\n\t\tthis.audio.play();\n\t}\n\n\thandleRef = (audio) => {\n\t\tthis.audio = audio;\n\t}\n\n\thandlePlayProp = () => {\n\t\tconst { play, dismissNotification } = this.props;\n\n\t\tif (play) {\n\t\t\tif (dismissNotification && dismissNotification()) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.audio.play();\n\t\t} else if (!this.audio.ended && !this.audio.paused) {\n\t\t\tthis.audio.pause();\n\t\t\tthis.audio.currentTime = 0;\n\t\t}\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.handlePlayProp();\n\t}\n\n\tcomponentDidUpdate() {\n\t\tthis.handlePlayProp();\n\t}\n\n\trender = ({ src, onStart, onStop }) => (\n\t\t<audio\n\t\t\tref={this.handleRef}\n\t\t\tsrc={src}\n\t\t\tonPlay={onStart}\n\t\t\tonEnded={onStop}\n\t\t\ttype='audio/mpeg'\n\t\t/>\n\t)\n}\n","import { h, cloneElement, Component, createContext, toChildArray } from 'preact';\n\nimport { createClassName } from '../helpers';\nimport styles from './styles.scss';\n\n\nconst getPositioningStyle = (placement, { left, top, right, bottom }) => {\n\tswitch (placement) {\n\t\tcase 'left':\n\t\t\treturn {\n\t\t\t\tleft: `${ left }px`,\n\t\t\t\ttop: `${ (top + bottom) / 2 }px`,\n\t\t\t};\n\n\t\tcase 'top':\n\t\tcase 'top-left':\n\t\tcase 'top-right':\n\t\t\treturn {\n\t\t\t\tleft: `${ (left + right) / 2 }px`,\n\t\t\t\ttop: `${ top }px`,\n\t\t\t};\n\n\t\tcase 'right':\n\t\t\treturn {\n\t\t\t\tleft: `${ right }px`,\n\t\t\t\ttop: `${ (top + bottom) / 2 }px`,\n\t\t\t};\n\n\t\tcase 'bottom':\n\t\tcase 'bottom-left':\n\t\tcase 'bottom-right':\n\t\tdefault:\n\t\t\treturn {\n\t\t\t\tleft: `${ (left + right) / 2 }px`,\n\t\t\t\ttop: `${ bottom }px`,\n\t\t\t};\n\t}\n};\n\n\nexport const Tooltip = ({ children, hidden = false, placement, floating = false, triggerBounds, ...props }) => (\n\t<div\n\t\tclassName={createClassName(styles, 'tooltip', { hidden, placement, floating })}\n\t\tstyle={floating ? getPositioningStyle(placement, triggerBounds) : {}}\n\t\t{...props}\n\t>\n\t\t{children}\n\t</div>\n);\n\n\nconst TooltipContext = createContext();\n\n\nexport class TooltipContainer extends Component {\n\tstate = {\n\t\ttooltip: null,\n\t\tactiveChild: null,\n\t\tevent: null,\n\t\tplacement: null,\n\t}\n\n\tshowTooltip = (event, { content, placement = 'bottom', childIndex }) => {\n\t\tconst triggerBounds = event.target.getBoundingClientRect();\n\t\tthis.setState({ tooltip: <Tooltip floating placement={placement} triggerBounds={triggerBounds}>{content}</Tooltip>, activeChild: childIndex, event, placement, content });\n\t}\n\n\thideTooltip = () => {\n\t\tthis.setState({ tooltip: null });\n\t}\n\n\tUNSAFE_componentWillReceiveProps(props) {\n\t\tif (this.state.tooltip) {\n\t\t\tconst activeChildren = props?.children?.props?.children[this.state.activeChild];\n\t\t\tif (activeChildren && activeChildren.props.content !== this.state.content) {\n\t\t\t\tthis.showTooltip(this.state.event, { content: activeChildren.props.content, placement: this.state.placement, childIndex: this.state.activeChild });\n\t\t\t}\n\t\t}\n\t}\n\n\trender({ children }) {\n\t\treturn (\n\t\t\t<TooltipContext.Provider value={{ ...this.state, showTooltip: this.showTooltip, hideTooltip: this.hideTooltip }}>\n\t\t\t\t{children}\n\t\t\t\t<TooltipContext.Consumer>\n\t\t\t\t\t{({ tooltip }) => tooltip}\n\t\t\t\t</TooltipContext.Consumer>\n\t\t\t</TooltipContext.Provider>\n\t\t);\n\t}\n}\n\n\nexport const TooltipTrigger = ({ children, content, placement }) => (\n\t<TooltipContext.Consumer>\n\t\t{({ showTooltip, hideTooltip }) => toChildArray(children).map((child, index) => cloneElement(child, {\n\t\t\tonMouseEnter: (event) => showTooltip(event, { content, placement, childIndex: index }),\n\t\t\tonMouseLeave: (event) => hideTooltip(event),\n\t\t\tonFocusCapture: (event) => showTooltip(event, { content, placement, childIndex: index }),\n\t\t\tonBlurCapture: (event) => hideTooltip(event),\n\t\t\tcontent,\n\t\t}))}\n\t</TooltipContext.Consumer>\n);\n\n\nexport const withTooltip = (component) => {\n\tconst TooltipConnection = ({ tooltip, ...props }) => (\n\t\t<Tooltip.Trigger content={tooltip}>\n\t\t\t{h(component, props)}\n\t\t</Tooltip.Trigger>\n\t);\n\tTooltipConnection.displayName = `withTooltip(${ component.displayName })`;\n\n\treturn TooltipConnection;\n};\n\n\nTooltip.Container = TooltipContainer;\nTooltip.Trigger = TooltipTrigger;\n\n\nexport default Tooltip;\n","import { Component, h } from 'preact';\nimport { useEffect } from 'preact/hooks';\n\nimport I18n from '../../i18n';\nimport MinimizeIcon from '../../icons/arrowDown.svg';\nimport RestoreIcon from '../../icons/arrowUp.svg';\nimport NotificationsEnabledIcon from '../../icons/bell.svg';\nimport NotificationsDisabledIcon from '../../icons/bellOff.svg';\nimport ChatIcon from '../../icons/chat.svg';\nimport CloseIcon from '../../icons/close.svg';\nimport OpenWindowIcon from '../../icons/newWindow.svg';\nimport { Alert } from '../Alert';\nimport { Avatar } from '../Avatar';\nimport { Button } from '../Button';\nimport { Footer, FooterContent, PoweredBy } from '../Footer';\nimport Header from '../Header';\nimport { PopoverContainer } from '../Popover';\nimport { Sound } from '../Sound';\nimport Tooltip from '../Tooltip';\nimport { createClassName } from '../helpers';\nimport styles from './styles.scss';\n\nclass ScreenHeader extends Component {\n\tlargeHeader = () => {\n\t\tconst { agent } = this.props;\n\t\treturn !!(agent && agent.email && agent.phone);\n\t}\n\n\theaderTitle = () => {\n\t\tconst { agent, queueInfo, title } = this.props;\n\t\tif (agent && agent.name) {\n\t\t\treturn agent.name;\n\t\t}\n\n\t\tif (queueInfo && queueInfo.spot && queueInfo.spot > 0) {\n\t\t\treturn I18n.t('Waiting queue...');\n\t\t}\n\n\t\treturn title;\n\t}\n\n\trender = ({\n\t\talerts,\n\t\tagent,\n\t\tnotificationsEnabled,\n\t\tminimized,\n\t\texpanded,\n\t\twindowed,\n\t\tonDismissAlert,\n\t\tonEnableNotifications,\n\t\tonDisableNotifications,\n\t\tonMinimize,\n\t\tonRestore,\n\t\tonOpenWindow,\n\t}) => (\n\t\t<Header\n\t\t\tref={this.handleRef}\n\t\t\tpost={\n\t\t\t\t<Header.Post>\n\t\t\t\t\t{alerts && alerts.map((alert) => <Alert {...alert} onDismiss={onDismissAlert}>{alert.children}</Alert>)}\n\t\t\t\t</Header.Post>\n\t\t\t}\n\t\t\tlarge={this.largeHeader()}\n\t\t>\n\t\t\t{agent && agent.avatar && (\n\t\t\t\t<Header.Picture>\n\t\t\t\t\t<Avatar\n\t\t\t\t\t\tsrc={agent.avatar.src}\n\t\t\t\t\t\tdescription={agent.avatar.description}\n\t\t\t\t\t\tstatus={agent.status}\n\t\t\t\t\t\tlarge={this.largeHeader()}\n\t\t\t\t\t\tstatusBorder\n\t\t\t\t\t/>\n\t\t\t\t</Header.Picture>\n\t\t\t)}\n\n\t\t\t<Header.Content>\n\t\t\t\t<Header.Title>{this.headerTitle()}</Header.Title>\n\t\t\t\t{agent && agent.email && (\n\t\t\t\t\t<Header.SubTitle>{agent.email}</Header.SubTitle>\n\t\t\t\t)}\n\t\t\t\t{agent && agent.phone && (\n\t\t\t\t\t<Header.CustomField>{agent.phone}</Header.CustomField>\n\t\t\t\t)}\n\t\t\t</Header.Content>\n\t\t\t<Tooltip.Container>\n\t\t\t\t<Header.Actions>\n\t\t\t\t\t<Tooltip.Trigger content={notificationsEnabled ? I18n.t('Sound is on') : I18n.t('Sound is off')}>\n\t\t\t\t\t\t<Header.Action\n\t\t\t\t\t\t\taria-label={notificationsEnabled ? I18n.t('Disable notifications') : I18n.t('Enable notifications')}\n\t\t\t\t\t\t\tonClick={notificationsEnabled ? onDisableNotifications : onEnableNotifications}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{notificationsEnabled\n\t\t\t\t\t\t\t\t? <NotificationsEnabledIcon width={20} height={20} />\n\t\t\t\t\t\t\t\t: <NotificationsDisabledIcon width={20} height={20} />\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</Header.Action>\n\t\t\t\t\t</Tooltip.Trigger>\n\t\t\t\t\t{(expanded || !windowed) && (\n\t\t\t\t\t\t<Tooltip.Trigger content={minimized ? I18n.t('Restore chat') : I18n.t('Minimize chat')}>\n\t\t\t\t\t\t\t<Header.Action\n\t\t\t\t\t\t\t\taria-label={minimized ? I18n.t('Restore chat') : I18n.t('Minimize chat')}\n\t\t\t\t\t\t\t\tonClick={minimized ? onRestore : onMinimize}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{minimized\n\t\t\t\t\t\t\t\t\t? <RestoreIcon width={20} height={20} />\n\t\t\t\t\t\t\t\t\t: <MinimizeIcon width={20} height={20} />\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</Header.Action>\n\t\t\t\t\t\t</Tooltip.Trigger>\n\t\t\t\t\t)}\n\t\t\t\t\t{(!expanded && !windowed) && (\n\t\t\t\t\t\t<Tooltip.Trigger content={I18n.t('Expand chat')} placement='bottom-left'>\n\t\t\t\t\t\t\t<Header.Action aria-label={I18n.t('Expand chat')} onClick={onOpenWindow}>\n\t\t\t\t\t\t\t\t<OpenWindowIcon width={20} height={20} />\n\t\t\t\t\t\t\t</Header.Action>\n\t\t\t\t\t\t</Tooltip.Trigger>\n\t\t\t\t\t)}\n\t\t\t\t</Header.Actions>\n\t\t\t</Tooltip.Container>\n\t\t</Header>\n\t)\n}\n\n\nexport const ScreenContent = ({ children, nopadding, triggered = false }) => (\n\t<main className={createClassName(styles, 'screen__main', { nopadding, triggered })}>\n\t\t{children}\n\t</main>\n);\n\n\nexport const ScreenFooter = ({ children, options, limit }) => (\n\t<Footer>\n\t\t{children && (\n\t\t\t<FooterContent>\n\t\t\t\t{children}\n\t\t\t</FooterContent>\n\t\t)}\n\t\t<FooterContent>\n\t\t\t{options}\n\t\t\t{limit}\n\t\t\t<PoweredBy />\n\t\t</FooterContent>\n\t</Footer>\n);\n\nconst ChatButton = ({\n\ttext,\n\tminimized,\n\tbadge,\n\tonClick,\n\ttriggered = false,\n\tagent,\n}) => (\n\t<Button\n\t\ticon={minimized || triggered ? <ChatIcon /> : <CloseIcon />}\n\t\tbadge={badge}\n\t\tonClick={onClick}\n\t\tclassName={createClassName(styles, 'screen__chat-button')}\n\t\timg={triggered && agent && agent.avatar.src}\n\t>\n\t\t{text}\n\t</Button>\n);\n\nconst CssVar = ({ theme }) => {\n\tuseEffect(() => {\n\t\tif (window.CSS && CSS.supports('color', 'var(--color)')) {\n\t\t\treturn;\n\t\t}\n\t\tlet mounted = true;\n\t\t(async () => {\n\t\t\tconst { default: cssVars } = await import('css-vars-ponyfill');\n\t\t\tif (!mounted) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tcssVars({\n\t\t\t\tvariables: {\n\t\t\t\t\t'--color': theme.color,\n\t\t\t\t\t'--font-color': theme.fontColor,\n\t\t\t\t\t'--icon-color': theme.iconColor,\n\t\t\t\t},\n\t\t\t});\n\t\t})();\n\t\treturn () => {\n\t\t\tmounted = false;\n\t\t};\n\t}, [theme]);\n\n\treturn <style>{`\n\t\t.${ styles.screen } {\n\t\t\t${ theme.color ? `--color: ${ theme.color };` : '' }\n\t\t\t${ theme.fontColor ? `--font-color: ${ theme.fontColor };` : '' }\n\t\t\t${ theme.iconColor ? `--icon-color: ${ theme.iconColor };` : '' }\n\t\t}\n\t`}</style>;\n};\n\nexport const Screen = ({\n\ttheme = {},\n\tagent,\n\ttitle,\n\tnotificationsEnabled,\n\tminimized = false,\n\texpanded = false,\n\twindowed = false,\n\tchildren,\n\tclassName,\n\talerts,\n\tmodal,\n\tunread,\n\tsound,\n\tonDismissAlert,\n\tonEnableNotifications,\n\tonDisableNotifications,\n\tonMinimize,\n\tonRestore,\n\tonOpenWindow,\n\tonSoundStop,\n\tqueueInfo,\n\tdismissNotification,\n\ttriggered = false,\n}) => (\n\t<div className={createClassName(styles, 'screen', { minimized, expanded, windowed, triggered })}>\n\t\t<CssVar theme={theme} />\n\t\t{triggered && <Button onClick={onMinimize} className={createClassName(styles, 'screen__chat-close-button')} icon={<CloseIcon />}>Close</Button>}\n\t\t<div className={createClassName(styles, 'screen__inner', { fitTextSize: triggered }, [className])}>\n\t\t\t<PopoverContainer>\n\t\t\t\t{!triggered && <ScreenHeader\n\t\t\t\t\talerts={alerts}\n\t\t\t\t\tagent={agent}\n\t\t\t\t\ttitle={title}\n\t\t\t\t\tnotificationsEnabled={notificationsEnabled}\n\t\t\t\t\tminimized={minimized}\n\t\t\t\t\texpanded={expanded}\n\t\t\t\t\twindowed={windowed}\n\t\t\t\t\tonDismissAlert={onDismissAlert}\n\t\t\t\t\tonEnableNotifications={onEnableNotifications}\n\t\t\t\t\tonDisableNotifications={onDisableNotifications}\n\t\t\t\t\tonMinimize={onMinimize}\n\t\t\t\t\tonRestore={onRestore}\n\t\t\t\t\tonOpenWindow={onOpenWindow}\n\t\t\t\t\tqueueInfo={queueInfo}\n\t\t\t\t/>}\n\n\t\t\t\t{modal}\n\t\t\t\t{children}\n\t\t\t</PopoverContainer>\n\t\t</div>\n\n\t\t<ChatButton\n\t\t\tagent={agent}\n\t\t\ttriggered={triggered}\n\t\t\ttext={title}\n\t\t\tbadge={unread}\n\t\t\tminimized={minimized}\n\t\t\tonClick={minimized ? onRestore : onMinimize}\n\t\t/>\n\n\t\t{sound && <Sound src={sound.src} play={sound.play} onStop={onSoundStop} dismissNotification={dismissNotification} />}\n\t</div>\n);\n\n\nScreen.Content = ScreenContent;\nScreen.Footer = ScreenFooter;\n\n\nexport default Screen;\n","import { Picker } from 'emoji-mart';\nimport { h, Component } from 'preact';\n\nimport { Button } from '../../components/Button';\nimport { CallIframe } from '../../components/Calls/CallIFrame';\nimport { CallNotification } from '../../components/Calls/CallNotification';\nimport { CallStatus } from '../../components/Calls/CallStatus';\nimport { Composer, ComposerAction, ComposerActions } from '../../components/Composer';\nimport { FilesDropTarget } from '../../components/FilesDropTarget';\nimport { FooterOptions, CharCounter } from '../../components/Footer';\nimport { Menu } from '../../components/Menu';\nimport { MessageList } from '../../components/Messages';\nimport { Screen } from '../../components/Screen';\nimport { createClassName } from '../../components/helpers';\nimport I18n from '../../i18n';\nimport ChangeIcon from '../../icons/change.svg';\nimport FinishIcon from '../../icons/finish.svg';\nimport PlusIcon from '../../icons/plus.svg';\nimport RemoveIcon from '../../icons/remove.svg';\nimport SendIcon from '../../icons/send.svg';\nimport EmojiIcon from '../../icons/smile.svg';\nimport styles from './styles.scss';\n\nexport default class Chat extends Component {\n\tstate = {\n\t\tatBottom: true,\n\t\ttext: '',\n\t\temojiPickerActive: false,\n\t}\n\n\thandleFilesDropTargetRef = (ref) => {\n\t\tthis.filesDropTarget = ref;\n\t}\n\n\thandleMessagesContainerRef = (messagesContainer) => {\n\t\tthis.messagesContainer = messagesContainer ? messagesContainer.base : null;\n\t}\n\n\thandleScrollTo = (region) => {\n\t\tconst { onTop, onBottom } = this.props;\n\n\t\tif (region === MessageList.SCROLL_AT_BOTTOM) {\n\t\t\tthis.setState({ atBottom: true });\n\t\t\tonBottom && onBottom();\n\t\t\treturn;\n\t\t}\n\n\t\tthis.setState({ atBottom: false });\n\n\t\tif (region === MessageList.SCROLL_AT_TOP) {\n\t\t\tonTop && onTop();\n\t\t}\n\t}\n\n\thandleUploadClick = (event) => {\n\t\tevent.preventDefault();\n\t\tthis.filesDropTarget.browse();\n\t}\n\n\thandleSendClick = (event) => {\n\t\tevent.preventDefault();\n\t\tthis.handleSubmit(this.state.text);\n\t}\n\n\thandleSubmit = (text) => {\n\t\tif (this.props.onSubmit) {\n\t\t\tthis.props.onSubmit(text);\n\t\t\tthis.setState({ text: '' });\n\t\t\tthis.turnOffEmojiPicker();\n\t\t}\n\t}\n\n\thandleChangeText = (text) => {\n\t\tlet value = text;\n\t\tconst { onChangeText, limitTextLength } = this.props;\n\t\tif (limitTextLength && limitTextLength < text.length) {\n\t\t\tvalue = value.substring(0, limitTextLength);\n\t\t}\n\t\tthis.setState({ text: value });\n\t\tonChangeText && onChangeText(value);\n\t}\n\n\ttoggleEmojiPickerState = () => {\n\t\tthis.setState({ emojiPickerActive: !this.state.emojiPickerActive });\n\t}\n\n\thandleEmojiSelect = (emoji) => {\n\t\tthis.toggleEmojiPickerState();\n\t\tthis.notifyEmojiSelect(emoji.native);\n\t}\n\n\thandleEmojiClick = () => {\n\t\tthis.turnOffEmojiPicker();\n\t}\n\n\tturnOffEmojiPicker = () => {\n\t\tif (this.state.emojiPickerActive) {\n\t\t\tthis.setState({ emojiPickerActive: !this.state.emojiPickerActive });\n\t\t}\n\t}\n\n\trender = ({\n\t\tcolor,\n\t\ttitle,\n\t\tfontColor,\n\t\tuid,\n\t\tagent,\n\t\ttypingUsernames,\n\t\tavatarResolver,\n\t\tconversationFinishedMessage,\n\t\tloading,\n\t\tonUpload,\n\t\tmessages,\n\t\tuploads = false,\n\t\toptions,\n\t\tonChangeDepartment,\n\t\tonFinishChat,\n\t\tonRemoveUserData,\n\t\tlastReadMessageId,\n\t\tqueueInfo,\n\t\tregistrationRequired,\n\t\tonRegisterUser,\n\t\tlimitTextLength,\n\t\tincomingCallAlert,\n\t\tongoingCall,\n\t\tdispatch,\n\t\t...props\n\t}, {\n\t\tatBottom = true,\n\t\ttext,\n\t}) => (\n\t\t<Screen\n\t\t\tcolor={color}\n\t\t\ttitle={title || I18n.t('Need help?')}\n\t\t\tfontColor={fontColor}\n\t\t\tagent={agent || null}\n\t\t\tqueueInfo={queueInfo}\n\t\t\tnopadding\n\t\t\tonChangeDepartment={onChangeDepartment}\n\t\t\tonFinishChat={onFinishChat}\n\t\t\tonRemoveUserData={onRemoveUserData}\n\t\t\tclassName={createClassName(styles, 'chat')}\n\t\t\thandleEmojiClick={this.handleEmojiClick}\n\t\t\t{...props}\n\t\t>\n\t\t\t<FilesDropTarget\n\t\t\t\tref={this.handleFilesDropTargetRef}\n\t\t\t\toverlayed\n\t\t\t\toverlayText={I18n.t('Drop here to upload a file')}\n\t\t\t\tonUpload={onUpload}\n\t\t\t>\n\t\t\t\t<Screen.Content nopadding>\n\t\t\t\t\t{ incomingCallAlert && !!incomingCallAlert.show && <CallNotification { ...incomingCallAlert } dispatch={dispatch} />}\n\t\t\t\t\t{ incomingCallAlert?.show && ongoingCall && ongoingCall.callStatus === CallStatus.IN_PROGRESS_SAME_TAB ? <CallIframe { ...incomingCallAlert } /> : null }\n\t\t\t\t\t<div className={createClassName(styles, 'chat__messages', { atBottom, loading })}>\n\t\t\t\t\t\t<MessageList\n\t\t\t\t\t\t\tref={this.handleMessagesContainerRef}\n\t\t\t\t\t\t\tavatarResolver={avatarResolver}\n\t\t\t\t\t\t\tuid={uid}\n\t\t\t\t\t\t\tmessages={messages}\n\t\t\t\t\t\t\ttypingUsernames={typingUsernames}\n\t\t\t\t\t\t\tconversationFinishedMessage={conversationFinishedMessage}\n\t\t\t\t\t\t\tlastReadMessageId={lastReadMessageId}\n\t\t\t\t\t\t\tonScrollTo={this.handleScrollTo}\n\t\t\t\t\t\t\thandleEmojiClick={this.handleEmojiClick}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{this.state.emojiPickerActive && <Picker\n\t\t\t\t\t\t\tstyle={{ position: 'absolute', zIndex: 10, bottom: 0, maxWidth: '90%', left: 20, maxHeight: '90%' }}\n\t\t\t\t\t\t\tshowPreview={false}\n\t\t\t\t\t\t\tshowSkinTones={false}\n\t\t\t\t\t\t\tsheetSize={64}\n\t\t\t\t\t\t\tonSelect={this.handleEmojiSelect}\n\t\t\t\t\t\t\tautoFocus={true}\n\t\t\t\t\t\t/>}\n\t\t\t\t\t</div>\n\t\t\t\t</Screen.Content>\n\t\t\t\t<Screen.Footer\n\t\t\t\t\toptions={options ? (\n\t\t\t\t\t\t<FooterOptions>\n\t\t\t\t\t\t\t<Menu.Group>\n\t\t\t\t\t\t\t\t{onChangeDepartment && (\n\t\t\t\t\t\t\t\t\t<Menu.Item onClick={onChangeDepartment} icon={ChangeIcon}>{I18n.t('Change department')}</Menu.Item>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{onRemoveUserData && (\n\t\t\t\t\t\t\t\t\t<Menu.Item onClick={onRemoveUserData} icon={RemoveIcon}>{I18n.t('Forget/Remove my data')}</Menu.Item>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{onFinishChat && (\n\t\t\t\t\t\t\t\t\t<Menu.Item danger onClick={onFinishChat} icon={FinishIcon}>{I18n.t('Finish this chat')}</Menu.Item>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</Menu.Group>\n\t\t\t\t\t\t</FooterOptions>\n\t\t\t\t\t) : null}\n\t\t\t\t\tlimit={limitTextLength\n\t\t\t\t\t\t? <CharCounter\n\t\t\t\t\t\t\tlimitTextLength={limitTextLength}\n\t\t\t\t\t\t\ttextLength={text.length}\n\t\t\t\t\t\t/> : null}\n\t\t\t\t>\n\t\t\t\t\t{ registrationRequired\n\t\t\t\t\t\t? <Button loading={loading} disabled={loading} onClick={onRegisterUser} stack>{I18n.t('Chat now')}</Button>\n\t\t\t\t\t\t: <Composer onUpload={onUpload}\n\t\t\t\t\t\t\tonSubmit={this.handleSubmit}\n\t\t\t\t\t\t\tonChange={this.handleChangeText}\n\t\t\t\t\t\t\tplaceholder={I18n.t('Type your message here')}\n\t\t\t\t\t\t\tvalue={text}\n\t\t\t\t\t\t\tnotifyEmojiSelect={(click) => { this.notifyEmojiSelect = click; }}\n\t\t\t\t\t\t\thandleEmojiClick={this.handleEmojiClick}\n\t\t\t\t\t\t\tpre={(\n\t\t\t\t\t\t\t\t<ComposerActions>\n\t\t\t\t\t\t\t\t\t<ComposerAction className={createClassName(styles, 'emoji-picker-icon')} onClick={this.toggleEmojiPickerState}>\n\t\t\t\t\t\t\t\t\t\t<EmojiIcon width={20} height={20} />\n\t\t\t\t\t\t\t\t\t</ComposerAction>\n\t\t\t\t\t\t\t\t</ComposerActions>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tpost={(\n\t\t\t\t\t\t\t\t<ComposerActions>\n\t\t\t\t\t\t\t\t\t{text.length === 0 && uploads && (\n\t\t\t\t\t\t\t\t\t\t<ComposerAction onClick={this.handleUploadClick}>\n\t\t\t\t\t\t\t\t\t\t\t<PlusIcon width={20} height={20} />\n\t\t\t\t\t\t\t\t\t\t</ComposerAction>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t{text.length > 0 && (\n\t\t\t\t\t\t\t\t\t\t<ComposerAction onClick={this.handleSendClick}>\n\t\t\t\t\t\t\t\t\t\t\t<SendIcon width={20} height={20} />\n\t\t\t\t\t\t\t\t\t\t</ComposerAction>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</ComposerActions>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tlimitTextLength={limitTextLength}\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t</Screen.Footer>\n\t\t\t</FilesDropTarget>\n\t\t</Screen>\n\t)\n}\n","import { h, Component } from 'preact';\nimport { route } from 'preact-router';\n\nimport { Livechat } from '../../api';\nimport { ModalManager } from '../../components/Modal';\nimport { debounce, getAvatarUrl, canRenderMessage, throttle, upsert } from '../../components/helpers';\nimport I18n from '../../i18n';\nimport { normalizeQueueAlert } from '../../lib/api';\nimport constants from '../../lib/constants';\nimport { loadConfig } from '../../lib/main';\nimport { parentCall, runCallbackEventEmitter } from '../../lib/parentCall';\nimport { createToken } from '../../lib/random';\nimport { initRoom, closeChat, loadMessages, loadMoreMessages, defaultRoomParams, getGreetingMessages } from '../../lib/room';\nimport { Consumer } from '../../store';\nimport Chat from './component';\n\nexport class ChatContainer extends Component {\n\tstate = {\n\t\troom: null,\n\t\tconnectingAgent: false,\n\t\tqueueSpot: 0,\n\t\ttriggerQueueMessage: true,\n\t\testimatedWaitTime: null,\n\t}\n\n\tcheckConnectingAgent = async () => {\n\t\tconst { connecting, queueInfo } = this.props;\n\t\tconst { connectingAgent, queueSpot, estimatedWaitTime } = this.state;\n\n\t\tconst newConnecting = connecting;\n\t\tconst newQueueSpot = (queueInfo && queueInfo.spot) || 0;\n\t\tconst newEstimatedWaitTime = queueInfo && queueInfo.estimatedWaitTimeSeconds;\n\n\t\tif (newConnecting !== connectingAgent || newQueueSpot !== queueSpot || newEstimatedWaitTime !== estimatedWaitTime) {\n\t\t\tthis.state.connectingAgent = newConnecting;\n\t\t\tthis.state.queueSpot = newQueueSpot;\n\t\t\tthis.state.estimatedWaitTime = newEstimatedWaitTime;\n\t\t\tawait this.handleQueueMessage(connecting, queueInfo);\n\t\t\tawait this.handleConnectingAgentAlert(newConnecting, normalizeQueueAlert(queueInfo));\n\t\t}\n\t}\n\n\tcheckRoom = () => {\n\t\tconst { room } = this.props;\n\t\tconst { room: stateRoom } = this.state;\n\t\tif (room && (!stateRoom || room._id !== stateRoom._id)) {\n\t\t\tthis.state.room = room;\n\t\t\tsetTimeout(loadMessages, 500);\n\t\t}\n\t}\n\n\tgrantUser = async () => {\n\t\tconst { token, user, guest, dispatch } = this.props;\n\n\t\tif (user) {\n\t\t\treturn user;\n\t\t}\n\n\t\tconst visitor = { token, ...guest };\n\t\tconst newUser = await Livechat.grantVisitor({ visitor });\n\t\tawait dispatch({ user: newUser });\n\t}\n\n\tgetRoom = async () => {\n\t\tconst { alerts, dispatch, room, messages } = this.props;\n\t\tconst previousMessages = getGreetingMessages(messages);\n\n\t\tif (room) {\n\t\t\treturn room;\n\t\t}\n\n\t\tawait dispatch({ loading: true });\n\t\ttry {\n\t\t\tconst params = defaultRoomParams();\n\t\t\tconst newRoom = await Livechat.room(params);\n\t\t\tawait dispatch({ room: newRoom, messages: previousMessages, noMoreMessages: false });\n\t\t\tawait initRoom();\n\n\t\t\tparentCall('callback', 'chat-started');\n\t\t\treturn newRoom;\n\t\t} catch (error) {\n\t\t\tconst { data: { error: reason } } = error;\n\t\t\tconst alert = { id: createToken(), children: I18n.t('Error starting a new conversation: %{reason}', { reason }), error: true, timeout: 10000 };\n\t\t\tawait dispatch({ loading: false, alerts: (alerts.push(alert), alerts) });\n\n\t\t\trunCallbackEventEmitter(reason);\n\t\t\tthrow error;\n\t\t} finally {\n\t\t\tawait dispatch({ loading: false });\n\t\t}\n\t}\n\n\thandleTop = () => {\n\t\tloadMoreMessages();\n\t}\n\n\tstartTyping = throttle(async ({ rid, username }) => {\n\t\tawait Livechat.notifyVisitorTyping(rid, username, true);\n\t\tthis.stopTypingDebounced({ rid, username });\n\t}, 4500)\n\n\tstopTyping = ({ rid, username }) => Livechat.notifyVisitorTyping(rid, username, false)\n\n\tstopTypingDebounced = debounce(this.stopTyping, 5000)\n\n\thandleChangeText = async () => {\n\t\tconst { user, room } = this.props;\n\t\tif (!(user && user.username && room && room._id)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.startTyping({ rid: room._id, username: user.username });\n\t}\n\n\thandleSubmit = async (msg) => {\n\t\tif (msg.trim() === '') {\n\t\t\treturn;\n\t\t}\n\n\t\tawait this.grantUser();\n\t\tconst { _id: rid } = await this.getRoom();\n\t\tconst { alerts, dispatch, token, user } = this.props;\n\n\t\ttry {\n\t\t\tthis.stopTypingDebounced.stop();\n\t\t\tawait Promise.all([\n\t\t\t\tthis.stopTyping({ rid, username: user.username }),\n\t\t\t\tLivechat.sendMessage({ msg, token, rid }),\n\t\t\t]);\n\t\t} catch (error) {\n\t\t\tconst reason = error?.data?.error ?? error.message;\n\t\t\tconst alert = { id: createToken(), children: reason, error: true, timeout: 5000 };\n\t\t\tawait dispatch({ alerts: (alerts.push(alert), alerts) });\n\t\t}\n\t\tawait Livechat.notifyVisitorTyping(rid, user.username, false);\n\t}\n\n\tdoFileUpload = async (rid, file) => {\n\t\tconst { alerts, dispatch } = this.props;\n\n\t\ttry {\n\t\t\tawait Livechat.uploadFile({ rid, file });\n\t\t} catch (error) {\n\t\t\tconst { data: { reason, sizeAllowed } } = error;\n\n\t\t\tlet message = I18n.t('FileUpload Error');\n\t\t\tswitch (reason) {\n\t\t\t\tcase 'error-type-not-allowed':\n\t\t\t\t\tmessage = I18n.t('Media Types Not Accepted.');\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'error-size-not-allowed':\n\t\t\t\t\tmessage = I18n.t('File exceeds allowed size of %{size}.', { size: sizeAllowed });\n\t\t\t}\n\n\t\t\tconst alert = { id: createToken(), children: message, error: true, timeout: 5000 };\n\t\t\tawait dispatch({ alerts: (alerts.push(alert), alerts) });\n\t\t}\n\t};\n\n\thandleUpload = async (files) => {\n\t\tawait this.grantUser();\n\t\tconst { _id: rid } = await this.getRoom();\n\n\t\tfiles.forEach((file) => this.doFileUpload(rid, file));\n\t}\n\n\thandleSoundStop = async () => {\n\t\tconst { dispatch, sound = {} } = this.props;\n\t\tawait dispatch({ sound: { ...sound, play: false } });\n\t}\n\n\tonChangeDepartment = () => {\n\t\troute('/switch-department');\n\t}\n\n\tonFinishChat = async () => {\n\t\tconst { success } = await ModalManager.confirm({\n\t\t\ttext: I18n.t('Are you sure you want to finish this chat?'),\n\t\t});\n\n\t\tif (!success) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { alerts, dispatch, room: { _id: rid } = {} } = this.props;\n\n\t\tawait dispatch({ loading: true });\n\t\ttry {\n\t\t\tif (rid) {\n\t\t\t\tawait Livechat.closeChat({ rid });\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconsole.error(error);\n\t\t\tconst alert = { id: createToken(), children: I18n.t('Error closing chat.'), error: true, timeout: 0 };\n\t\t\tawait dispatch({ alerts: (alerts.push(alert), alerts) });\n\t\t} finally {\n\t\t\tawait dispatch({ loading: false });\n\t\t\tawait closeChat();\n\t\t}\n\t}\n\n\tonRemoveUserData = async () => {\n\t\tconst { success } = await ModalManager.confirm({\n\t\t\ttext: I18n.t('Are you sure you want to remove all of your personal data?'),\n\t\t});\n\n\t\tif (!success) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { alerts, dispatch } = this.props;\n\n\t\tawait dispatch({ loading: true });\n\t\ttry {\n\t\t\tawait Livechat.deleteVisitor();\n\t\t} catch (error) {\n\t\t\tconsole.error(error);\n\t\t\tconst alert = { id: createToken(), children: I18n.t('Error removing user data.'), error: true, timeout: 0 };\n\t\t\tawait dispatch({ alerts: (alerts.push(alert), alerts) });\n\t\t} finally {\n\t\t\tawait loadConfig();\n\t\t\tawait dispatch({ loading: false });\n\t\t\troute('/chat-finished');\n\t\t}\n\t}\n\n\tcanSwitchDepartment = () => {\n\t\tconst { allowSwitchingDepartments, departments = {} } = this.props;\n\t\treturn allowSwitchingDepartments && departments.filter((dept) => dept.showOnRegistration).length > 1;\n\t}\n\n\tcanFinishChat = () => {\n\t\tconst { room, connecting } = this.props;\n\t\treturn (room !== undefined) || connecting;\n\t}\n\n\tcanRemoveUserData = () => {\n\t\tconst { allowRemoveUserData } = this.props;\n\t\treturn allowRemoveUserData;\n\t}\n\n\tregistrationRequired = () => {\n\t\tconst {\n\t\t\tregistrationFormEnabled,\n\t\t\tnameFieldRegistrationForm,\n\t\t\temailFieldRegistrationForm,\n\t\t\tdepartments = [],\n\t\t\tuser,\n\t\t} = this.props;\n\n\t\tif (user && user.token) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (!registrationFormEnabled) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst showDepartment = departments.filter((dept) => dept.showOnRegistration).length > 0;\n\t\treturn nameFieldRegistrationForm || emailFieldRegistrationForm || showDepartment;\n\t}\n\n\tonRegisterUser = () => route('/register');\n\n\tshowOptionsMenu = () =>\n\t\tthis.canSwitchDepartment() || this.canFinishChat() || this.canRemoveUserData()\n\n\n\tasync handleConnectingAgentAlert(connecting, message) {\n\t\tconst { alerts: oldAlerts, dispatch } = this.props;\n\t\tconst { connectingAgentAlertId } = constants;\n\t\tconst alerts = oldAlerts.filter((item) => item.id !== connectingAgentAlertId);\n\t\tif (connecting) {\n\t\t\talerts.push({\n\t\t\t\tid: connectingAgentAlertId,\n\t\t\t\tchildren: message || I18n.t('Please, wait for the next available agent..'),\n\t\t\t\twarning: true,\n\t\t\t\thideCloseButton: true,\n\t\t\t\ttimeout: 0,\n\t\t\t});\n\t\t}\n\n\t\tawait dispatch({ alerts });\n\t}\n\n\tasync handleQueueMessage(connecting, queueInfo) {\n\t\tif (!queueInfo) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { livechatQueueMessageId } = constants;\n\t\tconst { message: { text: msg, user: u } = {} } = queueInfo;\n\t\tconst { triggerQueueMessage } = this.state;\n\n\t\tconst { room } = this.props;\n\t\tif (!room || !connecting || !msg || !triggerQueueMessage) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.state.triggerQueueMessage = false;\n\n\t\tconst { dispatch, messages } = this.props;\n\t\tconst ts = new Date();\n\t\tconst message = { _id: livechatQueueMessageId, msg, u, ts: ts.toISOString() };\n\t\tawait dispatch({\n\t\t\tmessages: upsert(messages, message, ({ _id }) => _id === message._id, ({ ts }) => ts),\n\t\t});\n\t}\n\n\tasync componentDidMount() {\n\t\tawait this.checkConnectingAgent();\n\t\tloadMessages();\n\t}\n\n\tasync componentDidUpdate(prevProps) {\n\t\tconst { messages, visible, minimized, dispatch } = this.props;\n\t\tconst { messages: prevMessages, alerts: prevAlerts } = prevProps;\n\n\t\tif (messages && prevMessages && messages.length !== prevMessages.length && visible && !minimized) {\n\t\t\tconst nextLastMessage = messages[messages.length - 1];\n\t\t\tconst lastMessage = prevMessages[prevMessages.length - 1];\n\t\t\tif ((nextLastMessage && lastMessage && nextLastMessage._id !== lastMessage._id) || (messages.length === 1 && prevMessages.length === 0)) {\n\t\t\t\tconst newAlerts = prevAlerts.filter((item) => item.id !== constants.unreadMessagesAlertId);\n\t\t\t\tdispatch({ alerts: newAlerts, unread: null, lastReadMessageId: nextLastMessage._id });\n\t\t\t}\n\t\t}\n\n\t\tawait this.checkConnectingAgent();\n\t\tthis.checkRoom();\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.handleConnectingAgentAlert(false);\n\t}\n\n\trender = ({ user, ...props }) => (\n\t\t<Chat\n\t\t\t{...props}\n\t\t\tavatarResolver={getAvatarUrl}\n\t\t\tuid={user && user._id}\n\t\t\tonTop={this.handleTop}\n\t\t\tonChangeText={this.handleChangeText}\n\t\t\tonSubmit={this.handleSubmit}\n\t\t\tonUpload={this.handleUpload}\n\t\t\toptions={this.showOptionsMenu()}\n\t\t\tonChangeDepartment={(this.canSwitchDepartment() && this.onChangeDepartment) || null}\n\t\t\tonFinishChat={(this.canFinishChat() && this.onFinishChat) || null}\n\t\t\tonRemoveUserData={(this.canRemoveUserData() && this.onRemoveUserData) || null}\n\t\t\tonSoundStop={this.handleSoundStop}\n\t\t\tregistrationRequired={this.registrationRequired()}\n\t\t\tonRegisterUser={this.onRegisterUser}\n\t\t/>\n\t)\n}\n\n\nexport const ChatConnector = ({ ref, ...props }) => (\n\t<Consumer>\n\t\t{({\n\t\t\tconfig: {\n\t\t\t\tsettings: {\n\t\t\t\t\tfileUpload: uploads,\n\t\t\t\t\tallowSwitchingDepartments,\n\t\t\t\t\tforceAcceptDataProcessingConsent: allowRemoveUserData,\n\t\t\t\t\tshowConnecting,\n\t\t\t\t\tregistrationForm,\n\t\t\t\t\tnameFieldRegistrationForm,\n\t\t\t\t\temailFieldRegistrationForm,\n\t\t\t\t\tlimitTextLength,\n\t\t\t\t} = {},\n\t\t\t\tmessages: {\n\t\t\t\t\tconversationFinishedMessage,\n\t\t\t\t} = {},\n\t\t\t\ttheme: {\n\t\t\t\t\tcolor,\n\t\t\t\t\ttitle,\n\t\t\t\t} = {},\n\t\t\t\tdepartments = {},\n\t\t\t},\n\t\t\tiframe: {\n\t\t\t\ttheme: {\n\t\t\t\t\tcolor: customColor,\n\t\t\t\t\tfontColor: customFontColor,\n\t\t\t\t\ticonColor: customIconColor,\n\t\t\t\t\ttitle: customTitle,\n\t\t\t\t} = {},\n\t\t\t\tguest,\n\t\t\t} = {},\n\t\t\ttoken,\n\t\t\tagent,\n\t\t\tsound,\n\t\t\tuser,\n\t\t\troom,\n\t\t\tmessages,\n\t\t\tnoMoreMessages,\n\t\t\ttyping,\n\t\t\tloading,\n\t\t\tdispatch,\n\t\t\talerts,\n\t\t\tvisible,\n\t\t\tunread,\n\t\t\tlastReadMessageId,\n\t\t\ttriggerAgent,\n\t\t\tqueueInfo,\n\t\t\tincomingCallAlert,\n\t\t\tongoingCall,\n\t\t}) => (\n\t\t\t<ChatContainer\n\t\t\t\tref={ref}\n\t\t\t\t{...props}\n\t\t\t\ttheme={{\n\t\t\t\t\tcolor: customColor || color,\n\t\t\t\t\tfontColor: customFontColor,\n\t\t\t\t\ticonColor: customIconColor,\n\t\t\t\t\ttitle: customTitle,\n\t\t\t\t}}\n\t\t\t\ttitle={customTitle || title || I18n.t('Need help?')}\n\t\t\t\tsound={sound}\n\t\t\t\ttoken={token}\n\t\t\t\tuser={user}\n\t\t\t\tagent={agent ? {\n\t\t\t\t\t_id: agent._id,\n\t\t\t\t\tname: agent.name,\n\t\t\t\t\tstatus: agent.status,\n\t\t\t\t\temail: agent.emails && agent.emails[0] && agent.emails[0].address,\n\t\t\t\t\tusername: agent.username,\n\t\t\t\t\tphone: (agent.phone && agent.phone[0] && agent.phone[0].phoneNumber) || (agent.customFields && agent.customFields.phone),\n\t\t\t\t\tavatar: agent.username ? {\n\t\t\t\t\t\tdescription: agent.username,\n\t\t\t\t\t\tsrc: getAvatarUrl(agent.username),\n\t\t\t\t\t} : undefined,\n\t\t\t\t} : undefined}\n\t\t\t\troom={room}\n\t\t\t\tmessages={messages && messages.filter((message) => canRenderMessage(message))}\n\t\t\t\tnoMoreMessages={noMoreMessages}\n\t\t\t\temoji={true}\n\t\t\t\tuploads={uploads}\n\t\t\t\ttypingUsernames={Array.isArray(typing) ? typing : []}\n\t\t\t\tloading={loading}\n\t\t\t\tshowConnecting={showConnecting} // setting from server that tells if app needs to show \"connecting\" sometimes\n\t\t\t\tconnecting={!!(room && !agent && (showConnecting || queueInfo))}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tdepartments={departments}\n\t\t\t\tallowSwitchingDepartments={allowSwitchingDepartments}\n\t\t\t\tconversationFinishedMessage={conversationFinishedMessage || I18n.t('Conversation finished')}\n\t\t\t\tallowRemoveUserData={allowRemoveUserData}\n\t\t\t\talerts={alerts}\n\t\t\t\tvisible={visible}\n\t\t\t\tunread={unread}\n\t\t\t\tlastReadMessageId={lastReadMessageId}\n\t\t\t\tguest={guest}\n\t\t\t\ttriggerAgent={triggerAgent}\n\t\t\t\tqueueInfo={queueInfo ? {\n\t\t\t\t\tspot: queueInfo.spot,\n\t\t\t\t\testimatedWaitTimeSeconds: queueInfo.estimatedWaitTimeSeconds,\n\t\t\t\t\tmessage: queueInfo.message,\n\t\t\t\t} : undefined}\n\t\t\t\tregistrationFormEnabled={registrationForm}\n\t\t\t\tnameFieldRegistrationForm={nameFieldRegistrationForm}\n\t\t\t\temailFieldRegistrationForm={emailFieldRegistrationForm}\n\t\t\t\tlimitTextLength={limitTextLength}\n\t\t\t\tincomingCallAlert={incomingCallAlert}\n\t\t\t\tongoingCall={ongoingCall}\n\t\t\t/>\n\t\t)}\n\t</Consumer>\n);\n\n\nexport default ChatConnector;\n","import { h, Component } from 'preact';\n\nimport { Button } from '../../components/Button';\nimport { ButtonGroup } from '../../components/ButtonGroup';\nimport Screen from '../../components/Screen';\nimport { createClassName } from '../../components/helpers';\nimport I18n from '../../i18n';\nimport styles from './styles.scss';\n\nconst defaultGreeting = I18n.t('Thanks for talking with us');\nconst defaultMessage = I18n.t('If you have any other questions, just press the button below to start a new chat.');\n\nexport default class ChatFinished extends Component {\n\thandleClick = () => {\n\t\tconst { onRedirectChat } = this.props;\n\t\tonRedirectChat && onRedirectChat();\n\t}\n\n\trender = ({\n\t\tcolor,\n\t\ttitle,\n\t\tgreeting,\n\t\tmessage,\n\t\t// eslint-disable-next-line no-unused-vars\n\t\tonRedirectChat,\n\t\t...props\n\t}) => (\n\t\t<Screen\n\t\t\tcolor={color}\n\t\t\ttitle={title}\n\t\t\tclassName={createClassName(styles, 'chat-finished')}\n\t\t\t{...props}\n\t\t>\n\t\t\t<Screen.Content>\n\t\t\t\t<p className={createClassName(styles, 'chat-finished__greeting')}>{greeting || defaultGreeting}</p>\n\t\t\t\t<p className={createClassName(styles, 'chat-finished__message')}>{message || defaultMessage}</p>\n\n\t\t\t\t<ButtonGroup>\n\t\t\t\t\t<Button onClick={this.handleClick} stack>{ I18n.t('New Chat') }</Button>\n\t\t\t\t</ButtonGroup>\n\t\t\t</Screen.Content>\n\t\t\t<Screen.Footer />\n\t\t</Screen>\n\t)\n}\n","import { h, Component } from 'preact';\nimport { route } from 'preact-router';\n\nimport I18n from '../../i18n';\nimport { Consumer } from '../../store';\nimport ChatFinished from './component';\n\n\nexport class ChatFinishedContainer extends Component {\n\thandleRedirect = () => {\n\t\troute('/');\n\t}\n\n\trender = (props) => (\n\t\t<ChatFinished {...props} onRedirectChat={this.handleRedirect} />\n\t)\n}\n\n\nexport const ChatFinishedConnector = ({ ref, ...props }) => (\n\t<Consumer>\n\t\t{({\n\t\t\tconfig: {\n\t\t\t\tmessages: {\n\t\t\t\t\tconversationFinishedMessage: greeting,\n\t\t\t\t\tconversationFinishedText: message,\n\t\t\t\t} = {},\n\t\t\t\ttheme: {\n\t\t\t\t\tcolor,\n\t\t\t\t} = {},\n\t\t\t} = {},\n\t\t\tiframe: {\n\t\t\t\ttheme: {\n\t\t\t\t\tcolor: customColor,\n\t\t\t\t\tfontColor: customFontColor,\n\t\t\t\t\ticonColor: customIconColor,\n\t\t\t\t} = {},\n\t\t\t} = {},\n\t\t}) => (\n\t\t\t<ChatFinishedContainer\n\t\t\t\tref={ref}\n\t\t\t\t{...props}\n\t\t\t\ttheme={{\n\t\t\t\t\tcolor: customColor || color,\n\t\t\t\t\tfontColor: customFontColor,\n\t\t\t\t\ticonColor: customIconColor,\n\t\t\t\t}}\n\t\t\t\ttitle={I18n.t('Chat Finished')}\n\t\t\t\tgreeting={greeting}\n\t\t\t\tmessage={message}\n\t\t\t/>\n\t\t)}\n\t</Consumer>\n);\n\n\nexport default ChatFinishedConnector;\n","import MarkdownIt from 'markdown-it';\nimport { h, Component } from 'preact';\n\nimport { Button } from '../../components/Button';\nimport { ButtonGroup } from '../../components/ButtonGroup';\nimport Screen from '../../components/Screen';\nimport { createClassName } from '../../components/helpers';\nimport I18n from '../../i18n';\nimport styles from './styles.scss';\n\n\nconst md = new MarkdownIt({\n\tlinkify: false,\n\ttypographer: false,\n});\n\nconst defaultConsentText = I18n.t(\n\t'The controller of your personal data is [Company Name], with registered '\n\t+ 'office at [Company Address]. To start the chat you agree that your '\n\t+ 'personal data shall be processed and trasmitted in accordance with the General Data Protection Regulation (GDPR).',\n);\n\nconst defaultInstructions = I18n.t(\n\t'Go to **menu options → Forget/Remove my personal data** to request the immediate removal of your data.',\n);\n\nexport default class GDPR extends Component {\n\thandleClick = () => {\n\t\tconst { onAgree } = this.props;\n\t\tonAgree && onAgree();\n\t}\n\n\trender = ({\n\t\tcolor,\n\t\ttitle,\n\t\tconsentText,\n\t\tinstructions,\n\t\t// eslint-disable-next-line no-unused-vars\n\t\tonAgree,\n\t\t...props\n\t}) => (\n\t\t<Screen\n\t\t\tcolor={color}\n\t\t\ttitle={title}\n\t\t\tclassName={createClassName(styles, 'gdpr')}\n\t\t\t{...props}\n\t\t>\n\t\t\t<Screen.Content>\n\t\t\t\t<p\n\t\t\t\t\tclassName={createClassName(styles, 'gdpr__consent-text')}\n\t\t\t\t\t// eslint-disable-next-line react/no-danger\n\t\t\t\t\tdangerouslySetInnerHTML={{ __html: md.renderInline(consentText || defaultConsentText) }}\n\t\t\t\t/>\n\t\t\t\t<p\n\t\t\t\t\tclassName={createClassName(styles, 'gdpr__instructions')}\n\t\t\t\t\t// eslint-disable-next-line react/no-danger\n\t\t\t\t\tdangerouslySetInnerHTML={{ __html: md.renderInline(instructions || defaultInstructions) }}\n\t\t\t\t/>\n\n\t\t\t\t<ButtonGroup>\n\t\t\t\t\t<Button onClick={this.handleClick} stack>{ I18n.t('I Agree') }</Button>\n\t\t\t\t</ButtonGroup>\n\t\t\t</Screen.Content>\n\t\t\t<Screen.Footer />\n\t\t</Screen>\n\t)\n}\n","import { h, Component } from 'preact';\nimport { route } from 'preact-router';\n\nimport I18n from '../../i18n';\nimport { Consumer } from '../../store';\nimport GDPRAgreement from './component';\n\n\nexport class GDPRContainer extends Component {\n\thandleAgree = async () => {\n\t\tconst { dispatch } = this.props;\n\t\tawait dispatch({ gdpr: { accepted: true } });\n\t\troute('/');\n\t}\n\n\trender = (props) => (\n\t\t<GDPRAgreement {...props} onAgree={this.handleAgree} />\n\t)\n}\n\nexport const GDPRConnector = ({ ref, ...props }) => (\n\t<Consumer>\n\t\t{({\n\t\t\tconfig: {\n\t\t\t\ttheme: {\n\t\t\t\t\tcolor,\n\t\t\t\t} = {},\n\t\t\t\tmessages: {\n\t\t\t\t\tdataProcessingConsentText: consentText,\n\t\t\t\t} = {},\n\t\t\t} = {},\n\t\t\tiframe: {\n\t\t\t\ttheme: {\n\t\t\t\t\tcolor: customColor,\n\t\t\t\t\tfontColor: customFontColor,\n\t\t\t\t\ticonColor: customIconColor,\n\t\t\t\t} = {},\n\t\t\t} = {},\n\t\t\tdispatch,\n\t\t}) => (\n\t\t\t<GDPRContainer\n\t\t\t\tref={ref}\n\t\t\t\t{...props}\n\t\t\t\ttheme={{\n\t\t\t\t\tcolor: customColor || color,\n\t\t\t\t\tfontColor: customFontColor,\n\t\t\t\t\ticonColor: customIconColor,\n\t\t\t\t}}\n\t\t\t\ttitle={I18n.t('GDPR')}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tconsentText={consentText}\n\t\t\t/>\n\t\t)}\n\t</Consumer>\n);\n\n\nexport default GDPRConnector;\n","import { h, cloneElement } from 'preact';\n\nimport { createClassName } from '../../helpers';\nimport styles from './styles.scss';\n\n\nexport const FormField = ({\n\trequired,\n\tlabel,\n\tdescription,\n\terror,\n\tclassName,\n\tstyle = {},\n\tchildren,\n}) => (\n\t<div\n\t\tclassName={createClassName(styles, 'form-field', { required, error: !!error }, [className])}\n\t\tstyle={style}\n\t>\n\t\t<label className={createClassName(styles, 'form-field__label-wrapper')}>\n\t\t\t{label\n\t\t\t\t? <span className={createClassName(styles, 'form-field__label')}>{label}</span>\n\t\t\t\t: null}\n\t\t\t<span className={createClassName(styles, 'form-field__input')}>\n\t\t\t\t{error\n\t\t\t\t\t? (Array.isArray(children) ? children : [children])\n\t\t\t\t\t\t.map((child) => cloneElement(child, { error: !!error }))\n\t\t\t\t\t: children}\n\t\t\t</span>\n\t\t</label>\n\t\t<small className={createClassName(styles, 'form-field__description')}>\n\t\t\t{error || description}\n\t\t</small>\n\t</div>\n);\n","import { h } from 'preact';\n\nimport { createClassName, memo } from '../../helpers';\nimport styles from './styles.scss';\n\n\nexport const TextInput = memo(({\n\tname,\n\tvalue,\n\tplaceholder,\n\tdisabled,\n\tsmall,\n\tmultiline = false,\n\trows = 1,\n\terror,\n\tonChange,\n\tonInput,\n\tclassName,\n\tstyle = {},\n\t...props\n}) => (\n\tmultiline\n\t\t? (\n\t\t\t<textarea\n\t\t\t\trows={rows}\n\t\t\t\tname={name}\n\t\t\t\tvalue={value}\n\t\t\t\tplaceholder={placeholder}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tonChange={onChange}\n\t\t\t\tonInput={onInput}\n\t\t\t\tclassName={createClassName(styles, 'text-input', { disabled, error, small, multiline }, [className])}\n\t\t\t\tstyle={style}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t)\n\t\t: (\n\t\t\t<input\n\t\t\t\ttype='text'\n\t\t\t\tname={name}\n\t\t\t\tvalue={value}\n\t\t\t\tplaceholder={placeholder}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tonChange={onChange}\n\t\t\t\tonInput={onInput}\n\t\t\t\tclassName={createClassName(styles, 'text-input', { disabled, error, small }, [className])}\n\t\t\t\tstyle={style}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t)\n));\n","import { h } from 'preact';\n\nimport { createClassName, memo } from '../../helpers';\nimport styles from './styles.scss';\n\n\nexport const PasswordInput = memo(({\n\tname,\n\tvalue,\n\tplaceholder,\n\tdisabled,\n\tsmall,\n\terror,\n\tonChange,\n\tonInput,\n\tclassName,\n\tstyle = {},\n}) => (\n\t<input\n\t\ttype='password'\n\t\tname={name}\n\t\tvalue={value}\n\t\tplaceholder={placeholder}\n\t\tdisabled={disabled}\n\t\tonChange={onChange}\n\t\tonInput={onInput}\n\t\tclassName={createClassName(styles, 'password-input', { disabled, error, small }, [className])}\n\t\tstyle={style}\n\t/>\n));\n","import { h } from 'preact';\n\nimport I18n from '../../i18n';\nimport { createClassName, MemoizedComponent } from '../helpers';\nimport styles from './styles.scss';\n\n\nexport class Form extends MemoizedComponent {\n\tstatic defaultHandleSubmit = (event) => {\n\t\tevent.preventDefault();\n\t}\n\n\trender = ({ onSubmit, className, style = {}, children }) => (\n\t\t<form\n\t\t\tnoValidate\n\t\t\tonSubmit={onSubmit || Form.defaultHandleSubmit}\n\t\t\tclassName={createClassName(styles, 'form', {}, [className])}\n\t\t\tstyle={style}\n\t\t>\n\t\t\t{children}\n\t\t</form>\n\t)\n}\n\nexport const Validations = {\n\tnonEmpty: ({ value }) => (!value ? I18n.t('Field required') : undefined),\n\n\temail: ({ value }) => (!/^\\S+@\\S+\\.\\S+/.test(String(value).toLowerCase()) ? I18n.t('Invalid email') : null),\n\n\tcustom: ({ value, pattern }) => (new RegExp(pattern, 'i').test(String(value)) ? null : I18n.t('Invalid value')),\n};\n\n\nexport { FormField } from './FormField';\nexport { TextInput } from './TextInput';\nexport { PasswordInput } from './PasswordInput';\nexport { SelectInput } from './SelectInput';\n","import { h, Component } from 'preact';\n\nimport { Button } from '../../components/Button';\nimport { ButtonGroup } from '../../components/ButtonGroup';\nimport { Form, FormField, SelectInput, TextInput, Validations } from '../../components/Form';\nimport { renderMarkdown } from '../../components/Messages/MessageText/markdown';\nimport Screen from '../../components/Screen';\nimport { createClassName, sortArrayByColumn } from '../../components/helpers';\nimport I18n from '../../i18n';\nimport styles from './styles.scss';\n\n\nconst defaultTitle = I18n.t('Leave a message');\nconst defaultMessage = I18n.t('We are not online right now. Please, leave a message.');\nconst defaultUnavailableMessage = ''; // TODO\n\nexport default class LeaveMessage extends Component {\n\tvalidations = {\n\t\tname: [Validations.nonEmpty],\n\t\temail: [Validations.nonEmpty, Validations.email],\n\t\tdepartment: [],\n\t\tmessage: [Validations.nonEmpty],\n\t}\n\n\tgetDefaultState = () => {\n\t\tconst { hasDepartmentField, departments } = this.props;\n\n\t\tlet department = null;\n\t\tif (hasDepartmentField && departments && departments.length > 0) {\n\t\t\tdepartment = { value: '' };\n\t\t}\n\n\t\treturn {\n\t\t\tname: { value: '' },\n\t\t\temail: { value: '' },\n\t\t\tdepartment,\n\t\t\tmessage: { value: '' },\n\t\t};\n\t};\n\n\tgetValidableFields = () => Object.keys(this.validations)\n\t\t.map((fieldName) => (this.state[fieldName] ? { fieldName, ...this.state[fieldName] } : null))\n\t\t.filter(Boolean)\n\n\tvalidate = ({ name, value }) => this.validations[name].reduce((error, validation) => error || validation({ value }), undefined)\n\n\tvalidateAll = () => {\n\t\tfor (const { fieldName: name, value } of this.getValidableFields()) {\n\t\t\tconst error = this.validate({ name, value });\n\t\t\tthis.setState({ [name]: { ...this.state[name], value, error, showError: false } });\n\t\t}\n\t}\n\n\treset = () => this.setState(this.getDefaultState());\n\n\tisValid = () => this.getValidableFields().every(({ error } = {}) => !error)\n\n\thandleFieldChange = (name) => ({ target: { value } }) => {\n\t\tconst error = this.validate({ name, value });\n\t\tthis.setState({ [name]: { ...this.state[name], value, error, showError: false } }, () => { this.validateAll(); });\n\t}\n\n\thandleNameChange = this.handleFieldChange('name')\n\n\thandleEmailChange = this.handleFieldChange('email')\n\n\thandleDepartmentChange = this.handleFieldChange('department')\n\n\thandleMessageChange = this.handleFieldChange('message')\n\n\thandleSubmit = async (event) => {\n\t\tevent.preventDefault();\n\n\t\tif (this.props.onSubmit) {\n\t\t\tconst values = Object.entries(this.state)\n\t\t\t\t.filter(([, state]) => state !== null)\n\t\t\t\t.map(([name, { value }]) => ({ [name]: value }))\n\t\t\t\t.reduce((values, entry) => ({ ...values, ...entry }), {});\n\n\t\t\tif (await this.props.onSubmit(values)) {\n\t\t\t\tthis.reset();\n\t\t\t}\n\t\t}\n\t}\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = this.getDefaultState();\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.validateAll();\n\t}\n\n\trenderForm = ({ loading, departments, valid = this.isValid() }, { name, email, department, message }) => (\n\t\t<Form onSubmit={this.handleSubmit}>\n\t\t\t{name\n\t\t\t\t? (\n\t\t\t\t\t<FormField\n\t\t\t\t\t\trequired\n\t\t\t\t\t\tlabel={I18n.t('Name')}\n\t\t\t\t\t\terror={name.showError && name.error}\n\t\t\t\t\t>\n\t\t\t\t\t\t<TextInput\n\t\t\t\t\t\t\tname='name'\n\t\t\t\t\t\t\tvalue={name.value}\n\t\t\t\t\t\t\tplaceholder={I18n.t('Insert your %{field} here...', { field: I18n.t('Name') })}\n\t\t\t\t\t\t\tdisabled={loading}\n\t\t\t\t\t\t\tonInput={this.handleNameChange}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FormField>\n\t\t\t\t)\n\t\t\t\t: null}\n\n\t\t\t{email\n\t\t\t\t? (\n\t\t\t\t\t<FormField\n\t\t\t\t\t\trequired\n\t\t\t\t\t\tlabel={I18n.t('Email')}\n\t\t\t\t\t\terror={email.showError && email.error}\n\t\t\t\t\t>\n\t\t\t\t\t\t<TextInput\n\t\t\t\t\t\t\tname='email'\n\t\t\t\t\t\t\tvalue={email.value}\n\t\t\t\t\t\t\tplaceholder={I18n.t('Insert your %{field} here...', { field: I18n.t('Email') })}\n\t\t\t\t\t\t\tdisabled={loading}\n\t\t\t\t\t\t\tonInput={this.handleEmailChange}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FormField>\n\t\t\t\t)\n\t\t\t\t: null}\n\n\t\t\t{department\n\t\t\t\t? (\n\t\t\t\t\t<FormField\n\t\t\t\t\t\tlabel={I18n.t('I need help with...')}\n\t\t\t\t\t\terror={department.showError && department.error}\n\t\t\t\t\t>\n\t\t\t\t\t\t<SelectInput\n\t\t\t\t\t\t\tname='department'\n\t\t\t\t\t\t\tvalue={department.value}\n\t\t\t\t\t\t\toptions={sortArrayByColumn(departments, 'name').map(({ _id, name }) => ({ value: _id, label: name }))}\n\t\t\t\t\t\t\tplaceholder={I18n.t('Choose an option...')}\n\t\t\t\t\t\t\tdisabled={loading}\n\t\t\t\t\t\t\terror={department.showError}\n\t\t\t\t\t\t\tonInput={this.handleDepartmentChange}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FormField>\n\t\t\t\t)\n\t\t\t\t: null}\n\n\t\t\t{message\n\t\t\t\t? (\n\t\t\t\t\t<FormField\n\t\t\t\t\t\trequired\n\t\t\t\t\t\tlabel={I18n.t('Message')}\n\t\t\t\t\t\terror={message.showError && message.error}\n\t\t\t\t\t>\n\t\t\t\t\t\t<TextInput\n\t\t\t\t\t\t\tname='message'\n\t\t\t\t\t\t\tvalue={message.value}\n\t\t\t\t\t\t\tmultiline\n\t\t\t\t\t\t\trows={4}\n\t\t\t\t\t\t\tplaceholder={I18n.t('Write your message...')}\n\t\t\t\t\t\t\tdisabled={loading}\n\t\t\t\t\t\t\terror={message.showError}\n\t\t\t\t\t\t\tonInput={this.handleMessageChange}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FormField>\n\t\t\t\t)\n\t\t\t\t: null}\n\n\t\t\t<ButtonGroup>\n\t\t\t\t<Button submit loading={loading} disabled={!valid || loading} stack>{I18n.t('Send')}</Button>\n\t\t\t</ButtonGroup>\n\t\t</Form>\n\t)\n\n\trender = ({ color, title, message, unavailableMessage, hasForm, ...props }) => (\n\t\t<Screen\n\t\t\tcolor={color}\n\t\t\ttitle={title || defaultTitle}\n\t\t\tclassName={createClassName(styles, 'leave-message')}\n\t\t\t{...props}\n\t\t>\n\t\t\t<Screen.Content>\n\t\t\t\t<div className={createClassName(styles, 'leave-message__main-message')}\n\t\t\t\t\t// eslint-disable-next-line react/no-danger\n\t\t\t\t\tdangerouslySetInnerHTML={{ __html: renderMarkdown(hasForm ? message || defaultMessage : unavailableMessage || defaultUnavailableMessage) }}\n\t\t\t\t/>\n\t\t\t\t{hasForm && this.renderForm(this.props, this.state)}\n\t\t\t</Screen.Content>\n\t\t\t<Screen.Footer />\n\t\t</Screen>\n\t)\n}\n","import { h, Component } from 'preact';\n\nimport { Livechat } from '../../api';\nimport { ModalManager } from '../../components/Modal';\nimport { parseOfflineMessage } from '../../components/helpers';\nimport { parentCall } from '../../lib/parentCall';\nimport { createToken } from '../../lib/random';\nimport { Consumer } from '../../store';\nimport LeaveMessage from './component';\n\n\nexport class LeaveMessageContainer extends Component {\n\thandleSubmit = async (fields) => {\n\t\tconst { alerts, dispatch, successMessage } = this.props;\n\n\t\tawait dispatch({ loading: true });\n\t\ttry {\n\t\t\tconst payload = parseOfflineMessage(fields);\n\t\t\tconst text = await Livechat.sendOfflineMessage(payload);\n\t\t\tawait ModalManager.alert({\n\t\t\t\ttext: successMessage || text,\n\t\t\t});\n\t\t\tparentCall('callback', ['offline-form-submit', fields]);\n\t\t\treturn true;\n\t\t} catch (error) {\n\t\t\tconst { data: { message } } = error;\n\t\t\tconsole.error(message);\n\t\t\tconst alert = { id: createToken(), children: message, error: true, timeout: 5000 };\n\t\t\tawait dispatch({ alerts: (alerts.push(alert), alerts) });\n\t\t\treturn false;\n\t\t} finally {\n\t\t\tawait dispatch({ loading: false });\n\t\t}\n\t}\n\n\trender = (props) => (\n\t\t<LeaveMessage {...props} onSubmit={this.handleSubmit} />\n\t)\n}\n\n\nexport const LeaveMessageConnector = ({ ref, ...props }) => (\n\t<Consumer>\n\t\t{({\n\t\t\tconfig: {\n\t\t\t\tdepartments = {},\n\t\t\t\tmessages: {\n\t\t\t\t\tofflineMessage: message,\n\t\t\t\t\tofflineSuccessMessage: successMessage,\n\t\t\t\t\tofflineUnavailableMessage: unavailableMessage,\n\t\t\t\t} = {},\n\t\t\t\ttheme: {\n\t\t\t\t\tofflineTitle: title,\n\t\t\t\t\tofflineColor: color,\n\t\t\t\t} = {},\n\t\t\t\tsettings: {\n\t\t\t\t\tdisplayOfflineForm,\n\t\t\t\t} = {},\n\t\t\t} = {},\n\t\t\tiframe: {\n\t\t\t\ttheme: {\n\t\t\t\t\tofflineTitle: customOfflineTitle,\n\t\t\t\t} = {},\n\t\t\t} = {},\n\t\t\tloading,\n\t\t\ttoken,\n\t\t\tdispatch,\n\t\t\talerts,\n\t\t}) => (\n\t\t\t<LeaveMessageContainer\n\t\t\t\tref={ref}\n\t\t\t\t{...props}\n\t\t\t\ttheme={{\n\t\t\t\t\tcolor,\n\t\t\t\t\tofflineTitle: customOfflineTitle,\n\t\t\t\t}}\n\t\t\t\ttitle={customOfflineTitle || title}\n\t\t\t\tmessage={message}\n\t\t\t\tsuccessMessage={successMessage}\n\t\t\t\tunavailableMessage={unavailableMessage}\n\t\t\t\tloading={loading}\n\t\t\t\ttoken={token}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\talerts={alerts}\n\t\t\t\thasForm={displayOfflineForm}\n\t\t\t\thasDepartmentField={departments && departments.some((dept) => dept.showOnOfflineForm)}\n\t\t\t\tdepartments={departments.filter((dept) => dept.showOnOfflineForm)}\n\t\t\t/>\n\t\t)}\n\t</Consumer>\n);\n\n\nexport default LeaveMessageConnector;\n","import { h, Component } from 'preact';\n\nimport { Button } from '../../components/Button';\nimport { ButtonGroup } from '../../components/ButtonGroup';\nimport {\n\tForm,\n\tFormField,\n\tTextInput,\n\tSelectInput,\n\tValidations,\n} from '../../components/Form';\nimport Screen from '../../components/Screen';\nimport { createClassName, sortArrayByColumn } from '../../components/helpers';\nimport I18n from '../../i18n';\nimport styles from './styles.scss';\n\nconst defaultTitle = I18n.t('Need help?');\nconst defaultMessage = I18n.t('Please, tell us some information to start the chat');\n\nconst getDefaultDepartment = (departments = []) => (departments.length === 1 && departments[0]._id) || '';\n\nconst renderCustomFields = (customFields, { loading, handleFieldChange = () => {} }, state) => customFields.map(({ _id, required, label, type, options }) => {\n\tswitch (type) {\n\t\tcase 'input':\n\t\t\treturn <FormField\n\t\t\t\tlabel={label}\n\t\t\t\trequired={required}\n\t\t\t\tkey={_id}\n\t\t\t\terror={state[_id].showError && state[_id].error}\n\t\t\t>\n\t\t\t\t<TextInput\n\t\t\t\t\tname={_id}\n\t\t\t\t\tplaceholder={I18n.t('Insert your %{field} here...', { field: label })}\n\t\t\t\t\tvalue={state[_id].value}\n\t\t\t\t\tdisabled={loading}\n\t\t\t\t\tonInput={handleFieldChange}\n\t\t\t\t\tcustom\n\t\t\t\t/>\n\t\t\t</FormField>;\n\t\tcase 'select':\n\t\t\treturn <FormField\n\t\t\t\tlabel={label}\n\t\t\t\trequired={required}\n\t\t\t\tkey={_id}\n\t\t\t\terror={state[_id].showError && state[_id].error}\n\t\t\t>\n\t\t\t\t<SelectInput\n\t\t\t\t\tname={_id}\n\t\t\t\t\tvalue={state[_id].value}\n\t\t\t\t\tplaceholder={I18n.t('Choose an option...')}\n\t\t\t\t\toptions={options && options.map((option) => ({ value: option, label: option }))}\n\t\t\t\t\tdisabled={loading}\n\t\t\t\t\tonInput={handleFieldChange}\n\t\t\t\t\tcustom\n\t\t\t\t/>\n\t\t\t</FormField>;\n\t}\n\treturn null;\n});\n\nconst validations = {\n\tname: [Validations.nonEmpty],\n\temail: [Validations.nonEmpty, Validations.email],\n\tdepartment: [],\n};\n\nconst getCustomValidations = ({ customFields = [] }) =>\n\tcustomFields\n\t\t.map(({ _id, required, regexp }) => {\n\t\t\tconst customFieldValidation = [];\n\n\t\t\tif (required) {\n\t\t\t\tcustomFieldValidation.push(Validations.nonEmpty);\n\t\t\t}\n\n\t\t\tif (regexp) {\n\t\t\t\tcustomFieldValidation.push(Validations.custom);\n\t\t\t}\n\n\t\t\tvalidations[_id] = customFieldValidation;\n\n\t\t\treturn { [_id]: customFieldValidation };\n\t\t})\n\t\t.reduce((values, entry) => ({ ...values, ...entry }), {});\n\nconst getValidableFields = (state) =>\n\tObject.keys(validations)\n\t\t.map((fieldName) => (state[fieldName] ? { fieldName, ...state[fieldName] } : null))\n\t\t.filter(Boolean);\n\nconst validate = (props, { _id, name, value, regexp: pattern }) => {\n\tconst validation = validations[name] || getCustomValidations(props)[_id];\n\treturn validation.reduce((error, validation) => error || validation({ value, pattern }), undefined);\n};\n\nconst getDefaultState = (props) => {\n\tconst { hasNameField, hasEmailField, hasDepartmentField, departments, customFields = [] } = props;\n\n\tlet state = {\n\t\t...hasNameField && { name: { value: '' } },\n\t\t...hasEmailField && { email: { value: '' } },\n\t\t...hasDepartmentField && { department: { value: getDefaultDepartment(departments) } },\n\t};\n\n\tcustomFields.forEach(({ _id, defaultValue, options, regexp }) => {\n\t\tlet value = '';\n\t\tif ((defaultValue && !options) || (Array.isArray(options) && options.includes(defaultValue))) {\n\t\t\tvalue = defaultValue;\n\t\t}\n\t\tconst error = validate(props, { _id, value, regexp });\n\n\t\tstate[_id] = {\n\t\t\tvalue,\n\t\t\t...regexp && { regexp },\n\t\t\terror,\n\t\t\tshowError: false,\n\t\t};\n\t});\n\n\tfor (const { fieldName: name, value, regexp } of getValidableFields(state)) {\n\t\tconst error = validate(props, { name, value, regexp });\n\t\tstate = {\n\t\t\t...state,\n\t\t\t[name]: {\n\t\t\t\t...state[name],\n\t\t\t\tvalue,\n\t\t\t\terror,\n\t\t\t\tshowError: false,\n\t\t\t},\n\t\t};\n\t}\n\n\treturn state;\n};\n\nexport default class Register extends Component {\n\tstatic getDerivedStateFromProps(nextProps, state) {\n\t\tconst { hasNameField, hasEmailField, hasDepartmentField, departmentDefault, departments, nameDefault, emailDefault } = nextProps;\n\n\t\tconst nameValue = nameDefault || '';\n\t\tif (hasNameField && (!state.name || state.name !== nameValue)) {\n\t\t\tstate = { ...state, name: { ...state.name, value: nameValue } };\n\t\t} else if (!hasNameField) {\n\t\t\tstate = { ...state, name: null };\n\t\t}\n\n\t\tconst emailValue = emailDefault || '';\n\t\tif (hasEmailField && (!state.email || state.name !== emailValue)) {\n\t\t\tstate = { ...state, email: { ...state.email, value: emailValue } };\n\t\t} else if (!hasEmailField) {\n\t\t\tstate = { ...state, email: null };\n\t\t}\n\n\t\tconst departmentValue = departmentDefault || getDefaultDepartment(departments);\n\t\tconst showDepartmentField = hasDepartmentField && departments && departments.length > 1;\n\t\tif (showDepartmentField && (!state.department || state.department !== departmentValue)) {\n\t\t\tstate = { ...state, department: { ...state.department, value: departmentValue } };\n\t\t} else if (!showDepartmentField) {\n\t\t\tstate = { ...state, department: null };\n\t\t}\n\n\t\tfor (const { fieldName: name, value, regexp } of getValidableFields(state)) {\n\t\t\tconst error = validate(nextProps, { name, value, regexp });\n\t\t\tstate = { ...state, [name]: { ...state[name], value, error, showError: false } };\n\t\t}\n\t}\n\n\tstate = {\n\t\tname: null,\n\t\temail: null,\n\t\tdepartment: null,\n\t}\n\n\thandleFieldChange = ({ target }) => {\n\t\tconst { name, value } = target;\n\t\tconst { regexp } = this.state[name];\n\t\tconst error = validate(this.props, { name, value, regexp });\n\t\tthis.setState({\n\t\t\t[name]: {\n\t\t\t\t...this.state[name],\n\t\t\t\tvalue,\n\t\t\t\terror,\n\t\t\t\tshowError: true,\n\t\t\t},\n\t\t});\n\t}\n\n\thandleSubmit = (event) => {\n\t\tevent.preventDefault();\n\n\t\tif (this.props.onSubmit) {\n\t\t\tconst values = Object.entries(this.state)\n\t\t\t\t.filter(([, state]) => state !== null)\n\t\t\t\t.map(([name, { value }]) => ({ [name]: value }))\n\t\t\t\t.reduce((values, entry) => ({ ...values, ...entry }), {});\n\t\t\tthis.props.onSubmit(values);\n\t\t}\n\t}\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = getDefaultState(props);\n\t}\n\n\trender({ title, color, message, loading, departments, customFields, ...props }, { name, email, department, ...state }) {\n\t\tconst valid = getValidableFields(this.state).every(({ error } = {}) => !error);\n\n\t\treturn (\n\t\t\t<Screen\n\t\t\t\tcolor={color}\n\t\t\t\ttitle={title || defaultTitle}\n\t\t\t\tclassName={createClassName(styles, 'register')}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t<Screen.Content>\n\t\t\t\t\t<p className={createClassName(styles, 'register__message')}>{message || defaultMessage}</p>\n\n\t\t\t\t\t<Form onSubmit={this.handleSubmit}>\n\t\t\t\t\t\t{name\n\t\t\t\t\t\t\t? (\n\t\t\t\t\t\t\t\t<FormField\n\t\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t\tlabel={I18n.t('Name')}\n\t\t\t\t\t\t\t\t\terror={name.showError && name.error}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<TextInput\n\t\t\t\t\t\t\t\t\t\tname='name'\n\t\t\t\t\t\t\t\t\t\tvalue={name.value}\n\t\t\t\t\t\t\t\t\t\tplaceholder={I18n.t('Insert your %{field} here...', { field: I18n.t('Name') })}\n\t\t\t\t\t\t\t\t\t\tdisabled={loading}\n\t\t\t\t\t\t\t\t\t\tonInput={this.handleFieldChange}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</FormField>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t: null}\n\n\t\t\t\t\t\t{email\n\t\t\t\t\t\t\t? (\n\t\t\t\t\t\t\t\t<FormField\n\t\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t\tlabel={I18n.t('Email')}\n\t\t\t\t\t\t\t\t\terror={email.showError && email.error}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<TextInput\n\t\t\t\t\t\t\t\t\t\tname='email'\n\t\t\t\t\t\t\t\t\t\tvalue={email.value}\n\t\t\t\t\t\t\t\t\t\tplaceholder={I18n.t('Insert your %{field} here...', { field: I18n.t('Email') })}\n\t\t\t\t\t\t\t\t\t\tdisabled={loading}\n\t\t\t\t\t\t\t\t\t\tonInput={this.handleFieldChange}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</FormField>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t: null}\n\n\t\t\t\t\t\t{department\n\t\t\t\t\t\t\t? (\n\t\t\t\t\t\t\t\t<FormField\n\t\t\t\t\t\t\t\t\tlabel={I18n.t('I need help with...')}\n\t\t\t\t\t\t\t\t\terror={department.showError && department.error}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<SelectInput\n\t\t\t\t\t\t\t\t\t\tname='department'\n\t\t\t\t\t\t\t\t\t\tvalue={department.value}\n\t\t\t\t\t\t\t\t\t\toptions={sortArrayByColumn(departments, 'name').map(({ _id, name }) => ({ value: _id, label: name }))}\n\t\t\t\t\t\t\t\t\t\tplaceholder={I18n.t('Choose an option...')}\n\t\t\t\t\t\t\t\t\t\tdisabled={loading}\n\t\t\t\t\t\t\t\t\t\tonInput={this.handleFieldChange}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</FormField>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t: null}\n\n\t\t\t\t\t\t{customFields && renderCustomFields(customFields, { loading, handleFieldChange: this.handleFieldChange }, state)}\n\n\t\t\t\t\t\t<ButtonGroup>\n\t\t\t\t\t\t\t<Button submit loading={loading} disabled={!valid || loading} stack>{I18n.t('Start chat')}</Button>\n\t\t\t\t\t\t</ButtonGroup>\n\t\t\t\t\t</Form>\n\t\t\t\t</Screen.Content>\n\t\t\t\t<Screen.Footer />\n\t\t\t</Screen>\n\t\t);\n\t}\n}\n","import { h, Component } from 'preact';\nimport { route } from 'preact-router';\n\nimport { Livechat } from '../../api';\nimport CustomFields from '../../lib/customFields';\nimport { parentCall } from '../../lib/parentCall';\nimport { Consumer } from '../../store';\nimport Register from './component';\n\nexport class RegisterContainer extends Component {\n\tregisterCustomFields(customFields = {}) {\n\t\tObject.entries(customFields).forEach(([key, value]) => {\n\t\t\tif (!value || value === '') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tCustomFields.setCustomField(key, value, true);\n\t\t});\n\t}\n\n\tgetDepartment = (department) => {\n\t\tif (department !== '') {\n\t\t\treturn department;\n\t\t}\n\n\t\tconst { departments = {} } = this.props;\n\t\tconst deptDefault = departments.find((dept) => dept.showOnRegistration);\n\n\t\tif (deptDefault) {\n\t\t\treturn deptDefault._id;\n\t\t}\n\t}\n\n\thandleSubmit = async ({ name, email, department, ...customFields }) => {\n\t\tconst { dispatch, token } = this.props;\n\t\tconst fields = {\n\t\t\tname,\n\t\t\temail,\n\t\t\tdepartment: this.getDepartment(department),\n\t\t};\n\n\t\tawait dispatch({ loading: true, department });\n\t\ttry {\n\t\t\tconst user = await Livechat.grantVisitor({ visitor: { ...fields, token } });\n\t\t\tawait dispatch({ user });\n\t\t\tparentCall('callback', ['pre-chat-form-submit', fields]);\n\t\t\tthis.registerCustomFields(customFields);\n\t\t} finally {\n\t\t\tawait dispatch({ loading: false });\n\t\t}\n\t}\n\n\tgetDepartmentDefault() {\n\t\tconst { guestDepartment, departments } = this.props;\n\t\tif (departments && departments.some((dept) => dept._id === guestDepartment)) {\n\t\t\treturn guestDepartment;\n\t\t}\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\tconst { user: prevUser } = prevProps;\n\t\tconst { user } = this.props;\n\n\t\tif (!prevUser && user && user._id) {\n\t\t\troute('/');\n\t\t}\n\t}\n\n\trender = (props) => (\n\t\t<Register {...props} onSubmit={this.handleSubmit} departmentDefault={this.getDepartmentDefault()} />\n\t)\n}\n\nexport const RegisterConnector = ({ ref, ...props }) => (\n\t<Consumer>\n\t\t{({\n\t\t\tconfig: {\n\t\t\t\tdepartments = {},\n\t\t\t\tmessages: {\n\t\t\t\t\tregistrationFormMessage: message,\n\t\t\t\t} = {},\n\t\t\t\tsettings: {\n\t\t\t\t\tnameFieldRegistrationForm: hasNameField,\n\t\t\t\t\temailFieldRegistrationForm: hasEmailField,\n\t\t\t\t} = {},\n\t\t\t\ttheme: {\n\t\t\t\t\ttitle,\n\t\t\t\t\tcolor,\n\t\t\t\t} = {},\n\t\t\t\tcustomFields = [],\n\t\t\t} = {},\n\t\t\tiframe: {\n\t\t\t\tguest: {\n\t\t\t\t\tdepartment: guestDepartment,\n\t\t\t\t\tname: guestName,\n\t\t\t\t\temail: guestEmail,\n\t\t\t\t} = {},\n\t\t\t\ttheme: {\n\t\t\t\t\tcolor: customColor,\n\t\t\t\t\tfontColor: customFontColor,\n\t\t\t\t\ticonColor: customIconColor,\n\t\t\t\t\ttitle: customTitle,\n\t\t\t\t} = {},\n\t\t\t} = {},\n\t\t\tloading = false,\n\t\t\ttoken,\n\t\t\tdispatch,\n\t\t\tuser,\n\t\t}) => (\n\t\t\t<RegisterContainer\n\t\t\t\tref={ref}\n\t\t\t\t{...props}\n\t\t\t\ttheme={{\n\t\t\t\t\tcolor: customColor || color,\n\t\t\t\t\tfontColor: customFontColor,\n\t\t\t\t\ticonColor: customIconColor,\n\t\t\t\t\ttitle: customTitle,\n\t\t\t\t}}\n\t\t\t\ttitle={customTitle || title}\n\t\t\t\tmessage={message}\n\t\t\t\thasNameField={hasNameField}\n\t\t\t\thasEmailField={hasEmailField}\n\t\t\t\thasDepartmentField={departments && departments.some((dept) => dept.showOnRegistration)}\n\t\t\t\tdepartments={departments.filter((dept) => dept.showOnRegistration)}\n\t\t\t\tnameDefault={guestName}\n\t\t\t\temailDefault={guestEmail}\n\t\t\t\tguestDepartment={guestDepartment}\n\t\t\t\tloading={loading}\n\t\t\t\ttoken={token}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tuser={user}\n\t\t\t\tcustomFields={customFields}\n\t\t\t/>\n\t\t)}\n\t</Consumer>\n);\n\n\nexport default RegisterConnector;\n","import { h, Component } from 'preact';\n\nimport { Button } from '../../components/Button';\nimport { ButtonGroup } from '../../components/ButtonGroup';\nimport { Form, FormField, SelectInput, Validations } from '../../components/Form';\nimport Screen from '../../components/Screen';\nimport { createClassName } from '../../components/helpers';\nimport I18n from '../../i18n';\nimport styles from './styles.scss';\n\n\nconst defaultTitle = I18n.t('Change Department');\nconst defaultMessage = I18n.t('Choose a department');\n\nexport default class SwitchDepartment extends Component {\n\tstatic getDerivedStateFromProps(props, state) {\n\t\tif (props.departments && props.departments.length > 0 && !state.department) {\n\t\t\treturn { department: { value: '' } };\n\t\t}\n\n\t\tif (!props.departments || props.departments.length === 0) {\n\t\t\treturn { department: null };\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tstate = {\n\t\tdepartment: null,\n\t}\n\n\tvalidations = {\n\t\tdepartment: [Validations.nonEmpty],\n\t}\n\n\tgetValidableFields = () => Object.keys(this.validations)\n\t\t.map((fieldName) => (this.state[fieldName] ? { fieldName, ...this.state[fieldName] } : null))\n\t\t.filter(Boolean)\n\n\tvalidate = ({ name, value }) => this.validations[name].reduce((error, validation) => error || validation({ value }), undefined)\n\n\tvalidateAll = () => {\n\t\tfor (const { fieldName: name, value } of this.getValidableFields()) {\n\t\t\tconst error = this.validate({ name, value });\n\t\t\tthis.setState({ [name]: { ...this.state[name], value, error, showError: false } });\n\t\t}\n\t}\n\n\tisValid = () => this.getValidableFields().every(({ error } = {}) => !error)\n\n\thandleFieldChange = (name) => ({ target: { value } }) => {\n\t\tconst error = this.validate({ name, value });\n\t\tthis.setState({ [name]: { ...this.state[name], value, error, showError: false } }, () => { this.validateAll(); });\n\t}\n\n\thandleDepartmentChange = this.handleFieldChange('department')\n\n\thandleSubmit = (event) => {\n\t\tevent.preventDefault();\n\n\t\tif (this.props.onSubmit) {\n\t\t\tconst values = Object.entries(this.state)\n\t\t\t\t.filter(([, state]) => state !== null)\n\t\t\t\t.map(([name, { value }]) => ({ [name]: value }))\n\t\t\t\t.reduce((values, entry) => ({ ...values, ...entry }), {});\n\t\t\tthis.props.onSubmit(values);\n\t\t}\n\t}\n\n\thandleCancelClick = () => {\n\t\tconst { onCancel } = this.props;\n\t\tonCancel && onCancel();\n\t}\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tconst { departments } = props;\n\t\tif (departments && departments.length > 0) {\n\t\t\tthis.state.department = { value: '' };\n\t\t}\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.validateAll();\n\t}\n\n\trender({ title, color, message, loading, departments, ...props }, { department }) {\n\t\tconst valid = this.isValid();\n\t\treturn (\n\t\t\t<Screen\n\t\t\t\tcolor={color}\n\t\t\t\ttitle={title || defaultTitle}\n\t\t\t\tclassName={createClassName(styles, 'switch-department')}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t<Screen.Content>\n\t\t\t\t\t<p className={createClassName(styles, 'switch-department__message')}>{message || defaultMessage}</p>\n\n\t\t\t\t\t<Form onSubmit={this.handleSubmit}>\n\t\t\t\t\t\t<FormField\n\t\t\t\t\t\t\tlabel={I18n.t('Departments')}\n\t\t\t\t\t\t\terror={department && department.showError && department.error}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<SelectInput\n\t\t\t\t\t\t\t\tname='department'\n\t\t\t\t\t\t\t\tvalue={department && department.value}\n\t\t\t\t\t\t\t\toptions={departments.map(({ _id, name }) => ({ value: _id, label: name }))}\n\t\t\t\t\t\t\t\tplaceholder={I18n.t('Choose a department...')}\n\t\t\t\t\t\t\t\tdisabled={loading}\n\t\t\t\t\t\t\t\terror={department && department.showError}\n\t\t\t\t\t\t\t\tonInput={this.handleDepartmentChange}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</FormField>\n\n\t\t\t\t\t\t<ButtonGroup>\n\t\t\t\t\t\t\t<Button submit loading={loading} disabled={!valid || loading} stack>{I18n.t('Start chat')}</Button>\n\t\t\t\t\t\t\t<Button disabled={loading} stack secondary nude onClick={this.handleCancelClick}>{I18n.t('Cancel')}</Button>\n\t\t\t\t\t\t</ButtonGroup>\n\t\t\t\t\t</Form>\n\t\t\t\t</Screen.Content>\n\t\t\t\t<Screen.Footer />\n\t\t\t</Screen>\n\t\t);\n\t}\n}\n","import { h, Component } from 'preact';\n\nimport { Livechat } from '../../api';\nimport { ModalManager } from '../../components/Modal';\nimport history from '../../history';\nimport I18n from '../../i18n';\nimport { loadConfig } from '../../lib/main';\nimport { createToken } from '../../lib/random';\nimport { Consumer } from '../../store';\nimport SwitchDepartment from './component';\n\nexport class SwitchDepartmentContainer extends Component {\n\tconfirmChangeDepartment = async () => {\n\t\tconst result = await ModalManager.confirm({\n\t\t\ttext: I18n.t('Are you sure you want to switch the department?'),\n\t\t});\n\n\t\treturn typeof result.success === 'boolean' && result.success;\n\t}\n\n\thandleSubmit = async (fields) => {\n\t\tconst { alerts, dispatch, room, token } = this.props;\n\t\tconst { department } = fields;\n\n\t\tconst confirm = await this.confirmChangeDepartment();\n\t\tif (!confirm) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!room) {\n\t\t\tconst user = await Livechat.grantVisitor({ visitor: { department, token } });\n\t\t\tawait dispatch({ user, alerts: (alerts.push({ id: createToken(), children: I18n.t('Department switched'), success: true }), alerts) });\n\t\t\treturn history.go(-1);\n\t\t}\n\n\t\tawait dispatch({ loading: true });\n\t\ttry {\n\t\t\tconst { _id: rid } = room;\n\t\t\tconst result = await Livechat.transferChat({ rid, department });\n\t\t\tconst { success } = result;\n\t\t\tif (!success) {\n\t\t\t\tthrow I18n.t('No available agents to transfer');\n\t\t\t}\n\n\t\t\tawait dispatch({ department, loading: false });\n\t\t\tawait loadConfig();\n\n\t\t\tawait ModalManager.alert({\n\t\t\t\ttext: I18n.t('Department switched'),\n\t\t\t});\n\n\t\t\thistory.go(-1);\n\t\t} catch (error) {\n\t\t\tconsole.error(error);\n\t\t\tawait dispatch({ alerts: (alerts.push({ id: createToken(), children: I18n.t('No available agents to transfer'), warning: true }), alerts) });\n\t\t} finally {\n\t\t\tawait dispatch({ loading: false });\n\t\t}\n\t}\n\n\thandleCancel = () => {\n\t\thistory.go(-1);\n\t}\n\n\trender = (props) => (\n\t\t<SwitchDepartment {...props} onSubmit={this.handleSubmit} onCancel={this.handleCancel} />\n\t)\n}\n\nexport const SwitchDepartmentConnector = ({ ref, ...props }) => (\n\t<Consumer>\n\t\t{({\n\t\t\tconfig: {\n\t\t\t\tdepartments = {},\n\t\t\t\ttheme: {\n\t\t\t\t\tcolor,\n\t\t\t\t} = {},\n\t\t\t} = {},\n\t\t\tiframe: {\n\t\t\t\ttheme: {\n\t\t\t\t\tcolor: customColor,\n\t\t\t\t\tfontColor: customFontColor,\n\t\t\t\t\ticonColor: customIconColor,\n\t\t\t\t} = {},\n\t\t\t} = {},\n\t\t\troom,\n\t\t\tloading = false,\n\t\t\tdepartment,\n\t\t\tdispatch,\n\t\t\talerts,\n\t\t\ttoken,\n\t\t}) => (\n\t\t\t<SwitchDepartmentContainer\n\t\t\t\tref={ref}\n\t\t\t\t{...props}\n\t\t\t\ttheme={{\n\t\t\t\t\tcolor: customColor || color,\n\t\t\t\t\tfontColor: customFontColor,\n\t\t\t\t\ticonColor: customIconColor,\n\t\t\t\t}}\n\t\t\t\tloading={loading}\n\t\t\t\tdepartments={departments.filter((dept) => dept.showOnRegistration && dept._id !== department)}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\troom={room}\n\t\t\t\talerts={alerts}\n\t\t\t\ttoken={token}\n\t\t\t/>\n\t\t)}\n\t</Consumer>\n);\n\n\nexport default SwitchDepartmentConnector;\n","import { h, Component, createRef } from 'preact';\n\nimport Screen from '../../components/Screen';\nimport { createClassName } from '../../components/helpers';\nimport I18n from '../../i18n';\nimport { parentCall } from '../../lib/parentCall';\nimport styles from './styles.scss';\n\n\nconst defaultTitle = I18n.t('Messages');\n\nexport default class TriggerMessage extends Component {\n\tstate = { }\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.ref = createRef();\n\t}\n\n\tcomponentDidUpdate() {\n\t\tlet height = 0;\n\n\t\tthis.ref.current.base.children.forEach((el) => {\n\t\t\theight += el.scrollHeight;\n\t\t});\n\n\t\tparentCall('resizeWidget', height);\n\t}\n\n\trender({ title, messages, loading, onStartChat = () => {}, departments, ...props }) {\n\t\tconst { theme: { color } } = props;\n\t\treturn (\n\t\t\t<Screen\n\t\t\t\ttitle={title || defaultTitle}\n\t\t\t\t{...props}\n\t\t\t\ttriggered={true}\n\t\t\t\tref={this.ref}\n\t\t\t>\n\t\t\t\t<Screen.Content triggered={true}>\n\t\t\t\t\t{messages && messages.map((message) => message.msg && <p className={createClassName(styles, 'trigger-message__message')}>{message.msg}</p>)}\n\t\t\t\t</Screen.Content>\n\t\t\t\t<footer className={createClassName(styles, 'trigger-message__footer')}>\n\t\t\t\t\t<hr className={createClassName(styles, 'trigger-message__separator')} />\n\t\t\t\t\t<button style={color && { color }} onClick={onStartChat} className={createClassName(styles, 'trigger-message__link-reply')}>{I18n.t('Start chat')}</button>\n\t\t\t\t</footer>\n\t\t\t</Screen>\n\t\t);\n\t}\n}\n","import { h, Component } from 'preact';\nimport { route } from 'preact-router';\n\nimport { canRenderMessage, getAvatarUrl } from '../../components/helpers';\nimport { parentCall } from '../../lib/parentCall';\nimport { Consumer } from '../../store';\nimport TriggerMessage from './component';\n\n\nexport class TriggerMessageContainer extends Component {\n\thandleStart() {\n\t\tparentCall('setFullScreenDocumentMobile');\n\t\tparentCall('openWidget');\n\t\troute('/');\n\t}\n\n\trender = (props) => {\n\t\tparentCall('resetDocumentStyle');\n\t\treturn <TriggerMessage onStartChat={this.handleStart} {...props} />;\n\t}\n}\n\nexport const TriggerMessageConnector = ({ ref, ...props }) => (\n\t<Consumer>\n\t\t{({\n\t\t\tconfig: {\n\t\t\t\ttheme: {\n\t\t\t\t\tcolor,\n\t\t\t\t} = {},\n\t\t\t} = {},\n\t\t\tiframe: {\n\t\t\t\ttheme: {\n\t\t\t\t\tcolor: customColor,\n\t\t\t\t\tfontColor: customFontColor,\n\t\t\t\t\ticonColor: customIconColor,\n\t\t\t\t} = {},\n\t\t\t} = {},\n\t\t\tmessages,\n\t\t\tagent,\n\t\t\tunread,\n\t\t}) => (\n\t\t\t<TriggerMessageContainer\n\t\t\t\tref={ref}\n\t\t\t\t{...props}\n\t\t\t\ttheme={{\n\t\t\t\t\tcolor: customColor || color,\n\t\t\t\t\tfontColor: customFontColor,\n\t\t\t\t\ticonColor: customIconColor,\n\t\t\t\t}}\n\t\t\t\tunread={unread}\n\t\t\t\tagent={agent ? {\n\t\t\t\t\t_id: agent._id,\n\t\t\t\t\tname: agent.name,\n\t\t\t\t\tstatus: agent.status,\n\t\t\t\t\temail: agent.emails && agent.emails[0] && agent.emails[0].address,\n\t\t\t\t\tusername: agent.username,\n\t\t\t\t\tphone: (agent.phone && agent.phone[0] && agent.phone[0].phoneNumber) || (agent.customFields && agent.customFields.phone),\n\t\t\t\t\tavatar: agent.username ? {\n\t\t\t\t\t\tdescription: agent.username,\n\t\t\t\t\t\tsrc: getAvatarUrl(agent.username),\n\t\t\t\t\t} : undefined,\n\t\t\t\t} : undefined}\n\t\t\t\tmessages={messages && messages.filter((message) => canRenderMessage(message))}\n\t\t\t/>\n\t\t)}\n\t</Consumer>\n);\n\nexport default TriggerMessageConnector;\n","import { h, Component } from 'preact';\nimport { Router, route } from 'preact-router';\nimport queryString from 'query-string';\n\nimport history from '../../history';\nimport I18n from '../../i18n';\nimport Connection from '../../lib/connection';\nimport CustomFields from '../../lib/customFields';\nimport Hooks from '../../lib/hooks';\nimport { setWidgetLanguage } from '../../lib/locale';\nimport { parentCall } from '../../lib/parentCall';\nimport Triggers from '../../lib/triggers';\nimport userPresence from '../../lib/userPresence';\nimport Chat from '../../routes/Chat';\nimport ChatFinished from '../../routes/ChatFinished';\nimport GDPRAgreement from '../../routes/GDPRAgreement';\nimport LeaveMessage from '../../routes/LeaveMessage';\nimport Register from '../../routes/Register';\nimport SwitchDepartment from '../../routes/SwitchDepartment';\nimport TriggerMessage from '../../routes/TriggerMessage';\nimport { Provider as StoreProvider, Consumer as StoreConsumer, store } from '../../store';\nimport { visibility, isActiveSession, setInitCookies } from '../helpers';\n\nfunction isRTL(s) {\n\tconst rtlChars = '\\u0591-\\u07FF\\u200F\\u202B\\u202E\\uFB1D-\\uFDFD\\uFE70-\\uFEFC';\n\tconst rtlDirCheck = new RegExp(`^[^${ rtlChars }]*?[${ rtlChars }]`);\n\n\treturn rtlDirCheck.test(s);\n}\n\nexport class App extends Component {\n\tstate = {\n\t\tinitialized: false,\n\t\tpoppedOut: false,\n\t}\n\n\thandleRoute = async () => {\n\t\tsetTimeout(() => {\n\t\t\tconst {\n\t\t\t\tconfig: {\n\t\t\t\t\tsettings: {\n\t\t\t\t\t\tregistrationForm,\n\t\t\t\t\t\tnameFieldRegistrationForm,\n\t\t\t\t\t\temailFieldRegistrationForm,\n\t\t\t\t\t\tforceAcceptDataProcessingConsent: gdprRequired,\n\t\t\t\t\t},\n\t\t\t\t\tonline,\n\t\t\t\t\tdepartments = [],\n\t\t\t\t},\n\t\t\t\tgdpr: {\n\t\t\t\t\taccepted: gdprAccepted,\n\t\t\t\t},\n\t\t\t\ttriggered,\n\t\t\t\tuser,\n\t\t\t} = this.props;\n\n\t\t\tsetInitCookies();\n\n\t\t\tif (gdprRequired && !gdprAccepted) {\n\t\t\t\treturn route('/gdpr');\n\t\t\t}\n\n\t\t\tif (!online) {\n\t\t\t\tparentCall('callback', 'no-agent-online');\n\t\t\t\treturn route('/leave-message');\n\t\t\t}\n\n\t\t\tconst showDepartment = departments.filter((dept) => dept.showOnRegistration).length > 0;\n\n\t\t\tconst showRegistrationForm = (\n\t\t\t\tregistrationForm\n\t\t\t\t\t&& (nameFieldRegistrationForm || emailFieldRegistrationForm || showDepartment)\n\t\t\t)\n\t\t\t\t&& !triggered\n\t\t\t\t&& !(user && user.token);\n\t\t\tif (showRegistrationForm) {\n\t\t\t\treturn route('/register');\n\t\t\t}\n\t\t}, 100);\n\t}\n\n\thandleTriggers() {\n\t\tconst { config: { online, enabled } } = this.props;\n\n\t\tTriggers.enabled = online && enabled;\n\n\t\tif (online && enabled) {\n\t\t\tTriggers.init();\n\t\t}\n\t}\n\n\thandleEnableNotifications = () => {\n\t\tconst { dispatch, sound = {} } = this.props;\n\t\tdispatch({ sound: { ...sound, enabled: true } });\n\t}\n\n\thandleDisableNotifications = () => {\n\t\tconst { dispatch, sound = {} } = this.props;\n\t\tdispatch({ sound: { ...sound, enabled: false } });\n\t}\n\n\thandleMinimize = () => {\n\t\tparentCall('minimizeWindow');\n\t\tconst { dispatch } = this.props;\n\t\tdispatch({ minimized: true });\n\t}\n\n\thandleRestore = () => {\n\t\tparentCall('restoreWindow');\n\t\tconst { dispatch, undocked } = this.props;\n\t\tconst dispatchRestore = () => dispatch({ minimized: false, undocked: false });\n\t\tconst dispatchEvent = () => {\n\t\t\tdispatchRestore();\n\t\t\tstore.off('storageSynced', dispatchEvent);\n\t\t};\n\t\tif (undocked) {\n\t\t\tstore.on('storageSynced', dispatchEvent);\n\t\t} else {\n\t\t\tdispatchRestore();\n\t\t}\n\t}\n\n\thandleOpenWindow = () => {\n\t\tparentCall('openPopout');\n\t\tconst { dispatch } = this.props;\n\t\tdispatch({ undocked: true, minimized: false });\n\t}\n\n\thandleDismissAlert = (id) => {\n\t\tconst { dispatch, alerts = [] } = this.props;\n\t\tdispatch({ alerts: alerts.filter((alert) => alert.id !== id) });\n\t}\n\n\thandleVisibilityChange = async () => {\n\t\tconst { dispatch } = this.props;\n\t\tawait dispatch({ visible: !visibility.hidden });\n\t}\n\n\thandleLanguageChange = () => {\n\t\tthis.forceUpdate();\n\t}\n\n\tdismissNotification = () => !isActiveSession();\n\n\tinitWidget() {\n\t\tsetWidgetLanguage();\n\t\tconst { minimized, iframe: { visible }, dispatch } = this.props;\n\t\tparentCall(minimized ? 'minimizeWindow' : 'restoreWindow');\n\t\tparentCall(visible ? 'showWidget' : 'hideWidget');\n\n\t\tvisibility.addListener(this.handleVisibilityChange);\n\t\tthis.handleVisibilityChange();\n\t\twindow.addEventListener('beforeunload', () => {\n\t\t\tvisibility.removeListener(this.handleVisibilityChange);\n\t\t\tdispatch({ minimized: true, undocked: false });\n\t\t});\n\n\t\tI18n.on('change', this.handleLanguageChange);\n\t}\n\n\tcheckPoppedOutWindow() {\n\t\t// Checking if the window is poppedOut and setting parent minimized if yes for the restore purpose\n\t\tconst { dispatch } = this.props;\n\t\tconst poppedOut = queryString.parse(window.location.search).mode === 'popout';\n\t\tthis.setState({ poppedOut });\n\t\tif (poppedOut) {\n\t\t\tdispatch({ minimized: false });\n\t\t}\n\t}\n\n\tasync initialize() {\n\t\t// TODO: split these behaviors into composable components\n\t\tawait Connection.init();\n\t\tthis.handleTriggers();\n\t\tCustomFields.init();\n\t\tHooks.init();\n\t\tuserPresence.init();\n\t\tthis.initWidget();\n\t\tthis.checkPoppedOutWindow();\n\n\t\tthis.setState({ initialized: true });\n\t\tparentCall('ready');\n\t}\n\n\tasync finalize() {\n\t\tCustomFields.reset();\n\t\tuserPresence.reset();\n\t\tvisibility.removeListener(this.handleVisibilityChange);\n\t\tI18n.off('change', this.handleLanguageChange);\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.initialize();\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.finalize();\n\t}\n\n\tcomponentDidUpdate() {\n\t\tdocument.dir = isRTL(I18n.t('Yes')) ? 'rtl' : 'ltr';\n\t}\n\n\trender = ({\n\t\tsound,\n\t\tundocked,\n\t\tminimized,\n\t\texpanded,\n\t\talerts,\n\t\tmodal,\n\t}, { initialized, poppedOut }) => {\n\t\tif (!initialized) {\n\t\t\treturn null;\n\t\t}\n\t\tconst screenProps = {\n\t\t\tnotificationsEnabled: sound && sound.enabled,\n\t\t\tminimized: !poppedOut && (minimized || undocked),\n\t\t\texpanded: !minimized && expanded,\n\t\t\twindowed: !minimized && poppedOut,\n\t\t\tsound,\n\t\t\talerts,\n\t\t\tmodal,\n\t\t\tonEnableNotifications: this.handleEnableNotifications,\n\t\t\tonDisableNotifications: this.handleDisableNotifications,\n\t\t\tonMinimize: this.handleMinimize,\n\t\t\tonRestore: this.handleRestore,\n\t\t\tonOpenWindow: this.handleOpenWindow,\n\t\t\tonDismissAlert: this.handleDismissAlert,\n\t\t\tdismissNotification: this.dismissNotification,\n\t\t};\n\n\t\treturn (\n\t\t\t<Router history={history} onChange={this.handleRoute}>\n\t\t\t\t<Chat default path='/' {...screenProps} />\n\t\t\t\t<ChatFinished path='/chat-finished' {...screenProps} />\n\t\t\t\t<GDPRAgreement path='/gdpr' {...screenProps} />\n\t\t\t\t<LeaveMessage path='/leave-message' {...screenProps} />\n\t\t\t\t<Register path='/register' {...screenProps} />\n\t\t\t\t<SwitchDepartment path='/switch-department' {...screenProps} />\n\t\t\t\t<TriggerMessage path='/trigger-messages' {...screenProps} />\n\t\t\t</Router>\n\t\t);\n\t}\n}\n\nconst AppConnector = () => (\n\t<div id='app'>\n\t\t<StoreProvider>\n\t\t\t<StoreConsumer>\n\t\t\t\t{({\n\t\t\t\t\tconfig,\n\t\t\t\t\tuser,\n\t\t\t\t\ttriggered,\n\t\t\t\t\tgdpr,\n\t\t\t\t\tsound,\n\t\t\t\t\tundocked,\n\t\t\t\t\tminimized = true,\n\t\t\t\t\texpanded = false,\n\t\t\t\t\talerts,\n\t\t\t\t\tmodal,\n\t\t\t\t\tdispatch,\n\t\t\t\t\tiframe,\n\t\t\t\t}) => (\n\t\t\t\t\t<App\n\t\t\t\t\t\tconfig={config}\n\t\t\t\t\t\tgdpr={gdpr}\n\t\t\t\t\t\ttriggered={triggered}\n\t\t\t\t\t\tuser={user}\n\t\t\t\t\t\tsound={sound}\n\t\t\t\t\t\tundocked={undocked}\n\t\t\t\t\t\tminimized={minimized}\n\t\t\t\t\t\texpanded={expanded}\n\t\t\t\t\t\talerts={alerts}\n\t\t\t\t\t\tmodal={modal}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\tiframe={iframe}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</StoreConsumer>\n\t\t</StoreProvider>\n\t</div>\n);\n\nexport default AppConnector;\n","// Generated by i18nline and preact-i18nline.\r\nimport I18n from 'preact-i18nline/i18n';\r\n\r\nI18n.supportedLocales = ['af','ar','az','be_BY','bg','bs','ca','cs','cy','da','de','de_AT','de_IN','el','en','eo','es','et','eu','fa','fi','fr','he','hr','hu','id','it','ja','km','ko','ku','lo','lt','lv','mn','ms_MY','nl','no','pl','pt','pt_BR','ro','ru','sk_SK','sl_SI','sq','sr','sv','ta_IN','th_TH','tr','ug','uk','vi_VN','zh','zh_HK','zh_TW'];\nI18n.defaultLocale = 'en';\r\n\r\nI18n.import = locale => {\r\n\t// we use a switch here so the import statements are statically\r\n\t// analyzable. the use of import() will make build tools generate\r\n\t// separate bundles which are downloaded on-demand.\r\n\tswitch (locale) {\r\n\t\tcase 'af': return import(/* webpackChunkName: 'i18n.af' */ './af.json');\n\t\tcase 'ar': return import(/* webpackChunkName: 'i18n.ar' */ './ar.json');\n\t\tcase 'az': return import(/* webpackChunkName: 'i18n.az' */ './az.json');\n\t\tcase 'be_BY': return import(/* webpackChunkName: 'i18n.be_BY' */ './be_BY.json');\n\t\tcase 'bg': return import(/* webpackChunkName: 'i18n.bg' */ './bg.json');\n\t\tcase 'bs': return import(/* webpackChunkName: 'i18n.bs' */ './bs.json');\n\t\tcase 'ca': return import(/* webpackChunkName: 'i18n.ca' */ './ca.json');\n\t\tcase 'cs': return import(/* webpackChunkName: 'i18n.cs' */ './cs.json');\n\t\tcase 'cy': return import(/* webpackChunkName: 'i18n.cy' */ './cy.json');\n\t\tcase 'da': return import(/* webpackChunkName: 'i18n.da' */ './da.json');\n\t\tcase 'de': return import(/* webpackChunkName: 'i18n.de' */ './de.json');\n\t\tcase 'de_AT': return import(/* webpackChunkName: 'i18n.de_AT' */ './de_AT.json');\n\t\tcase 'de_IN': return import(/* webpackChunkName: 'i18n.de_IN' */ './de_IN.json');\n\t\tcase 'el': return import(/* webpackChunkName: 'i18n.el' */ './el.json');\n\t\tcase 'en': return import(/* webpackChunkName: 'i18n.en' */ './en.json');\n\t\tcase 'eo': return import(/* webpackChunkName: 'i18n.eo' */ './eo.json');\n\t\tcase 'es': return import(/* webpackChunkName: 'i18n.es' */ './es.json');\n\t\tcase 'et': return import(/* webpackChunkName: 'i18n.et' */ './et.json');\n\t\tcase 'eu': return import(/* webpackChunkName: 'i18n.eu' */ './eu.json');\n\t\tcase 'fa': return import(/* webpackChunkName: 'i18n.fa' */ './fa.json');\n\t\tcase 'fi': return import(/* webpackChunkName: 'i18n.fi' */ './fi.json');\n\t\tcase 'fr': return import(/* webpackChunkName: 'i18n.fr' */ './fr.json');\n\t\tcase 'he': return import(/* webpackChunkName: 'i18n.he' */ './he.json');\n\t\tcase 'hr': return import(/* webpackChunkName: 'i18n.hr' */ './hr.json');\n\t\tcase 'hu': return import(/* webpackChunkName: 'i18n.hu' */ './hu.json');\n\t\tcase 'id': return import(/* webpackChunkName: 'i18n.id' */ './id.json');\n\t\tcase 'it': return import(/* webpackChunkName: 'i18n.it' */ './it.json');\n\t\tcase 'ja': return import(/* webpackChunkName: 'i18n.ja' */ './ja.json');\n\t\tcase 'km': return import(/* webpackChunkName: 'i18n.km' */ './km.json');\n\t\tcase 'ko': return import(/* webpackChunkName: 'i18n.ko' */ './ko.json');\n\t\tcase 'ku': return import(/* webpackChunkName: 'i18n.ku' */ './ku.json');\n\t\tcase 'lo': return import(/* webpackChunkName: 'i18n.lo' */ './lo.json');\n\t\tcase 'lt': return import(/* webpackChunkName: 'i18n.lt' */ './lt.json');\n\t\tcase 'lv': return import(/* webpackChunkName: 'i18n.lv' */ './lv.json');\n\t\tcase 'mn': return import(/* webpackChunkName: 'i18n.mn' */ './mn.json');\n\t\tcase 'ms_MY': return import(/* webpackChunkName: 'i18n.ms_MY' */ './ms_MY.json');\n\t\tcase 'nl': return import(/* webpackChunkName: 'i18n.nl' */ './nl.json');\n\t\tcase 'no': return import(/* webpackChunkName: 'i18n.no' */ './no.json');\n\t\tcase 'pl': return import(/* webpackChunkName: 'i18n.pl' */ './pl.json');\n\t\tcase 'pt': return import(/* webpackChunkName: 'i18n.pt' */ './pt.json');\n\t\tcase 'pt_BR': return import(/* webpackChunkName: 'i18n.pt_BR' */ './pt_BR.json');\n\t\tcase 'ro': return import(/* webpackChunkName: 'i18n.ro' */ './ro.json');\n\t\tcase 'ru': return import(/* webpackChunkName: 'i18n.ru' */ './ru.json');\n\t\tcase 'sk_SK': return import(/* webpackChunkName: 'i18n.sk_SK' */ './sk_SK.json');\n\t\tcase 'sl_SI': return import(/* webpackChunkName: 'i18n.sl_SI' */ './sl_SI.json');\n\t\tcase 'sq': return import(/* webpackChunkName: 'i18n.sq' */ './sq.json');\n\t\tcase 'sr': return import(/* webpackChunkName: 'i18n.sr' */ './sr.json');\n\t\tcase 'sv': return import(/* webpackChunkName: 'i18n.sv' */ './sv.json');\n\t\tcase 'ta_IN': return import(/* webpackChunkName: 'i18n.ta_IN' */ './ta_IN.json');\n\t\tcase 'th_TH': return import(/* webpackChunkName: 'i18n.th_TH' */ './th_TH.json');\n\t\tcase 'tr': return import(/* webpackChunkName: 'i18n.tr' */ './tr.json');\n\t\tcase 'ug': return import(/* webpackChunkName: 'i18n.ug' */ './ug.json');\n\t\tcase 'uk': return import(/* webpackChunkName: 'i18n.uk' */ './uk.json');\n\t\tcase 'vi_VN': return import(/* webpackChunkName: 'i18n.vi_VN' */ './vi_VN.json');\n\t\tcase 'zh': return import(/* webpackChunkName: 'i18n.zh' */ './zh.json');\n\t\tcase 'zh_HK': return import(/* webpackChunkName: 'i18n.zh_HK' */ './zh_HK.json');\n\t\tcase 'zh_TW': return import(/* webpackChunkName: 'i18n.zh_TW' */ './zh_TW.json');\r\n\t\tdefault: return import(/* webpackChunkName: 'i18n.default' */ './default.json');\r\n\t}\r\n};\r\n\r\nif ((typeof module === 'object') && module.hot) {\r\n\tmodule.hot.accept('./af.json', I18n.reload('af'));\n\tmodule.hot.accept('./ar.json', I18n.reload('ar'));\n\tmodule.hot.accept('./az.json', I18n.reload('az'));\n\tmodule.hot.accept('./be_BY.json', I18n.reload('be_BY'));\n\tmodule.hot.accept('./bg.json', I18n.reload('bg'));\n\tmodule.hot.accept('./bs.json', I18n.reload('bs'));\n\tmodule.hot.accept('./ca.json', I18n.reload('ca'));\n\tmodule.hot.accept('./cs.json', I18n.reload('cs'));\n\tmodule.hot.accept('./cy.json', I18n.reload('cy'));\n\tmodule.hot.accept('./da.json', I18n.reload('da'));\n\tmodule.hot.accept('./de.json', I18n.reload('de'));\n\tmodule.hot.accept('./de_AT.json', I18n.reload('de_AT'));\n\tmodule.hot.accept('./de_IN.json', I18n.reload('de_IN'));\n\tmodule.hot.accept('./el.json', I18n.reload('el'));\n\tmodule.hot.accept('./en.json', I18n.reload('en'));\n\tmodule.hot.accept('./eo.json', I18n.reload('eo'));\n\tmodule.hot.accept('./es.json', I18n.reload('es'));\n\tmodule.hot.accept('./et.json', I18n.reload('et'));\n\tmodule.hot.accept('./eu.json', I18n.reload('eu'));\n\tmodule.hot.accept('./fa.json', I18n.reload('fa'));\n\tmodule.hot.accept('./fi.json', I18n.reload('fi'));\n\tmodule.hot.accept('./fr.json', I18n.reload('fr'));\n\tmodule.hot.accept('./he.json', I18n.reload('he'));\n\tmodule.hot.accept('./hr.json', I18n.reload('hr'));\n\tmodule.hot.accept('./hu.json', I18n.reload('hu'));\n\tmodule.hot.accept('./id.json', I18n.reload('id'));\n\tmodule.hot.accept('./it.json', I18n.reload('it'));\n\tmodule.hot.accept('./ja.json', I18n.reload('ja'));\n\tmodule.hot.accept('./km.json', I18n.reload('km'));\n\tmodule.hot.accept('./ko.json', I18n.reload('ko'));\n\tmodule.hot.accept('./ku.json', I18n.reload('ku'));\n\tmodule.hot.accept('./lo.json', I18n.reload('lo'));\n\tmodule.hot.accept('./lt.json', I18n.reload('lt'));\n\tmodule.hot.accept('./lv.json', I18n.reload('lv'));\n\tmodule.hot.accept('./mn.json', I18n.reload('mn'));\n\tmodule.hot.accept('./ms_MY.json', I18n.reload('ms_MY'));\n\tmodule.hot.accept('./nl.json', I18n.reload('nl'));\n\tmodule.hot.accept('./no.json', I18n.reload('no'));\n\tmodule.hot.accept('./pl.json', I18n.reload('pl'));\n\tmodule.hot.accept('./pt.json', I18n.reload('pt'));\n\tmodule.hot.accept('./pt_BR.json', I18n.reload('pt_BR'));\n\tmodule.hot.accept('./ro.json', I18n.reload('ro'));\n\tmodule.hot.accept('./ru.json', I18n.reload('ru'));\n\tmodule.hot.accept('./sk_SK.json', I18n.reload('sk_SK'));\n\tmodule.hot.accept('./sl_SI.json', I18n.reload('sl_SI'));\n\tmodule.hot.accept('./sq.json', I18n.reload('sq'));\n\tmodule.hot.accept('./sr.json', I18n.reload('sr'));\n\tmodule.hot.accept('./sv.json', I18n.reload('sv'));\n\tmodule.hot.accept('./ta_IN.json', I18n.reload('ta_IN'));\n\tmodule.hot.accept('./th_TH.json', I18n.reload('th_TH'));\n\tmodule.hot.accept('./tr.json', I18n.reload('tr'));\n\tmodule.hot.accept('./ug.json', I18n.reload('ug'));\n\tmodule.hot.accept('./uk.json', I18n.reload('uk'));\n\tmodule.hot.accept('./vi_VN.json', I18n.reload('vi_VN'));\n\tmodule.hot.accept('./zh.json', I18n.reload('zh'));\n\tmodule.hot.accept('./zh_HK.json', I18n.reload('zh_HK'));\n\tmodule.hot.accept('./zh_TW.json', I18n.reload('zh_TW'));\r\n\tmodule.hot.accept('./default.json', I18n.reload('default'));\r\n}\r\n\r\nexport default I18n;\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"call-notification\":\"call-notification__3RkXD\",\"call-notification__content\":\"call-notification__content__3b5tH\",\"call-notification__content-avatar\":\"call-notification__content-avatar__2cgrA\",\"call-notification__content-message\":\"call-notification__content-message__3YU9P\",\"call-notification__content-actions\":\"call-notification__content-actions__1I_9w\",\"call-notification__content-actions-accept\":\"call-notification__content-actions-accept__2E61Z\",\"call-notification__content-actions-decline\":\"call-notification__content-actions-decline__2HSA9\",\"call-iframe\":\"call-iframe__1TpCn\",\"call-iframe__content\":\"call-iframe__content__pkcRS\",\"joinCall\":\"joinCall__36EOn\",\"joinCall__content\":\"joinCall__content__1P0Vp\",\"joinCall__content-videoIcon\":\"joinCall__content-videoIcon__1_ZVy\",\"joinCall__content-action\":\"joinCall__content-action__WSl7W\"};"],"sourceRoot":""}
|