From 4c787198975ef840937cd3126bc6fd42f64f8ef5 Mon Sep 17 00:00:00 2001 From: Alexander Date: Tue, 4 Oct 2022 22:32:09 +0300 Subject: [PATCH 1/2] Release UI 1.0.0.7 --- src/react/package-lock.json | 6 +- src/react/package.json | 2 +- src/react/src/ControlPanelService/Db.js | 77 +++--- src/react/src/components/Hotkeys/Hotkeys.jsx | 10 +- .../Lists/DirectoryList/DirectoryList.jsx | 131 ++++++---- src/react/src/components/Lists/Row/Row.jsx | 10 +- src/react/src/components/Lists/Row/Row.scss | 42 +-- .../Panel/Notifications/Notifications.jsx | 1 - .../components/MainNav/Toolbar/Toolbar.scss | 2 +- src/react/src/components/Menu/Menu.jsx | 239 ++++++++++++------ .../src/components/Modal/AddDirectory.jsx | 27 +- src/react/src/components/Modal/AddFile.jsx | 27 +- src/react/src/components/Modal/Modal.jsx | 97 ++++--- src/react/src/components/Modal/Modal.scss | 33 ++- src/react/src/components/Server/Server.scss | 14 +- src/react/src/containers/App/App.scss | 11 + web/static/css/main.55ab5a88.chunk.css | 2 - web/static/css/main.55ab5a88.chunk.css.map | 1 - web/static/css/main.9f0c683e.chunk.css | 2 + web/static/css/main.9f0c683e.chunk.css.map | 1 + web/static/index.html | 2 +- web/static/js/2.5dc90ea3.chunk.js | 3 - web/static/js/2.5dc90ea3.chunk.js.map | 1 - web/static/js/2.7cb4195c.chunk.js | 3 + ...SE.txt => 2.7cb4195c.chunk.js.LICENSE.txt} | 0 web/static/js/2.7cb4195c.chunk.js.map | 1 + web/static/js/main.57f35a42.chunk.js | 2 - web/static/js/main.57f35a42.chunk.js.map | 1 - web/static/js/main.cd9d00fe.chunk.js | 2 + web/static/js/main.cd9d00fe.chunk.js.map | 1 + 30 files changed, 471 insertions(+), 280 deletions(-) delete mode 100644 web/static/css/main.55ab5a88.chunk.css delete mode 100644 web/static/css/main.55ab5a88.chunk.css.map create mode 100644 web/static/css/main.9f0c683e.chunk.css create mode 100644 web/static/css/main.9f0c683e.chunk.css.map delete mode 100644 web/static/js/2.5dc90ea3.chunk.js delete mode 100644 web/static/js/2.5dc90ea3.chunk.js.map create mode 100644 web/static/js/2.7cb4195c.chunk.js rename web/static/js/{2.5dc90ea3.chunk.js.LICENSE.txt => 2.7cb4195c.chunk.js.LICENSE.txt} (100%) create mode 100644 web/static/js/2.7cb4195c.chunk.js.map delete mode 100644 web/static/js/main.57f35a42.chunk.js delete mode 100644 web/static/js/main.57f35a42.chunk.js.map create mode 100644 web/static/js/main.cd9d00fe.chunk.js create mode 100644 web/static/js/main.cd9d00fe.chunk.js.map diff --git a/src/react/package-lock.json b/src/react/package-lock.json index 749fd541c..2c695e13d 100644 --- a/src/react/package-lock.json +++ b/src/react/package-lock.json @@ -4396,9 +4396,9 @@ } }, "dayjs": { - "version": "1.10.7", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.10.7.tgz", - "integrity": "sha512-P6twpd70BcPK34K26uJ1KT3wlhpuOAPoMwJzpsIWUxHZ7wpmbdZL/hQqBDfz7hGurYSa5PhzdhDHtt319hL3ig==" + "version": "1.11.4", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.4.tgz", + "integrity": "sha512-Zj/lPM5hOvQ1Bf7uAvewDaUcsJoI6JmNqmHhHl3nyumwe0XHwt8sWdOVAPACJzCebL8gQCi+K49w7iKWnGwX9g==" }, "debug": { "version": "3.1.0", diff --git a/src/react/package.json b/src/react/package.json index e992f9e70..06435656f 100644 --- a/src/react/package.json +++ b/src/react/package.json @@ -13,7 +13,7 @@ "axios": "^0.21.4", "bootstrap": "^4.3.1", "classname": "0.0.0", - "dayjs": "^1.10.7", + "dayjs": "^1.11.4", "jquery": "^3.5.1", "node-sass": "^4.14.1", "perfect-scrollbar": "^1.5.3", diff --git a/src/react/src/ControlPanelService/Db.js b/src/react/src/ControlPanelService/Db.js index ecf5586a9..cd7a50e90 100644 --- a/src/react/src/ControlPanelService/Db.js +++ b/src/react/src/ControlPanelService/Db.js @@ -1,49 +1,49 @@ -import axios from "axios"; -import { getAuthToken } from "src/utils/token"; +import axios from 'axios' +import { getAuthToken } from 'src/utils/token' -const BASE_URL = window.location.origin; -const webApiUri = '/api/v1/list/db/index.php'; -const addDbApiUri = '/api/v1/add/db/index.php'; -const optionalDbInfoUri = '/api/v1/add/db/index.php'; -const dbInfoUri = '/api/v1/edit/db/index.php'; -const updateDatabaseUri = '/api/v1/edit/db/index.php'; +const BASE_URL = window.location.origin +const webApiUri = '/api/v1/list/db/index.php' +const addDbApiUri = '/api/v1/add/db/index.php' +const optionalDbInfoUri = '/api/v1/add/db/index.php' +const dbInfoUri = '/api/v1/edit/db/index.php' +const updateDatabaseUri = '/api/v1/edit/db/index.php' export const getDatabaseList = () => { - return axios.get(BASE_URL + webApiUri); + return axios.get(BASE_URL + webApiUri) } export const bulkAction = (action, domainNameSystems) => { - const formData = new FormData(); - formData.append("action", action); - formData.append("token", getAuthToken()); + const formData = new FormData() + formData.append('action', action) + formData.append('token', getAuthToken()) - domainNameSystems.forEach(domainNameSystem => { - formData.append("database[]", domainNameSystem); - }); + domainNameSystems.forEach((domainNameSystem) => { + formData.append('database[]', domainNameSystem) + }) - return axios.post(BASE_URL + '/api/v1/bulk/db/', formData); -}; + return axios.post(BASE_URL + '/api/v1/bulk/db/', formData) +} -export const handleAction = uri => { +export const handleAction = (uri) => { return axios.get(BASE_URL + uri, { params: { - token: getAuthToken() - } - }); + token: getAuthToken(), + }, + }) } export const getDbOptionalInfo = () => { - return axios.get(BASE_URL + optionalDbInfoUri); + return axios.get(BASE_URL + optionalDbInfoUri) } -export const addDatabase = data => { - let formDataObject = new FormData(); +export const addDatabase = (data) => { + let formDataObject = new FormData() for (let key in data) { - formDataObject.append(key, data[key]); + formDataObject.append(key, data[key]) } - return axios.post(BASE_URL + addDbApiUri, formDataObject); + return axios.post(BASE_URL + addDbApiUri, formDataObject) } export const dbCharsets = [ @@ -69,6 +69,7 @@ export const dbCharsets = [ 'latin5', 'armscii8', 'utf8', + 'utf8mb4', 'ucs2', 'cp866', 'keybcs2', @@ -82,29 +83,29 @@ export const dbCharsets = [ 'binary', 'geostd8', 'cp932', - 'eucjpms' -]; + 'eucjpms', +] -export const getDatabaseInfo = database => { +export const getDatabaseInfo = (database) => { return axios.get(BASE_URL + dbInfoUri, { params: { database, - token: getAuthToken() - } - }); + token: getAuthToken(), + }, + }) } export const updateDatabase = (data, database) => { - let formDataObject = new FormData(); + let formDataObject = new FormData() for (let key in data) { - formDataObject.append(key, data[key]); + formDataObject.append(key, data[key]) } return axios.post(BASE_URL + updateDatabaseUri, formDataObject, { params: { database, - token: getAuthToken() - } - }); -} \ No newline at end of file + token: getAuthToken(), + }, + }) +} diff --git a/src/react/src/components/Hotkeys/Hotkeys.jsx b/src/react/src/components/Hotkeys/Hotkeys.jsx index 7d5f94bb7..84795f7d2 100644 --- a/src/react/src/components/Hotkeys/Hotkeys.jsx +++ b/src/react/src/components/Hotkeys/Hotkeys.jsx @@ -34,10 +34,10 @@ const Hotkeys = props => {
  • n - {i18n['New Fille']} + {i18n['New File']}
  • - F7 + F6 {i18n['New Folder']}
  • @@ -56,10 +56,6 @@ const Hotkeys = props => { F5 {i18n['Copy']}
  • -
  • - F5 - {i18n['Copy']} -
  • F8 / Del {i18n['Delete']} @@ -107,7 +103,7 @@ const Hotkeys = props => { {i18n['Open File / Enter Directory']}
  • - F4 + F3 {i18n['Edit File']}
  • diff --git a/src/react/src/components/Lists/DirectoryList/DirectoryList.jsx b/src/react/src/components/Lists/DirectoryList/DirectoryList.jsx index f07d3a6ad..34239f309 100644 --- a/src/react/src/components/Lists/DirectoryList/DirectoryList.jsx +++ b/src/react/src/components/Lists/DirectoryList/DirectoryList.jsx @@ -6,6 +6,17 @@ import Row from '../Row/Row'; import '../List.scss'; class DirectoryList extends Component { + constructor(props) { + super(props); + this.state = { + orderType: "descending", + sortingType: "Type", + itemsSelected: [], + listingItems: [], + cursor: 0 + }; + } + static propTypes = { changePathAfterToggle: PropTypes.func, openCertainDirectory: PropTypes.func, @@ -27,13 +38,6 @@ class DirectoryList extends Component { data: PropTypes.array } - state = { - orderType: "descending", - sortingType: "Type", - itemsSelected: [], - cursor: 0 - }; - UNSAFE_componentWillMount = () => { if (localStorage.getItem(`${this.props.list}Sorting`) && localStorage.getItem(`${this.props.list}Order`)) { this.setState({ sortingType: localStorage.getItem(`${this.props.list}Sorting`), orderType: localStorage.getItem(`${this.props.list}Order`) }); @@ -117,20 +121,21 @@ class DirectoryList extends Component { } handleLiSelection = (e) => { - const { data, isActive, modalVisible, changePath, path } = this.props; + const { isActive, modalVisible, changePath, path } = this.props; const { cursor } = this.state; + const { listing } = this.getDataBySortingType() if (!isActive || modalVisible) { return; } if (e.keyCode === 40) { - if (cursor === data.listing.length - 1) { + if (cursor === listing.length - 1) { return; } - if (e.shiftKey) { - let name = data.listing[cursor].name; + if (e.shiftKey) { + let name = listing[cursor].name; this.addToSelection(name); } @@ -145,7 +150,7 @@ class DirectoryList extends Component { } if (e.shiftKey) { - let name = data.listing[cursor].name; + let name = listing[cursor - 1].name; this.addToSelection(name); } @@ -160,9 +165,15 @@ class DirectoryList extends Component { } passData = () => { - const { data, passData } = this.props; - const { name, permissions, type } = data.listing[this.state.cursor]; - passData(this.state.cursor, name, permissions, type); + const { passData: passDataToParent } = this.props; + const { firstItem, listing } = this.getDataBySortingType() + if (this.state.cursor === 0) { + const { name, permissions, type } = firstItem; + passDataToParent(this.state.cursor, name, permissions, type); + } else { + const { name, permissions, type } = listing[this.state.cursor - 1]; + passDataToParent(this.state.cursor, name, permissions, type); + } } openDirectory = (name) => { @@ -231,50 +242,74 @@ class DirectoryList extends Component { sortData = (a, b) => { switch (this.state.sortingType) { case "Type": return this.sortByType(a, b); - case "Size": if (a.type !== "d" && b.type !== "d") { return this.sortBySize(a, b) }; break; + case "Size": return this.sortBySize(a, b); case "Date": return this.sortByDate(a, b); case "Name": return this.sortByName(a, b); default: return this.sortByType(a, b); } } + getDataBySortingType = () => { + let firstItem, listing = []; + this.props.data.listing.forEach(item => { + if (item.name === '' && item.type === 'd') { + firstItem = item + } else { + listing.push(item) + } + }) + if (this.state.sortingType !== 'Type') { + listing = [ + ...listing.filter(item => item.type === 'd').sort((a, b) => this.sortByName(a, b)), + ...listing.filter(item => item.type === 'f').sort((a, b) => this.sortData(a, b)) + ] + } else { + listing = listing.sort((a, b) => this.sortData(a, b)) + } + return { firstItem, listing } + } + rows = () => { const { isActive, modalVisible, path, download } = this.props; const { cursor } = this.state; - const data = { ...this.props.data }; + const { listing, firstItem } = this.getDataBySortingType() - if (data.listing.length !== 0) { - let sortedData = data.listing.sort((a, b) => this.sortData(a, b)); + if (listing.length || firstItem) { return ( - sortedData.map((item, key) => - (item.name !== "" && sortedData.length !== 0) ? - ( { - this.setState({ cursor }); - this.props.passData(cursor, name, permissions, type); - }} - selectMultiple={() => this.addToSelection(item.name)} - selected={this.isSelected(item.name)} - openDirectory={this.openDirectory} - modalVisible={modalVisible} - activeRow={key === cursor} - isActiveList={isActive} - download={download} - cursor={key} - data={item} - path={path} />) : - ( { - this.setState({ cursor }); - this.props.passData(cursor, name, permissions, type); - }} - openDirectory={this.moveBack} - modalVisible={modalVisible} - activeRow={key === cursor} - isActiveList={isActive} - cursor={key} - data={item} - path={path} />)) + <> + { + this.setState({ cursor }); + this.props.passData(cursor, name, permissions, type); + }} + openDirectory={this.moveBack} + modalVisible={modalVisible} + activeRow={0 === cursor} + isActiveList={isActive} + cursor={0} + data={firstItem} + path={path} /> + { + listing.map((item, key) => ( + { + this.setState({ cursor }); + this.props.passData(cursor, name, permissions, type); + }} + selectMultiple={() => this.addToSelection(item.name)} + selected={this.isSelected(item.name)} + openDirectory={this.openDirectory} + modalVisible={modalVisible} + activeRow={key + 1 === cursor} + isActiveList={isActive} + download={download} + cursor={key + 1} + data={item} + path={path} /> + )) + } + ); } } diff --git a/src/react/src/components/Lists/Row/Row.jsx b/src/react/src/components/Lists/Row/Row.jsx index 55cccdd46..c45c70e1a 100644 --- a/src/react/src/components/Lists/Row/Row.jsx +++ b/src/react/src/components/Lists/Row/Row.jsx @@ -5,6 +5,7 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import { faJs, faCss3, faPhp, faHtml5, faSass } from '@fortawesome/free-brands-svg-icons'; import './Row.scss'; import { connect } from 'react-redux'; +import dayjs from 'dayjs' class Row extends Component { static propTypes = { @@ -127,6 +128,13 @@ class Row extends Component { return ({getMonth} {getDay}); } + timeFormatter = (date = new Date(), time) => { + const year = dayjs(date).year() + const currentYear = dayjs().year() + if (year === currentYear) return time + return year + } + glyph = () => { const { data: { type, name } } = this.props; @@ -182,7 +190,7 @@ class Row extends Component { {owner} {this.sizeFormatter(size)} {this.dateFormatter(date)} - {time} + {this.timeFormatter(date, time)}
  • ); } diff --git a/src/react/src/components/Lists/Row/Row.scss b/src/react/src/components/Lists/Row/Row.scss index 3697380e6..3f56182a3 100644 --- a/src/react/src/components/Lists/Row/Row.scss +++ b/src/react/src/components/Lists/Row/Row.scss @@ -87,11 +87,11 @@ margin-left: 5px; line-height: 34px; font-size: 15px; - white-space: nowrap; - transition: all ease-out .3s; - + white-space: nowrap; + transition: all ease-out 0.3s; + &:hover { - transition: all ease-out .2s; + transition: all ease-out 0.2s; background: rgb(201, 199, 199); border-radius: 4px; cursor: pointer; @@ -100,7 +100,7 @@ } .list .list-container ul li.active .fName .name:hover { - background: #F0B607; + background: #f0b607; color: black; } @@ -160,20 +160,22 @@ li.inactive { background: rgb(220, 220, 220); } -@media (max-width: 1400px){ - .fPermissions, .fOwner { - display: none; - } -} - -@media (max-width: 1100px){ - .fDate { - display: none; - } -} - -@media (max-width: 970px){ - .fTime { - display: none; +@media (max-width: 1320px) { + .list .list-container ul li { + .fName { + width: 210px; + } + .fSize { + width: 75px; + } + .fDate { + width: 40px; + } + .fTime { + width: 50px; + } + .fPermissions { + margin: 0; + } } } diff --git a/src/react/src/components/MainNav/Panel/Notifications/Notifications.jsx b/src/react/src/components/MainNav/Panel/Notifications/Notifications.jsx index 09644996f..76933af33 100644 --- a/src/react/src/components/MainNav/Panel/Notifications/Notifications.jsx +++ b/src/react/src/components/MainNav/Panel/Notifications/Notifications.jsx @@ -15,7 +15,6 @@ const Notifications = () => { useEffect(() => { if (!notifications.length) { - console.log(notifications); fetchData(); } }, [notifications]); diff --git a/src/react/src/components/MainNav/Toolbar/Toolbar.scss b/src/react/src/components/MainNav/Toolbar/Toolbar.scss index 5291709ac..9f1dc3764 100644 --- a/src/react/src/components/MainNav/Toolbar/Toolbar.scss +++ b/src/react/src/components/MainNav/Toolbar/Toolbar.scss @@ -151,7 +151,7 @@ box-shadow: rgba(200, 200, 200, 0.5) 0px 5px 3px 0px; } -@media (max-width: 1350px) { +@media (max-width: 1390px) { .toolbar { padding: 3px 10% 1px; } diff --git a/src/react/src/components/Menu/Menu.jsx b/src/react/src/components/Menu/Menu.jsx index 67b28abdc..0ede6af98 100644 --- a/src/react/src/components/Menu/Menu.jsx +++ b/src/react/src/components/Menu/Menu.jsx @@ -1,148 +1,177 @@ -import React, { createRef, useEffect } from 'react'; -import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; -import './Menu.scss'; -import { useSelector } from 'react-redux'; -import { Link } from 'react-router-dom'; +import React, { useCallback, useEffect, useRef } from 'react' +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' +import './Menu.scss' +import { useSelector } from 'react-redux' +import { Link } from 'react-router-dom' const Menu = (props) => { - const { i18n } = useSelector(state => state.session); - const inputFile = createRef(); + const { i18n } = useSelector((state) => state.session) + const inputFile = useRef() + + const handleUserKeyDown = useCallback((event) => hotKeys(event), [props]) useEffect(() => { - document.addEventListener("keydown", hotKeys); + document.addEventListener('keydown', handleUserKeyDown) - return () => document.removeEventListener("keydown", hotKeys); - }, []); + return () => document.removeEventListener('keydown', handleUserKeyDown) + }, [handleUserKeyDown]) const newFile = () => { - props.openModal("Add file"); + props.openModal('Add file') } const newDirectory = () => { - props.openModal("Add directory"); + props.openModal('Add directory') } const deleteFile = () => { - const { selection, openModal, cursor } = props; + const { selection, openModal, cursor } = props if (selection.length === 0) { if (cursor === 0) { - openModal("Nothing selected"); + openModal('Nothing selected') } else { - openModal("Delete"); + openModal('Delete') } } else { - openModal("Delete", selection.length); + openModal('Delete', selection.length) } } const rename = () => { + console.log(props) if (props.cursor === 0) { - props.openModal("Nothing selected"); + props.openModal('Nothing selected') } else { - props.openModal("Rename"); + props.openModal('Rename') } } const permissions = () => { if (props.cursor === 0) { - props.openModal("Nothing selected"); + props.openModal('Nothing selected') } else { - props.openModal("Permissions"); + props.openModal('Permissions') } } const move = () => { - const { selection, openModal, cursor } = props; + const { selection, openModal, cursor } = props if (selection.length === 0) { if (cursor === 0) { - openModal("Nothing selected"); + openModal('Nothing selected') } else { - openModal("Move"); + openModal('Move') } } else { - openModal("Move", selection.length); + openModal('Move', selection.length) } } const archive = () => { - const { selection, openModal, cursor } = props; + const { selection, openModal, cursor } = props if (selection.length === 0) { if (cursor === 0) { - openModal("Nothing selected"); + openModal('Nothing selected') } else { - openModal("Archive"); + openModal('Archive') } } else { - openModal("Archive", selection.length); + openModal('Archive', selection.length) } } const extract = () => { if (props.cursor === 0) { - props.openModal("Nothing selected"); + props.openModal('Nothing selected') } else { - props.openModal("Extract"); + props.openModal('Extract') } } const copy = () => { - const { selection, openModal, cursor } = props; + const { selection, openModal, cursor } = props if (selection.length === 0) { if (cursor === 0) { - openModal("Nothing selected"); + openModal('Nothing selected') } else { - openModal("Copy"); + openModal('Copy') } } else { - openModal("Copy", selection.length); + openModal('Copy', selection.length) } } const upload = (e) => { if (e.target.files.length === 0) { - return; + return } - props.upload(e.target.files); + props.upload(e.target.files) } const download = () => { if (props.cursor === 0) { - props.openModal("Nothing selected"); - } else if (props.itemType === "d") { - props.openModal("Nothing selected", null, true); + props.openModal('Nothing selected') + } else if (props.itemType === 'd') { + props.openModal('Nothing selected', null, true) } else { - props.download(); + props.download() } } const hotKeys = (e) => { - let isSearchInputFocused = document.querySelector('input:focus') || document.querySelector('textarea:focus'); + e.stopPropagation() + e.preventDefault() + let isSearchInputFocused = document.querySelector('input:focus') || document.querySelector('textarea:focus') - if (props.modalVisible || isSearchInputFocused) return; + if (props.modalVisible || isSearchInputFocused) return - if (e.shiftKey && e.keyCode === 117) { - rename(); + if (e.shiftKey && e.keyCode === 118) { + rename() + return } switch (e.keyCode) { - case 46: return deleteFile(); - case 65: return archive(); - case 68: return download(); - case 77: return move(); - case 78: return newFile(); - case 85: return inputFile.click(); - case 113: return rename(); - case 115: return permissions(); - case 116: return copy(); - case 118: return newDirectory(); - case 119: return deleteFile(); - default: break; + // u + case 85: + return inputFile.current.click() + // n + case 78: + return newFile() + // F6 + case 118: + return newDirectory() + // d + case 68: + return download() + // F2 + case 113: + return rename() + // m + case 77: + return move() + // F4 + case 115: + return copy() + // a + case 65: + return archive() + // F8 + case 119: + return deleteFile() + // Del + case 46: + return deleteFile() + // F3 + case 114: + return permissions() + default: + break } } - let matchArchive = props.name.match(/.zip|.tgz|.tar.gz|.gzip|.tbz|.tar.bz|.gz|.zip|.tar|.rar/g); + let matchArchive = props.name.match(/.zip|.tgz|.tar.gz|.gzip|.tbz|.tar.bz|.gz|.zip|.tar|.rar/g) return (
    @@ -153,30 +182,80 @@ const Menu = (props) => {
    - - - - - - - - - - - - - - - - {matchArchive ? null : } - {matchArchive ? null : } - {matchArchive ? : null} - {matchArchive ? : null} - - + + + + + + + + + + + + + + + + {matchArchive ? null : ( + + )} + {matchArchive ? null : ( + + )} + {matchArchive ? ( + + ) : null} + {matchArchive ? ( + + ) : null} + +
    - ); + ) } -export default Menu; +export default Menu diff --git a/src/react/src/components/Modal/AddDirectory.jsx b/src/react/src/components/Modal/AddDirectory.jsx index d94b483b5..173fdb654 100644 --- a/src/react/src/components/Modal/AddDirectory.jsx +++ b/src/react/src/components/Modal/AddDirectory.jsx @@ -1,9 +1,27 @@ -import React from 'react'; +import React, { useState } from 'react'; import { useSelector } from 'react-redux'; const AddDirectory = (props) => { + const [value, setValue] = useState(null) const { i18n } = useSelector(state => state.session); + const [hasError, setHasError] = useState(value !== null && !value.length) + + const onChange = (e) => { + setValue(e.target.value) + } + + const save = () => { + if (!value) { + setHasError(true) + return; + } + props.save() + } + + const cancel = () => { + props.close() + } return (
    @@ -11,11 +29,12 @@ const AddDirectory = (props) => {

    {i18n['Create directory']}

    - + + {hasError && {i18n['Directory name cannot be empty']}}
    - - + +
    ); diff --git a/src/react/src/components/Modal/AddFile.jsx b/src/react/src/components/Modal/AddFile.jsx index cbd96bd89..f7856959c 100644 --- a/src/react/src/components/Modal/AddFile.jsx +++ b/src/react/src/components/Modal/AddFile.jsx @@ -1,8 +1,26 @@ -import React from 'react'; +import React, { useState } from 'react'; import { useSelector } from 'react-redux'; const AddFile = (props) => { + const [value, setValue] = useState(null) const { i18n } = useSelector(state => state.session); + const [hasError, setHasError] = useState(value !== null && !value.length) + + const onChange = (e) => { + setValue(e.target.value) + } + + const save = () => { + if (!value) { + setHasError(true) + return; + } + props.save() + } + + const cancel = () => { + props.close() + } return (
    @@ -10,11 +28,12 @@ const AddFile = (props) => {

    {i18n['Create file']}

    - + + {hasError && {i18n['File name cannot be empty']}}
    - - + +
    ); diff --git a/src/react/src/components/Modal/Modal.jsx b/src/react/src/components/Modal/Modal.jsx index ff71a69db..59c2dc6e2 100644 --- a/src/react/src/components/Modal/Modal.jsx +++ b/src/react/src/components/Modal/Modal.jsx @@ -1,4 +1,4 @@ -import React, { Component } from 'react'; +import React, { useEffect } from 'react'; import AddFile from './AddFile'; import AddDirectory from './AddDirectory'; import Rename from './Rename'; @@ -9,86 +9,83 @@ import Move from './Move'; import Archive from './Archive'; import Extract from './Extract'; import Copy from './Copy'; -import './Modal.scss'; import Replace from './Replace'; +import './Modal.scss'; -class Modal extends Component { +const Modal = (props) => { + useEffect(() => { + window.addEventListener("click", closeOutside); + document.addEventListener("keydown", hotkeys); - componentDidMount = () => { - window.addEventListener("click", this.closeOutside); - document.addEventListener("keydown", this.hotkeys); - } + return () => { + window.removeEventListener("click", closeOutside); + document.removeEventListener("keydown", hotkeys); + } + }, []) - componentWillUnmount = () => { - window.removeEventListener("click", this.closeOutside); - document.removeEventListener("keydown", this.hotkeys); - } - - hotkeys = (e) => { + const hotkeys = (e) => { if (e.keyCode === 27) { - this.closeModal(); + closeModal(); } else if (e.keyCode === 13) { - this.saveAndClose(); + saveAndClose(); } } - saveAndClose = () => { - this.props.onClick(); - this.props.onClose(); + const saveAndClose = () => { + props.onClick(); + props.onClose(); } - changePermissions = (permissions) => { - this.props.onChangePermissions(permissions); + const changePermissions = (permissions) => { + props.onChangePermissions(permissions); } - replace = (file) => { - this.props.onClick(file); - this.props.onClose(); + const replace = (file) => { + props.onClick(file); + props.onClose(); } - onChange = (e) => { - this.props.onChangeValue(e.target.value); + const onChange = (e) => { + props.onChangeValue(e.target.value); } - closeModal = () => { - this.props.onClose(); + const closeModal = () => { + props.onClose(); } - closeOutside = (e) => { + const closeOutside = (e) => { let modal = document.getElementById("modal"); if (e.target === modal) { - this.props.onClose(); + props.onClose(); } } - content = () => { - const { type, reference, fName, permissions, items, path, files, notAvailable } = this.props; + const content = () => { + const { type, reference, fName, permissions, items, path, files, notAvailable } = props; switch (type) { - case 'Copy': return ; - case 'Move': return ; - case 'Permissions': return ; - case 'Extract': return ; - case 'Archive': return ; - case 'Rename': return ; - case 'Add directory': return ; - case 'Delete': return ; - case 'Add file': return ; - case 'Replace': return this.replace(files)} files={files} /> - case 'Nothing selected': return ; + case 'Copy': return ; + case 'Move': return ; + case 'Permissions': return ; + case 'Extract': return ; + case 'Archive': return ; + case 'Rename': return ; + case 'Add directory': return ; + case 'Delete': return ; + case 'Add file': return ; + case 'Replace': return replace(files)} files={files} /> + case 'Nothing selected': return ; default: break; } } - render() { - return ( -
    - + return ( +
    + - ); - } +
    + ); } export default Modal; \ No newline at end of file diff --git a/src/react/src/components/Modal/Modal.scss b/src/react/src/components/Modal/Modal.scss index 98a89f7ee..14737b5d0 100644 --- a/src/react/src/components/Modal/Modal.scss +++ b/src/react/src/components/Modal/Modal.scss @@ -12,7 +12,7 @@ height: 100%; overflow: auto; background-color: $black; - background-color: rgba(0,0,0,0.4); + background-color: rgba(0, 0, 0, 0.4); .modal-content { box-shadow: 0 2px 11px 0 rgba(0, 0, 0, 0.5); @@ -25,10 +25,23 @@ margin-top: 100px; .modal-body { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; overflow-wrap: anywhere; font-size: 17px; margin-bottom: 40px; + small { + margin-top: 5px; + font-size: 13px; + + &.error { + color: red; + } + } + input { background: #333; border: 1px solid #111; @@ -44,6 +57,7 @@ word-break: break-word; h3 { + font-size: 20px; color: $secondaryLight; } @@ -66,7 +80,7 @@ border-color: none; background: none; text-transform: uppercase; - font-size: 12px; + font-size: 11px; &:focus { outline: none; @@ -98,7 +112,7 @@ border-color: $primaryLight; color: $hoverButtonText; } - + &:hover { background: $primaryActive; border-color: $primaryActive; @@ -106,7 +120,7 @@ } } } - + .header .quot { color: $secondaryActive; } @@ -144,17 +158,18 @@ right: 15px; } } - + .permissions { height: auto; width: 30%; margin-top: 0; - - .error, &:focus { + + .error, + &:focus { border: 1px solid red; } - input[type="text"] { + input[type='text'] { size: 40px; width: 60px; margin: auto auto 10px auto; @@ -189,4 +204,4 @@ } } } -} \ No newline at end of file +} diff --git a/src/react/src/components/Server/Server.scss b/src/react/src/components/Server/Server.scss index d55d8fd1d..ef58c837a 100644 --- a/src/react/src/components/Server/Server.scss +++ b/src/react/src/components/Server/Server.scss @@ -14,6 +14,16 @@ } } +.servers-wrapper .l-col { + display: flex; + align-items: center; + height: 55px; + + .checkbox { + margin: 0px; + } +} + .servers-wrapper .r-col { padding-left: 2rem; @@ -28,7 +38,7 @@ transform: translateX(-10px); } - .stats div>span { + .stats div > span { width: 100%; } -} \ No newline at end of file +} diff --git a/src/react/src/containers/App/App.scss b/src/react/src/containers/App/App.scss index 3b2288069..069ec0cad 100644 --- a/src/react/src/containers/App/App.scss +++ b/src/react/src/containers/App/App.scss @@ -222,6 +222,17 @@ button { } } } + + .content .servers-list .servers-wrapper .l-col { + display: flex; + align-items: center; + height: 55px; + margin-top: .75rem; + + .checkbox { + margin: 0px; + } + } } @media (max-width: 900px) { diff --git a/web/static/css/main.55ab5a88.chunk.css b/web/static/css/main.55ab5a88.chunk.css deleted file mode 100644 index f5626161e..000000000 --- a/web/static/css/main.55ab5a88.chunk.css +++ /dev/null @@ -1,2 +0,0 @@ -body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,"Courier New",monospace}.spinner-wrapper{position:absolute;bottom:5px;width:150px;left:42%;height:10px}.dropdown-menu ul{height:150px}.dropdown-menu ul li{display:inline-flex}.lists-container .dropdown-menu.show{-webkit-transform:translate3d(-57%,39px,0)!important;transform:translate3d(-57%,39px,0)!important}.path{display:flex;justify-content:space-between;font-size:15px;padding:1px 0 0 5px;height:40px;background:#222e44;color:#999;box-shadow:0 2px 10px -4px #222e44}.path .btn-group{width:75px;margin-left:15px;background:none;box-shadow:none}.path .btn-group .btn-secondary:not(:disabled):not(.disabled).active,.path .btn-group .btn-secondary:not(:disabled):not(.disabled):active,.path .btn-group .show>.btn-secondary.dropdown-toggle{background:#222e44;border:#222e44}.path .btn-group button{padding-left:0;padding-right:5px;color:#999;background:#222e44;border:#222e44;transition:none}.path .btn-group button span{color:#999;padding:0 0 0 5px}.path .btn-group button:active,.path .btn-group button:focus{background:#222e44;border:#222e44}.path .btn-group .btn.active.focus,.path .btn-group .btn.active:focus,.path .btn-group .btn.focus,.path .btn-group .btn:active.focus,.path .btn-group .btn:active:focus,.path .btn-group .btn:focus{box-shadow:none;outline:none;background:#222e44;border:#222e44}.path .btn-group .btn-secondary{display:flex;justify-content:center;align-items:center}.path .clickable{padding-top:8px;cursor:pointer}.active-path{display:flex;justify-content:space-between;font-size:15px;padding:1px 0 0 5px;height:40px;background:#d7dcef;color:#fff;box-shadow:0 2px 6px -2px #d7dcef}.active-path .clickable-wrapper{display:flex;flex-wrap:nowrap;overflow:auto}.active-path .btn-group{width:75px;background:none;box-shadow:none}.active-path .btn-group .btn-secondary:not(:disabled):not(.disabled).active,.active-path .btn-group .btn-secondary:not(:disabled):not(.disabled):active,.active-path .btn-group .show>.btn-secondary.dropdown-toggle{border-color:#d7dcef;background:#d7dcef}.active-path .btn-group button{padding-left:0;padding-right:5px;color:#fff;border-color:#d7dcef;background:#d7dcef;transition:none}.active-path .btn-group button span{color:#fff;padding:0 0 0 5px}.active-path .btn-group button:active,.active-path .btn-group button:focus{border-color:#d7dcef;background:#d7dcef}.active-path .btn-group .btn.active.focus,.active-path .btn-group .btn.active:focus,.active-path .btn-group .btn.focus,.active-path .btn-group .btn:active.focus,.active-path .btn-group .btn:active:focus,.active-path .btn-group .btn:focus{box-shadow:none;outline:none;border-color:#d7dcef;background:#d7dcef}.active-path .btn-group .btn-secondary{display:flex;justify-content:center;align-items:center;color:#2c54ac}.active-path .btn-group .btn-secondary span{color:#2c54ac}.active-path .btn-group .btn-secondary:hover{color:#1c3876;border-color:#d7dcef;background:#d7dcef}.active-path .btn-group .btn-secondary:hover span{color:#1c3876}.active-path .clickable{color:#2c54ac;padding-top:8px;cursor:pointer}.active-path .clickable:hover{color:#1c3876}.active-path .clickable:active{color:#2c54ac}.clickable-path{display:flex;float:0 0 auto}.list .list-container ul li svg{width:25px;vertical-align:top;margin-top:9px;margin-left:10px}.html5{color:#f16529}.file-alt{color:#20d2d1}.list .list-container ul li .marker{float:left;width:4px;height:34px;margin-right:5px}.list .list-container ul li .js{width:16px;color:#f7df1c;background:#000;margin:9px 4px 0 15px}.php{color:#777bb3}.css3{color:#0079cb}.sass{color:#cd6699}.image{color:#36afae}.folder-open{color:#e29741}.file{color:#11b1b1}.archive{color:#d1ce2b}.download{color:#929ca3}.fDate,.fOwner,.fPermissions,.fSize,.fTime{font-size:14px;float:right;width:60px;padding-top:2px}.list .list-container ul li .fName{margin-left:5px;width:260px;display:inline-block;overflow:hidden;text-overflow:clip}.list .list-container ul li .fName .name{padding:0 5px;float:left;margin-left:5px;line-height:34px;font-size:15px;white-space:nowrap;transition:all .3s ease-out}.list .list-container ul li .fName .name:hover{transition:all .2s ease-out;background:#c9c7c7;border-radius:4px;cursor:pointer}.list .list-container ul li.active .fName .name:hover{background:#f0b607;color:#000}.list .list-container ul li .fPermissions{margin-left:35px;width:50px;color:#727272;font-size:11px}.list .list-container ul li .fDate .date{color:#727272;font-size:11px}.list .list-container ul li .fTime{color:#727272;font-size:11px;width:54px}.fSize{padding-right:15px;text-align:right;width:95px}.list .list-container ul li .fOwner{color:#896417;font-style:italic;width:50px;font-size:12px;margin-right:5px}.value{color:#2c54ac}.unit{font-weight:bolder;color:#727272}li.inactive{background:#c9c7c7}li.inactive .marker{float:left;width:4px;height:34px;margin-right:5px;background:#a3a3a3}.inactive-selected{background:#dcdcdc}@media (max-width:1400px){.fOwner,.fPermissions{display:none}}@media (max-width:1100px){.fDate{display:none}}@media (max-width:970px){.fTime{display:none}}.list{width:50%;height:100vh;flex:1 1 50%}.list .list-container{margin-top:10px;height:calc(100% - 100px);overflow:auto}.list .list-container ul{margin-top:5px;padding:0;color:#3a3a3a}.list .list-container ul li{display:block;height:34px;line-height:30px;font-size:15px;margin-top:2px;list-style:none}.list .list-container ul li span{font-size:13px}.list .list-container ul li:hover{background:#dedede}.list .list-container ul li.active{background:#ffdc5a}.list .list-container ul li.active .marker{float:left;width:4px;height:34px;margin-right:5px;background:#79641a}.list .list-container ul li.selected{background:#fdfdbb}@media screen and (max-width:1200px){.owner,.permissions{display:none}}.progress.upload{left:0;top:0;z-index:9999;height:5px;position:fixed;width:100%;margin:0;display:inline-table;background:transparent}.progress.upload .progress-bar{height:5px}.modal{display:block;text-align:center;position:fixed;z-index:1;padding-top:200px;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#000;background-color:rgba(0,0,0,.4)}.modal .modal-content{box-shadow:0 2px 11px 0 rgba(0,0,0,.5);background:#222e44;border:1px solid #111824;width:25%;height:auto;color:#fff;margin:100px auto auto}.modal .modal-content .modal-body{overflow-wrap:anywhere;font-size:17px;margin-bottom:40px}.modal .modal-content .modal-body input{background:#333;border:1px solid #111;color:#fff;margin-top:10px;width:85%}.modal .modal-content .modal-header{border-bottom:none;padding-bottom:0;word-break:break-word}.modal .modal-content .modal-header h3{color:#f8b014}.modal .modal-content .modal-header .replace{position:absolute;top:10px;right:10px}.modal .modal-content .modal-header .quot{color:#fdb51c}.modal .modal-content .modal-footer{border-top:1px solid #555}.modal .modal-content .modal-footer button{color:#fff;border-color:none;background:none;text-transform:uppercase;font-size:12px}.modal .modal-content .modal-footer button:focus{outline:none;box-shadow:none}.modal .modal-content .modal-footer button.btn-danger{border-color:transparent}.modal .modal-content .modal-footer button.btn-danger:focus{outline:none;border:none}.modal .modal-content .modal-footer button.btn-danger:hover{background:#b00e5b;border-color:#b00e5b}.modal .modal-content .modal-footer button+button{padding:6px 30px;background:#fcac04;border-color:#fcac04}.modal .modal-content .modal-footer button+button:hover{background:#d7dcef;border-color:#d7dcef;color:#2c54ac}.modal .modal-content .modal-footer button+button:hover{background:#1e5cb2;border-color:#1e5cb2;color:#fff}.modal .modal-content .header .quot{color:#fdb51c}.modal .modal-content .close{top:0;right:0;color:#000}.modal .nothing-selected h3{padding:15px}.modal .nothing-selected .modal-footer{margin-top:20px}.modal .nothing-selected .modal-footer button{background:#d9534f;border-color:#d9534f;color:#fff}.modal .delete .modal-header{border-bottom:none;padding-bottom:30px}.modal .delete .modal-header .close{position:absolute;top:15px;right:15px}.modal .permissions{height:auto;width:30%;margin-top:0}.modal .permissions .error,.modal .permissions:focus{border:1px solid red}.modal .permissions input[type=text]{size:40px;width:60px;margin:auto auto 10px;display:inline-block}.modal .permissions .header h3{margin-bottom:40px;font-size:30px}.modal .permissions form{margin-top:20px}.modal .permissions form div{display:flex;flex-direction:column;justify-content:space-between;margin-bottom:30px;margin-left:40px}.modal .permissions form div label{display:inherit;cursor:pointer;font-size:18px}.modal .permissions form div label input{margin-top:6px;margin-right:5px}.menu{display:flex;background:#f8f9fa;height:40px}.menu .logo{width:7rem;padding-left:5px;display:flex;justify-content:center;align-items:center}.menu .logo img{width:82%}.menu .btn-group{padding:0 0 0 10px;margin:0;font-size:17px;border-radius:0;background:#f8f9fa}.menu .btn-group .small{display:none}.menu .btn-group #upload{line-height:0;margin-top:7px;margin-bottom:7px;padding-top:8px;padding-bottom:7px;margin-left:2px;color:#fff;border-radius:4px;background:#2c54ac}.menu .btn-group #upload:hover{color:#2c54ac;background:#d7dcef}.menu .btn-group button{text-transform:uppercase;font-size:12px;padding-top:11px;padding-bottom:12px;margin:0 25px 0 2px;text-align:center}.menu .btn-group button:hover{color:#2c54ac}.menu .btn-group button:focus{box-shadow:none;outline:none}.menu .btn-group .btn-hidden,.menu .btn-group .upload{display:none}.menu .btn-group .delete:hover{color:#dd3939}@media screen and (max-width:1200px){.menu .btn-group .small{font-size:18px;padding-top:8px;display:inline-block}.menu .btn-group .icon{color:#777}.menu .btn-group .small:hover .copy,.menu .btn-group .small:hover .download,.menu .btn-group .small:hover .file,.menu .btn-group .small:hover .folder-close{color:#2c54ac}.menu .btn-group .small:hover .italic,.menu .btn-group .small:hover .paste,.menu .btn-group .small:hover .user{color:#2c54ac}.menu .btn-group .small:hover .trash{color:#dd3939}.menu .btn-group .small:hover .book{color:#2c54ac}.big{display:none}}html{overflow-y:scroll}.App{font-size:25px;font-family:Arial}.window{background:#ececec;height:100vh;width:100%;display:flex;flex-direction:column;overflow:hidden}.window .lists-container{display:flex;flex-direction:row}.active{background:#fff}.progress{height:10px;transition:all .1s ease-out}.Toastify__toast-body{font-size:20px;word-break:break-word}.Toastify__toast-container{top:15em}.actions div a.link-download:hover,.actions div a.link-edit:hover,.actions div button.link-download:hover,.actions div button.link-edit:hover{background:#2c54ac!important}.actions div a.link-list:hover,.actions div button.link-list:hover{background:#2c54ac!important}.actions div a.link-delete:hover,.actions div button.link-delete:hover{background:#b00e5b!important}.actions div a.link-gray:hover,.actions div button.link-gray:hover{background:#afafac!important}.actions div button{text-transform:inherit;font-weight:bolder;background:#dfdedd;border:none}@media screen and (max-width:700px){.actions{background:unset!important;flex-wrap:wrap;justify-content:flex-end!important}.actions div{height:30px!important}.actions div a,.actions div button{background:#dfdedd!important;padding:0 10px!important;height:100%!important;font-size:10px!important}}.period:active,a:active,button:active{color:#1e5cb2}.list-item:first-child{margin-top:5px}.list-item .text-status{display:none}button:active,button:focus,button:hover{outline:none}.fixed-buttons.fm{position:fixed;right:15px;bottom:15px;display:flex;justify-content:space-around;align-items:center}.fixed-buttons.fm>div{width:40px;height:40px;padding:5px;margin:5px;border-radius:50%;background:#c3c3c3;display:flex;justify-content:center;align-items:center}.fixed-buttons.fm>div:hover{color:#2c54ac;background:#d7dcef}.fixed-buttons.fm>div:active{color:#fff;background:#1e5cb2}.fixed-buttons.fm>div button{display:flex;justify-content:center;align-items:center;background:none;border:none;width:100%;height:100%;border-radius:50%;-webkit-transform:scale(1.32);transform:scale(1.32)}.fixed-buttons.fm>div button svg{color:#fff;height:70%}.fixed-buttons.fm>div:first-child{background:#2c54ac}.fixed-buttons.fm>div:first-child:hover{color:#2c54ac;background:#d7dcef}.fixed-buttons.fm>div:first-child:hover button svg{color:#2c54ac}.fixed-buttons.fm>div:first-child:active{color:#fff;background:#1e5cb2}.fixed-buttons.fm>div:first-child:active button svg{color:#fff}.fixed-buttons.fm>div:first-child button{padding:0}.fixed-buttons.fm>div:first-child button svg{color:#fff}@media (min-width:1067px){.App div.content{padding-top:0!important;margin-top:-20px!important}}@media (max-width:1066px){.App div.content{padding-top:0!important;margin-top:-20px!important}.content>div .l-col{margin-top:2rem;padding-left:5px}.content>div .r-col{margin-top:1rem}.content>div .r-col .name{margin-top:2rem}.content>div .r-col .stats{flex-wrap:wrap}.content>div .r-col .stats>div{margin:1rem 0!important;padding:0!important;width:100%!important}}@media (max-width:900px){.App div.content{padding-top:77px!important;margin-top:0!important}.content>div .l-col{padding-left:5px}.content>div .r-col{padding-left:2rem}}@media (max-width:725px){.content .r-col{padding-left:3.5rem}}.editor{width:100%}.editor .panel-editor{display:flex;justify-content:flex-end;width:100%;height:40px;position:absolute;padding:3px;margin:0;background:rgba(0,0,0,.75);z-index:4;transition:all .5s ease-in-out;border-bottom:1px solid #000;border-radius:0}.editor .panel-editor button{font-size:17px;height:98%;margin:0 0 0 30px;padding:0 10px}.editor .panel-editor button:focus{outline:none;box-shadow:none}.editor .close{z-index:4;position:absolute;top:5px;right:5px;font-size:40px;opacity:1;color:#000}.editor .close:hover{color:#8b8b8b}.editor .CodeMirror{height:100vh;padding-top:4vh}.editor .CodeMirror .CodeMirror-selected{background:#accef7}.editor .CodeMirror .CodeMirror-scroll{font-size:14px}.editor .save{font-size:20px;left:95%;bottom:10px;position:absolute}.carousel{width:100%;position:relative}.carousel a{width:5%}.carousel .carousel-inner .carousel-item{background:#000;width:100%;height:100vh}.carousel .carousel-inner .carousel-item .gif{height:50%;width:50%}.carousel .carousel-inner .carousel-item .img{width:90%}.carousel .carousel-indicators .indicator{margin:0 15px;width:80px;height:80px}.carousel .carousel-indicators .indicator .control-photo{width:100px;height:80px}.carousel .carousel-indicators .indicator:hover{cursor:pointer}.carousel .carousel-indicators .indicator.active>img{border:3px solid #3cc3f0}.carousel .carousel-indicators .indicator .active{border:3px solid #3cc3f0}span.close{z-index:10;font-size:30px;position:absolute;top:5px;right:10px;opacity:1;color:#fff;cursor:pointer}span.close:hover{color:#fff}.video-preview{padding-bottom:17px;width:100%;background:#000}.video-preview .close{z-index:1;font-size:30px;position:absolute;top:5px;right:2px;opacity:1;color:#fff}.video-preview .close:hover{color:#000}.video-preview .video{width:100%;height:auto}.video-preview .video:focus{outline:none}.l-col{padding-left:15px}.r-col{font-size:13px}.w-14{width:14.3%}.w-20{width:20%}.w-25{width:25%}.w-30{width:30%}.w-35{width:35%}.w-40{width:40%}.w-45{width:45%}.w-50{width:50%}.w-60{width:60%}.w-85{width:85%}.content .edit-template{padding-bottom:2rem}.content .edit-template .toolbar{justify-content:unset}.content .edit-template .toolbar>div{width:14.3%;display:flex;align-items:center}.content .edit-template .toolbar div.error,.content .edit-template .toolbar div.success{width:-webkit-fit-content!important;width:fit-content!important}.content .edit-template .toolbar div.error span,.content .edit-template .toolbar div.success span{font-weight:700;font-size:14px}.content .edit-template .toolbar div.error span svg,.content .edit-template .toolbar div.success span svg{font-size:13px;margin-right:10px}.content .edit-template .toolbar div.error span.error-message,.content .edit-template .toolbar div.success span.error-message{color:#be5abf}.content .edit-template .toolbar div.error span.error-message svg,.content .edit-template .toolbar div.success span.error-message svg{margin-right:7px;font-size:13px;color:#be5abf}.content .edit-template .toolbar div.error span.ok-message,.content .edit-template .toolbar div.error span.ok-message svg,.content .edit-template .toolbar div.success span.ok-message,.content .edit-template .toolbar div.success span.ok-message svg{color:#2c54ac}.content .edit-template .toolbar .search-toolbar-name{width:auto!important;padding:10px 0;margin-left:0;margin-right:10px}.show{display:flex}.edit-item,.login-layout{display:flex;font-size:15px;margin-top:3rem;margin-bottom:1rem}.edit-item .l-col,.login-layout .l-col{margin-right:1.75%}.edit-item form,.login-layout form{width:100%}.edit-item form a,.edit-item form button,.login-layout form a,.login-layout form button{color:#2c54ac;font-weight:700}.edit-item form a:hover,.edit-item form button:hover,.login-layout form a:hover,.login-layout form button:hover{color:#f8b014}.edit-item form a:active,.edit-item form button:active,.login-layout form a:active,.login-layout form button:active{color:#fdb51c}.edit-item form button.optional:hover,.login-layout form button.optional:hover{color:#2c54ac}.edit-item form button.optional:active,.login-layout form button.optional:active{color:#d7dcef}.edit-item form button.delete:hover,.login-layout form button.delete:hover{color:#b00e5b}.edit-item form button.delete:active,.login-layout form button.delete:active{color:#b11661}.edit-item form .form-group input[type=email],.edit-item form .form-group input[type=password],.edit-item form .form-group input[type=text],.edit-item form .form-group select,.edit-item form .form-group textarea,.login-layout form .form-group input[type=email],.login-layout form .form-group input[type=password],.login-layout form .form-group input[type=text],.login-layout form .form-group select,.login-layout form .form-group textarea{width:50%}@media screen and (max-width:900px){.edit-item form .form-group input[type=email],.edit-item form .form-group input[type=password],.edit-item form .form-group input[type=text],.edit-item form .form-group select,.edit-item form .form-group textarea,.login-layout form .form-group input[type=email],.login-layout form .form-group input[type=password],.login-layout form .form-group input[type=text],.login-layout form .form-group select,.login-layout form .form-group textarea{width:100%}}.edit-item form .form-group select,.edit-item form .form-group textarea,.login-layout form .form-group select,.login-layout form .form-group textarea{border-radius:0}.edit-item form .form-group select:hover,.edit-item form .form-group textarea:hover,.login-layout form .form-group select:hover,.login-layout form .form-group textarea:hover{border-color:#909090}.edit-item form .form-group select:active,.edit-item form .form-group select:focus,.edit-item form .form-group textarea:active,.edit-item form .form-group textarea:focus,.login-layout form .form-group select:active,.login-layout form .form-group select:focus,.login-layout form .form-group textarea:active,.login-layout form .form-group textarea:focus{outline:none;border-color:#1e5cb2;box-shadow:unset}.edit-item form input:-webkit-autofill,.edit-item form input:-webkit-autofill:active,.edit-item form input:-webkit-autofill:focus,.edit-item form input:-webkit-autofill:hover,.login-layout form input:-webkit-autofill,.login-layout form input:-webkit-autofill:active,.login-layout form input:-webkit-autofill:focus,.login-layout form input:-webkit-autofill:hover{background:#d7dcef;border-color:#1e5cb2;-webkit-filter:none;filter:none;box-shadow:none}.edit-item form input:autofill,.edit-item form input:autofill:active,.edit-item form input:autofill:focus,.edit-item form input:autofill:hover,.login-layout form input:autofill,.login-layout form input:autofill:active,.login-layout form input:autofill:focus,.login-layout form input:autofill:hover{background:#d7dcef;border-color:#1e5cb2;-webkit-filter:none;filter:none;box-shadow:none}.edit-item form button,.login-layout form button{background:unset;border:none;box-shadow:unset}.edit-item form button:active,.edit-item form button:focus,.login-layout form button:active,.login-layout form button:focus{outline:none}.edit-item form input,.login-layout form input{height:calc(1.5em + .75rem + 6px);border-radius:0}.edit-item form input:hover,.login-layout form input:hover{border-color:#909090}.edit-item form input:active,.edit-item form input:focus,.login-layout form input:active,.login-layout form input:focus{box-shadow:unset;border-color:#1e5cb2;background:rgba(215,220,239,.62)}.edit-item form label,.login-layout form label{color:#555;font-weight:700}.edit-item form label.label-wrapper,.login-layout form label.label-wrapper{display:flex;align-items:flex-end;width:-webkit-fit-content;width:fit-content}.edit-item form label.label-wrapper span,.login-layout form label.label-wrapper span{font-weight:400;text-transform:uppercase;margin-left:5px;font-size:12px}.edit-item form .checkbox-wrapper,.login-layout form .checkbox-wrapper{display:flex;align-items:center}.edit-item form .checkbox-wrapper label,.login-layout form .checkbox-wrapper label{margin:0 12px}.edit-item form input,.login-layout form input{color:#555}.edit-item form .buttons-wrapper,.login-layout form .buttons-wrapper{margin-top:2.5rem}.edit-item form .buttons-wrapper button,.login-layout form .buttons-wrapper button{font-weight:700;font-size:13px;margin-right:10px;padding:.35rem 2.25rem;border-radius:4px;transition:all .2s cubic-bezier(.4,.1,.5,.85)}.edit-item form .buttons-wrapper .add,.login-layout form .buttons-wrapper .add{color:#fff;background:#2c54ac}.edit-item form .buttons-wrapper .add:hover,.login-layout form .buttons-wrapper .add:hover{color:#2c54ac;background:#d7dcef}.edit-item form .buttons-wrapper .add:active,.login-layout form .buttons-wrapper .add:active{color:#fff;background:#1e5cb2}.edit-item form .buttons-wrapper .back,.login-layout form .buttons-wrapper .back{color:#777;background:#dfdedd}.edit-item form .buttons-wrapper .back:hover,.login-layout form .buttons-wrapper .back:hover{color:#fff;background:#999}.edit-item .l-col,.login-layout .l-col{padding:20px 0 0}.edit-item .l-col .date,.edit-item .l-col .time,.login-layout .l-col .date,.login-layout .l-col .time{margin:10px 0 0;color:#777;font-size:12px;letter-spacing:1px}.edit-item .l-col .time,.login-layout .l-col .time{margin:6px 0 10px}.edit-item .l-col .status,.login-layout .l-col .status{color:#2c54ac;font-size:11px;letter-spacing:1px;text-transform:uppercase;font-weight:700}@media screen and (max-width:1066px){.form-group input[type=email],.form-group input[type=password],.form-group input[type=text],.form-group select,.form-group textarea{width:75%}}.toolbar{display:flex;flex-direction:row;justify-content:space-between;background:#fff;position:fixed;top:0;left:0;width:100%;z-index:1;padding:3px 13% 1px;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0}.toolbar .r-menu{display:flex;align-items:center}.toolbar .r-menu>div{display:flex;flex-wrap:unset;width:100%;align-items:center;justify-content:flex-end}.toolbar .r-menu a.button-extra,.toolbar .r-menu button.button-extra{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;justify-content:flex-start;padding:5px 10px;background:none;border:none;text-decoration:none;color:#817d7d;font-size:14px;display:flex;align-items:center;margin-right:10px;border-radius:3px}.toolbar .r-menu a.button-extra:hover,.toolbar .r-menu button.button-extra:hover{background:#d7dcef;color:#2c54ac}.toolbar .r-menu a.button-extra:active,.toolbar .r-menu button.button-extra:active{background:#1e5cb2;color:#fff}.toolbar .r-menu .input-group .input-group-prepend{height:30px;margin-right:15px}.toolbar .r-menu .input-group .input-group-prepend div,.toolbar .r-menu .input-group .input-group-prepend span{padding-left:0;background:none;border:none}.toolbar .r-menu .input-group .input-group-prepend label{margin-bottom:0}.toolbar .r-menu #inputGroupSelect04{height:30px;padding-top:2px;outline:none}.toolbar .r-menu #inputGroupSelect04:focus{outline:none;box-shadow:none}.toolbar .r-menu select+div:focus{outline:none}.toolbar .r-menu select+div:hover{background:#b3b8bd}.toolbar .r-menu select+div button{border-color:#ced4da}.toolbar .r-menu .input-group-append{height:30px}.toolbar .r-menu .input-group-append button{padding-top:3px}.toolbar .r-menu .btn:focus,.toolbar .r-menu .button:focus,.toolbar .r-menu button:focus{outline:none;box-shadow:none;border-color:none}.toolbar .r-menu .btn.btn-sm{height:30px;margin-left:15px}.toolbar .r-menu .btn.btn-sm:hover{color:#212529;background-color:#fff;border-color:none}.toolbar .r-menu .btn.btn-sm:active{background:#fff}.toolbar .r-menu .btn.btn-sm div{padding-top:3px}.toolbar .r-menu .btn-group.show .btn-outline-secondary{background-color:#fff;color:#212529}.toolbar .r-menu .btn-group.show .btn-outline-secondary:hover{background-color:#fff}.toolbar.justify-right{justify-content:flex-end}.toolbar.justify-right .r-menu>div>*{margin:0 10px}.toolbar.t-shadow{box-shadow:0 5px 3px 0 hsla(0,0%,78.4%,.5)}@media (max-width:1350px){.toolbar{padding:3px 10% 1px}}@media (max-width:1250px){.toolbar .r-menu a.button-extra,.toolbar .r-menu button.button-extra{max-width:30%}}@media (max-width:900px){.toolbar .r-menu{overflow:scroll}.toolbar .r-menu a.button-extra,.toolbar .r-menu button.button-extra{overflow:unset;max-width:100%}.toolbar .r-menu>div{margin-left:3rem;position:relative;display:flex;flex-wrap:unset;width:100%;align-items:center;justify-content:flex-start}.toolbar .r-menu .select-wrapper+div{display:none}}@media (max-width:450px){.toolbar{padding:3px 1% 1px}}@media (max-width:450px){.mobile-toolbar .toolbar{display:flex;flex-direction:column-reverse;padding-bottom:5px;height:100%}.mobile-toolbar .toolbar .r-menu{height:50%;margin-top:15px}.mobile-toolbar .toolbar .r-menu .input-group>div:first-child{width:100%;display:flex;justify-content:center;margin:15px 0}.mobile-toolbar .toolbar .r-menu .input-group select{margin-left:100px}.mobile-toolbar .toolbar .r-menu .input-group select+div{margin-right:85px}.mobile-toolbar .toolbar .r-menu .input-group>.btn-group{width:60%;margin-left:75px;margin-top:15px}.mobile-toolbar .toolbar .l-menu{display:flex;flex-direction:column-reverse;justify-content:flex-end;align-items:center;-webkit-transform:none;transform:none;height:50%;margin-top:40px}.mobile-toolbar .toolbar .l-menu button{width:30px;height:30px}.mobile-toolbar .toolbar .l-menu button svg{width:17px;height:30px}}.edit-ip form .dedicated-form-group{-webkit-transform:translateX(3rem);transform:translateX(3rem);margin-bottom:2rem}div.edit-item form label.label-wrapper{align-items:center}div.edit-item form label.label-wrapper span{text-transform:lowercase}div.edit-item form div.assigned-user{padding-left:25px}div.edit-item form div.assigned-user select{width:48.4%}.content .edit-template.edit-nginx .toolbar .search-toolbar-name{width:-webkit-fit-content;width:fit-content}.content .edit-template.edit-nginx .toolbar .link{width:-webkit-fit-content;width:fit-content;margin-left:15px}.content .edit-template.edit-nginx .toolbar .link a{text-decoration:none;font-size:12px;text-transform:uppercase;color:#777;font-weight:700}.content .edit-template.edit-nginx .toolbar .link a:hover{color:#f8b014}.content .edit-template.edit-nginx textarea{width:75%}.content .edit-template.edit-nginx .checkbox-wrapper label{text-transform:capitalize}.content .edit-template.edit-nginx svg{margin-left:5px}.content .edit-template.edit-pgsql .toolbar .search-toolbar-name{width:-webkit-fit-content;width:fit-content}.content .edit-template.edit-pgsql textarea{width:75%}.content .edit-template.edit-pgsql .checkbox-wrapper label{text-transform:capitalize}.content .edit-backup-exclusions .toolbar .search-toolbar-name{width:auto}.btn-group button{border:0}.btn-group button>span{display:inline-block;vertical-align:bottom;margin-left:5px;height:100%;width:auto}.btn-group button:after{display:none}.dropdown-menu{padding:0;border-radius:0;font-size:13px;width:200px}.dropdown-menu ul{padding:0;margin:0;display:inline-block;list-style:none;height:auto;width:100%;color:#333}.dropdown-menu ul li{display:flex;width:100%;height:37.5px;border-top:1px solid #dbdbdb}.dropdown-menu ul li .arrow-down{float:right}.dropdown-menu ul li .dropdown-item:hover{background:#bdbdbd}.dropdown-menu ul li>span:first-child{width:75%;padding:0 5px}.dropdown-menu ul li>span:nth-child(2){display:flex;justify-content:center;align-items:center;width:25%}.dropdown-menu ul li span{padding:0 5px 0 10px;line-height:38px}.dropdown-menu ul li span.active{background:#ffc900}.dropdown-menu ul li span+span{text-align:center}.dropdown-menu ul li:first-child{border-width:0 0 1px}.search-input-form{display:flex;width:180px}.search-input-form input{height:30px;margin-left:10px;border-radius:0}.search-input-form button{display:flex;align-items:center;justify-content:center;border-radius:0;border:1px groove #fff;height:30px}.list-item{display:flex;justify-content:flex-start;align-items:flex-start;font-size:18px;position:relative;padding:25px 0;border-left:2px solid #fff;border-bottom:1px solid #ddd;color:#686868}.list-item:hover .actions,.list-item:hover .l-col div.star div svg{opacity:1}.list-item .l-col .suspended{letter-spacing:3px}.list-item .l-col .text-status{font-size:10px}.list-item .l-col div.star{display:flex;align-items:center}.list-item .l-col div.star div.checkbox{margin:0 25% 4px 0}.list-item .r-col .stats div>span{width:50%;text-align:left}.list-item .r-col .stats .c-2 div>span{width:50%}.list-item .r-col div.bandwidth span,.list-item .r-col div.disk span{width:auto}.list-item .date{font-size:13px;margin:20px 0 10px}.list-item.toggled{background:#feef9a}.list-item.starred{border-left:2px solid #2c54ac}.list-item.starred .l-col div.star div>svg{opacity:1;color:#2c54ac}.list-item.suspended{background:#eaeaea;color:silver}.list-item.suspended .r-col div,.list-item.suspended .r-col span{color:silver!important}.list-item.suspended.toggled{background:#f2eab8;color:#b2ac87}.list-item.suspended.toggled .l-col,.list-item.suspended.toggled .r-col .name,.list-item.suspended.toggled .r-col .stats{color:#b2ac87!important}.list-item.outdated{background:#ffcaca;border-left:5px solid #ff6f6f}.list-item.toggled.outdated{background:#755d5d;color:#000}.list-item.toggled.outdated .stat{color:#000}.list-item.stopped{background:#eaeaea}.list-item.focused{border-left:2px solid #f8b014}.list-item.focused .l-col div.star div>svg{color:#f8b014}.list-item.focused .actions{opacity:1}.list-item.focused .actions div>a,.list-item.focused .actions div>button{padding-top:6.5px;padding-bottom:6.5px}.list-item.focused .actions div>a .shortcut-button,.list-item.focused .actions div>button .shortcut-button{border-radius:50%;width:25px;height:25px;margin-left:15px;background:#f8b014;color:#fff;display:flex;justify-content:center;align-items:center;font-size:14px}.list-item.focused .actions div>a .shortcut-button.html-unicode,.list-item.focused .actions div>button .shortcut-button.html-unicode{align-items:flex-end}.list-item.focused .actions div>a .shortcut-button.del,.list-item.focused .actions div>button .shortcut-button.del{text-transform:capitalize;font-size:10px}.internetProtocols .ip-wrapper .name svg{margin:0 10px;font-size:20px}.l-menu{-webkit-transform:translate(35px,50%);transform:translate(35px,50%)}.l-menu a,.l-menu button{display:flex;justify-content:center;align-items:center;background:#2c54ac;border-radius:100%;color:#fff;width:45px;height:43px;outline:none;border:none;text-decoration:none}.l-menu a:hover,.l-menu button:hover{background:#d7dcef}.l-menu a:hover span.add,.l-menu button:hover span.add{display:block;color:#2c54ac;background:#d7dcef}.l-menu a:hover svg,.l-menu button:hover svg{color:#2c54ac}@media screen and (max-width:900px){.l-menu a span.add,.l-menu button span.add{display:none!important}}.l-menu a:active,.l-menu button:active{background:#2c54ac}.l-menu a:active span.add,.l-menu button:active span.add{display:block;color:#fff;background:#2c54ac}.l-menu a:active svg,.l-menu button:active svg{color:#fff}.l-menu a span.add,.l-menu button span.add{width:-webkit-max-content;width:max-content;display:none;padding:4px 10px 4px 25px;background:#2c54ac;border-radius:15px;color:#fff;font-size:15px;position:absolute;left:25px;z-index:-1;text-align:right}.l-menu a svg,.l-menu button svg{width:31px;height:21px}@media screen and (max-width:900px){.l-menu{-webkit-transform:unset;transform:unset}}.l-menu.none{display:none}.exclusions-list .l-menu.backup-details-icon,.servers-list .l-menu.backup-details-icon{-webkit-transform:translateX(2px);transform:translateX(2px)}input{border-radius:0}.select-wrapper{display:flex}.select-wrapper select{width:auto}.select-wrapper button,.select-wrapper select{border-radius:0}div.modal{z-index:2}div.content .modal .modal-content{width:75%}div.content .modal .modal-content .modal-header button.close{color:#fff}div.content .modal .modal-content .modal-footer .btn-primary{background:#2c54ac;border:1px solid #2c54ac}.edit-web .additional-ftp .title .indexed-name{font-weight:700}.additional-ftp .title span:first-child{color:#555;font-size:15px;font-weight:700}.additional-ftp .form-transform{margin-top:15px;-webkit-transform:translateX(3rem);transform:translateX(3rem)}.additional-ftp .form-transform .form-group.username{display:flex;flex-direction:column}.additional-ftp .form-transform .form-group.username label{margin:0}.additional-ftp .form-transform .form-group.username span{font-size:10pt;color:#777;font-weight:700;margin-bottom:10px}.additional-ftp .form-transform .form-group.username .input-wrapper{display:flex;align-items:center}.additional-ftp .form-transform .form-group.username .input-wrapper span{color:#777;font-size:15px;font-style:italic;font-weight:400;margin-left:15px}.additional-ftp .path-note{font-weight:700;color:#555}.ssl-support{-webkit-transform:translateX(3rem);transform:translateX(3rem)}.ssl-support .lets-encrypt-span{font-style:italic;color:#89a40a}.statistics-authorization,.web-stats-wrapper{-webkit-transform:translateX(3rem);transform:translateX(3rem)}.web-stats-wrapper{display:flex;flex-direction:column}.add-web form .form-group .checkbox-wrapper{display:flex;align-items:center}.add-web form .form-group .checkbox-wrapper label{margin:0 10px}.add-web form .advanced-options-button button{display:flex;align-items:center;padding:0}.add-web form .advanced-options-button button svg{margin-left:10px}.add-web #c-panel-modal{padding:2rem}.add-web #c-panel-modal form .form-group input[type=text]{width:90%!important}.add-web #c-panel-modal label{color:#fff}.add-web #c-panel-modal .form-group{padding-left:1.5rem}.add-web #c-panel-modal .form-group textarea{width:90%!important}.add-web #c-panel-modal .l-col{display:none}.form-group.text-on-the-right .input-wrapper{display:flex;align-items:center}.form-group.text-on-the-right .input-wrapper span{margin-left:15px;color:#777}.input-wrapper{display:flex;align-items:center}.input-wrapper span.italic{margin-left:15px;color:#777}.edit-firewall form .form-group .label-wrapper span{text-transform:none}.hotkeys-list{position:fixed;bottom:0;right:0;display:flex;flex-direction:column;-webkit-transform:translateX(-45%);transform:translateX(-45%);width:53%;background:rgba(34,46,68,.87);font-size:13px}.hotkeys-list .head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #fcac04}.hotkeys-list .head .name{text-transform:uppercase;font-size:12px;font-weight:700;color:#fcac04;letter-spacing:2px;padding:15px}.hotkeys-list .head .close{padding:12px;opacity:1!important}.hotkeys-list .head .close svg{color:#fcac04}.hotkeys-list .head .close:hover{cursor:pointer;background:#222e44}.hotkeys-list .body{display:flex}.hotkeys-list .body ul{padding:25px 10px;width:50%;list-style:none;margin:0 0 0 3rem}.hotkeys-list .body ul li{padding:5px}.hotkeys-list .body ul li span.name{margin-right:15px;color:#fcac04;font-weight:700}.hotkeys-list .body ul li span.description{color:#fff}.hotkeys-list .body ul li.space-top{padding-top:30px}.hide{display:none}.edit-template.add-db form span.italic{font-style:italic}.edit-template.add-db form .form-group .label-wrapper{display:flex}.edit-template.add-db form .form-group .label-wrapper span.italic{margin-left:1.5rem;color:#555}.edit-template.add-db form .form-group .input-wrapper{display:flex;align-items:center}.edit-template.add-db form .form-group .input-wrapper span.italic{font-size:15px;font-weight:700;margin-left:1.5rem;color:#777;font-weight:400}.edit-template.add-db form .form-group.database{margin-top:1rem}.edit-template.add-db form span.prefix{color:#777;font-style:italic}.content .edit-template.add-firewall .toolbar .search-toolbar-name{width:-webkit-fit-content;width:fit-content}.content .edit-template.add-firewall label.label-wrapper[for=ip] span{text-transform:unset!important}.cron-form-body .fourth-tab-selects,.cron-form-body .third-tab-selects{display:flex}.cron-form-body .fourth-tab-selects div.hour select,.cron-form-body .third-tab-selects div.hour select{width:70px;margin-left:4.8rem}.cron-form-body .fourth-tab-selects div.minute label,.cron-form-body .fourth-tab-selects div.minute select,.cron-form-body .third-tab-selects div.minute label,.cron-form-body .third-tab-selects div.minute select{margin:0}.cron-form-body .fifth-tab-selects{display:flex}.cron-form-body .fifth-tab-selects>div{width:10%}.cron-form-body .fifth-tab-selects>div select{width:70px}.cron-form-body .fifth-tab-selects>div.date{margin:0 0 1rem}.cron-form-body .fifth-tab-selects>div.minute{width:200px}.cron-form-body .fifth-tab-selects>div.hour{width:155px;margin-left:1rem}.cron-form-body .fifth-tab-selects>div.hour select{margin-left:.75rem}.cron-form-body .fifth-tab-selects>div.date{width:240px}.cron-form-body .fifth-tab-selects>div.date select{margin-left:5.85rem}.cron-job-generator{border:1px solid #d9d9d9;padding:1rem 1.5rem;margin-left:2rem;width:90%}.cron-job-generator .header{display:flex;padding:.4rem 0}.cron-job-generator .header a{color:#222;text-transform:uppercase;font-size:11px;font-weight:bolder;margin-right:2.3rem;text-decoration:none}.cron-job-generator .header a:hover{color:#f8b014}.cron-job-generator .header a:active{color:#1e5cb2}.cron-job-generator .header a.active{color:#fdb51c}.cron-job-generator .body{padding:2rem 0 .4rem}.cron-job-generator .body form .form-group{display:flex;align-items:center}.cron-job-generator .body form .form-group label{width:26%;font-size:13px;margin:0}.cron-job-generator .body form .form-group input{width:auto}.cron-job-generator .body form .form-group.minute select{width:70px}.cron-job-generator .body form .form-group select,.cron-job-generator .body form .form-group textarea{border-radius:0}.cron-job-generator .body form .form-group select:hover,.cron-job-generator .body form .form-group textarea:hover{border-color:#909090}.cron-job-generator .body form .form-group select:active,.cron-job-generator .body form .form-group select:focus,.cron-job-generator .body form .form-group textarea:active,.cron-job-generator .body form .form-group textarea:focus{outline:none;border-color:#1e5cb2;box-shadow:unset}.cron-job-generator .body form .form-group select{padding:.4rem .25rem;border-color:#d9d9d9;color:#555}.cron-job-generator .body form .form-actions button{background:#2c54ac;color:#fff;border-radius:3px;padding:.35rem 1.1rem;font-size:14px}.cron-job-generator .body form .form-actions button:hover{color:#2c54ac;background:#d7dcef}.cron-job-generator .body form .form-actions button:active{color:#fff;background:#1e5cb2}.cron-job-generator .body form .form-group.show{display:block}.cron-job-generator .body form .form-group.hide{display:none}.edit-cron form .form-group{width:100%}.edit-cron form .form-group input{width:inherit}.edit-cron form .form-group.command{width:100%}.edit-cron form .cron-form-body{display:flex}.edit-cron form .cron-form-body .body-col-1{width:30%}.edit-cron form .cron-form-body .body-col-1 input{width:100%}.edit-cron form .cron-form-body .body-col-2{display:flex;justify-content:flex-start;align-items:flex-start;padding:1.7rem 1rem;width:70%}#edit-cron>.form-group input{width:95%!important}.edit-package form .form-group .input-wrapper{display:flex;align-items:center}.edit-package form .form-group .input-wrapper button{-webkit-transform:translateX(5px);transform:translateX(5px)}.content .edit-template.edit-httpd .toolbar .search-toolbar-name{width:-webkit-fit-content;width:fit-content}.content .edit-template.edit-httpd .toolbar .search-toolbar-name a{color:#fcac04;text-decoration:none}.content .edit-template.edit-httpd .toolbar .search-toolbar-name a:hover{color:#777}.content .edit-template.edit-httpd .toolbar .link{width:-webkit-fit-content;width:fit-content;margin-left:15px}.content .edit-template.edit-httpd .toolbar .link a{text-decoration:none;font-size:12px;text-transform:uppercase;color:#777;font-weight:700}.content .edit-template.edit-httpd .toolbar .link a:hover{color:#f8b014}.content .edit-template.edit-httpd textarea{width:75%}.content .edit-template.edit-httpd .checkbox-wrapper label{text-transform:capitalize}.content .edit-template.edit-httpd svg{margin-left:5px}.edit-template.add-cron form .form-group{width:100%}.edit-template.add-cron form .form-group input{width:inherit}.edit-template.add-cron form .form-group.command{width:100%}.edit-template.add-cron form .cron-form-body{display:flex}.edit-template.add-cron form .cron-form-body .body-col-1{width:30%}.edit-template.add-cron form .cron-form-body .body-col-2{display:flex;justify-content:flex-start;align-items:flex-start;padding:1.7rem 1rem;width:70%}.edit-template.add-package form label.label-wrapper{display:flex;align-items:flex-end;width:-webkit-fit-content;width:fit-content}.edit-template.add-package form label.label-wrapper span{font-weight:400;text-transform:uppercase;margin-left:5px;font-size:12px}.edit-template.add-package form label.label-wrapper span.lowercase{text-transform:lowercase}.edit-template.add-package form .input-wrapper{display:flex;align-items:center}.edit-template.add-package form .input-wrapper svg{cursor:pointer;color:#bec4ca;margin-left:10px}.edit-template.add-package form .input-wrapper svg:hover{color:#abb1b6}.edit-server .modules{display:flex;flex-direction:column;align-items:flex-start}.edit-server .modules>div{display:flex;align-items:center;width:100%;margin:5px 0}.edit-server .modules>button{margin:15px 0}.edit-server .modules>button svg{margin-left:10px}.edit-server .modules .form-group a{text-decoration:none;color:#2c54ac;font-weight:700;font-size:14px}.edit-server .modules .form-group a:hover{color:#d7dcef}.edit-server .modules .additional-info{margin-top:10px;-webkit-transform:translateX(3rem);transform:translateX(3rem)}.edit-server .modules .additional-info>div{display:flex;margin:5px 0}.edit-server .modules .additional-info>div span{font-size:12px;color:#555}.edit-server .modules .additional-info>div span:first-child{width:180px}.edit-server .modules .server-dns-option,.edit-server .modules .server-mail-option,.edit-server .modules .server-mail-option .hosts,.edit-server .modules .server-mail-option .mail-cert-info,.edit-server .modules .server-plugins-option,.edit-server .modules .server-plugins-option .fm-module,.edit-server .modules .server-plugins-option .sftp-module,.edit-server .modules .server-plugins-option .soft-module,.edit-server .modules .server-ssl-option,.edit-server .modules .server-ssl-option .domain-group,.edit-server .modules .server-web-option{-webkit-transform:translateX(3rem);transform:translateX(3rem)}.edit-server .modules .server-plugins-option .fm-module,.edit-server .modules .server-plugins-option .sftp-module{font-size:15px;color:#555}.edit-server .modules .server-plugins-option .buy-license{display:flex;margin:5px 0}.edit-server .modules .server-plugins-option .buy-license a{color:#fff;background:#2c54ac;border:none;border-radius:3px;font-size:13px;font-weight:700;padding:7px 15px;text-transform:capitalize;text-decoration:none;width:-webkit-fit-content;width:fit-content;margin-right:10px}.edit-server .modules .server-plugins-option .buy-license a:hover{color:#2c54ac;background:#d7dcef}.edit-server .modules .server-plugins-option .buy-license a:hover{color:#fff;background:#1e5cb2}.edit-server .modules .server-plugins-option .buy-license+span{display:block;margin-top:15px;font-style:italic;font-size:12px}.edit-server .modules .server-plugins-option .license-description{display:flex;align-items:center;margin:1rem 0}.edit-server .modules .server-plugins-option .license-description>span{color:#2c54ac}.edit-server .modules .server-plugins-option .license-description .form-group{margin:0 0 0 20px;width:60%}.edit-server .modules .server-plugins-option .license-description .form-group label{display:none}.mail-info-block .select-group select{margin-bottom:10px;margin-top:5px;padding:0;border:none;color:#2c54ac;text-transform:uppercase;font-size:11px;font-weight:700;cursor:pointer}.mail-info-block .select-group .details{font-size:14px;color:#777}.mail-info-block .select-group .details>div{display:flex}.mail-info-block .select-group .details>div span:first-child{width:50%}.content .edit-template.edit-service .toolbar .search-toolbar-name{width:-webkit-fit-content;width:fit-content}.content .edit-template.edit-service textarea{width:75%}.content .edit-template.edit-service .checkbox-wrapper label{text-transform:capitalize}.content .edit-template.add-mail-account .search-toolbar-name{width:-webkit-fit-content;width:fit-content}.content .edit-template.add-mail-account form .r-1{display:flex}.content .edit-template.add-mail-account form .r-1 .c-1{width:55%}.content .edit-template.add-mail-account form .r-1 .c-1 .form-group>*{width:85%}.content .edit-template.add-mail-account form .r-1 .c-1 .form-group .password-wrapper input{width:100%}.content .edit-template.add-mail-account form .r-1 .c-1 .form-group:nth-child(3)>div{display:flex}.content .edit-template.add-mail-account form .r-1 .c-1 .form-group:nth-child(3)>div input{width:100%}.content .edit-template.add-mail-account form .r-1 .c-1 .form-group:nth-child(3)>div input+button{padding-left:10px}.content .edit-template.add-mail-account form .r-1 .c-2{width:45%;height:100%;border:1px solid #d9d9d9;padding:0 5px 12px 20px}.content .edit-template.add-mail-account form .r-2>button{padding-left:0;margin-bottom:1.5rem}.content .edit-template.add-mail-account form .r-2>button svg{margin-left:.75rem}.content .edit-template.add-mail-account form .r-2 .form-group .input-wrapper{display:flex}.edit-dns .label-wrapper span{text-transform:uppercase!important}.edit-web .ssl-support .additional-info{display:flex;flex-direction:column}.edit-web .ssl-support .additional-info span:first-child{width:120px;display:inline-block}.edit-web .ssl-support .additional-info span:nth-child(2){width:-webkit-fit-content;width:fit-content}.edit-web .ssl-support a.generate-csr{text-transform:none;text-decoration:none;color:#2c54ac;font-weight:700}.edit-web .ssl-support a.generate-csr:hover{color:#f8b014}.edit-web .web-stat-additional{-webkit-transform:translateX(3rem);transform:translateX(3rem)}.edit-web #c-panel-modal{padding:2rem}.edit-web #c-panel-modal form .form-group input[type=text]{width:90%!important}.edit-web #c-panel-modal label{color:#fff}.edit-web #c-panel-modal .form-group{padding-left:1.5rem}.edit-web #c-panel-modal .form-group textarea{width:90%!important}.edit-web #c-panel-modal .l-col{display:none}.content .edit-template.edit-php .toolbar .search-toolbar-name{width:-webkit-fit-content;width:fit-content;color:#555}.content .edit-template.edit-php .toolbar .link,.content .edit-template.edit-php .toolbar .search-toolbar-name{width:-webkit-fit-content;width:fit-content}.content .edit-template.edit-php .toolbar .link a,.content .edit-template.edit-php .toolbar .search-toolbar-name a{text-decoration:none;font-size:12px;text-transform:uppercase;color:#555;font-weight:700}.content .edit-template.edit-php .toolbar .link a:hover,.content .edit-template.edit-php .toolbar .search-toolbar-name a:hover{color:#f8b014}.content .edit-template.edit-php .toolbar .link{margin-left:15px}.content .edit-template.edit-php .toolbar .link a{color:#fcac04}.content .edit-template.edit-php .toolbar .link a:hover{color:#555}.content .edit-template.edit-php textarea{width:75%}.content .edit-template.edit-php .checkbox-wrapper label{text-transform:capitalize}.content .edit-template.edit-php svg{margin-left:5px}.r-menu>div>button{color:grey}.r-menu>div>button:hover{color:grey}.firewalls .list-item .l-col .date{display:none}.firewalls .list-item .r-col .stats{margin-top:15px}.firewalls .list-item .r-col .stats .cron-col div span{font-weight:unset;font-size:13px}.firewalls .list-item .r-col .stats .cron-col div span.stat{font-weight:700}.firewalls-wrapper .r-col .stats>div{flex:none;width:17%}.content .edit-template.edit-bind9 .toolbar .search-toolbar-name{width:-webkit-fit-content;width:fit-content}.content .edit-template.edit-bind9 textarea{width:75%}.content .edit-template.edit-bind9 .checkbox-wrapper label{text-transform:capitalize}.content .edit-template.edit-mysql .toolbar .search-toolbar-name{width:-webkit-fit-content;width:fit-content}.content .edit-template.edit-mysql textarea{width:75%}.content .edit-template.edit-mysql .checkbox-wrapper label{text-transform:capitalize}.add-dns form .advanced-options-button svg,.content .edit-template.edit-mysql svg{margin-left:5px}.edit-item form div.name-server-input-wrapper{display:flex;align-items:center;margin:10px 0}.edit-item form div.name-server-input-wrapper button{margin-left:10px}.edit-item form .exp-date .optional{font-size:12px;padding:0 0 0 6px;font-weight:400}.backups-restore-settings .list-item .r-col .stats .c-1{margin:12px 0 0}.backups-restore-settings .list-item .actions>div{font-weight:bolder;text-transform:uppercase;height:38px}.backups-restore-settings .list-item .actions>div a,.backups-restore-settings .list-item .actions>div button{display:flex;justify-content:center;align-items:center;color:#555;padding:10px 15px;text-decoration:none}.backups-restore-settings .list-item .actions>div a:hover,.backups-restore-settings .list-item .actions>div button:hover{background:#ececec;color:#fff}.backups-restore-settings .list-item .actions>div a:hover svg,.backups-restore-settings .list-item .actions>div button:hover svg{color:#fff}.backups-restore-settings .list-item .actions>div svg{color:#555}.backups-restore-settings .list-item .actions .link-restore svg{color:#fff}.backups-restore-settings .list-item .actions .link-restore:hover{color:#2c54ac;background-color:#d7dcef}.backups-restore-settings .list-item .actions .link-restore:hover{color:#fff;background-color:#1e5cb2}.backups-restore-settings .toolbar .backup-details-icon svg{-webkit-transform:translateX(2px);transform:translateX(2px)}.backups-restore-settings .mail-accounts-wrapper .list-item .l-col .star .checkbox+div{display:none}.backups-wrapper .list-item .c-1 div>span{padding-left:15px}.backups-restore-details .list-item .star{display:none}.cron-jobs-list.r-col .name{font-size:25px}.cron-col>div{display:flex;flex-direction:column}.cron-col>div span{font-size:18px;font-weight:bolder}.r-menu>div>button{font-size:13px;background:#fff;border-color:#fff;color:#555}.r-menu>div>button:hover{background:#fff;border-color:#fff;color:#555}.cron-wrapper .r-col .stats>div{flex:none;width:17%}.cron-wrapper .actions>div:first-child a:hover,.cron-wrapper .actions>div:first-child button:hover{background:#d7dcef}.cron-wrapper .actions>div:nth-child(2) a:hover,.cron-wrapper .actions>div:nth-child(2) button:hover{background:#ff3438}.packages .r-col .stats .c-2{padding-left:2rem}.packages .r-col .stats .c-2 div>span{width:50%}.packages .r-col .stats .c-3{margin-left:0}.packages .r-col .stats .c-3 div.ns{margin-top:5px}.packages-wrapper .r-col .stats .c-1 .stat{margin-left:1rem}.packages-wrapper .r-col .stats .c-2{padding:0}.password-wrapper{display:flex}.password-wrapper button{color:#2c54ac}.password-wrapper button:hover{color:#f8b014}.password-wrapper span.eye{margin-left:9px}.password-wrapper span.eye-slash{margin-left:7px}button.generate-password{color:#2c54ac;font-weight:700}button.generate-password:hover{color:#f8b014}button.generate-password:active{color:#fdb51c}input{color:#555}label[for=email]{width:100%;display:flex;align-items:center}label[for=email]>div{display:flex;align-items:center}label[for=email]>div input{height:-webkit-fit-content;height:fit-content;margin:0 10px}label[for=email]>div label{margin:0;font-size:12px}.statistics-list.updates .text-status{display:flex;margin-top:20px}.statistics-list.updates .text-status>div.checkbox{margin-bottom:0;margin-right:10px}.statistics-list.updates .list-item .star{display:none}.statistics-list.updates .r-col .c-1{margin-right:10px}.statistics-list.updates .toolbar{height:44px}.servers-list .servers-wrapper .list-item.sys-info .r-col{padding:0}.servers-list .servers-wrapper .list-item.sys-info .r-col .name{font-size:35px}.servers-list .servers-wrapper .list-item.sys-info .r-col .c-2 span>span.stat{margin-left:10px}.servers-list .servers-wrapper .list-item.sys-info .r-col .c-3{padding-right:0}.servers-list .servers-wrapper .list-item.sys-info .r-col .c-3>div>span{width:100%}.servers-list .actions a.link-gray.restart svg,.servers-list .actions button.link-gray.restart svg{width:1rem;height:1rem}.servers-list .list-item .star{display:none}.servers-list .r-col .stats .c-2,.servers-wrapper .list-item .r-col .stats .c-3{padding:0}.servers-wrapper .list-item .r-col .stats .c-3 span.stat{margin-left:0}.servers-wrapper .r-col{padding-left:2rem}.servers-wrapper .r-col .server-name{color:#000;font-size:28px}.servers-wrapper .list-item .r-col .c-3>div>span{-webkit-transform:translateX(-10px);transform:translateX(-10px)}.servers-wrapper .list-item .r-col .stats div>span{width:100%}.servers-list .l-col .text-status{display:block}.servers-list .l-col div.star{display:none}.servers-list .l-col .servers-wrapper .list-item:first-child{margin-top:0}.servers-list .l-col .servers-wrapper .l-col{width:16.3%}.servers-list .l-col .servers-wrapper .l-col .server-name{font-size:28px}.menu-wrapper{position:fixed;width:100%;font-size:15px;background:#fff}.menu-wrapper .menu-stat{display:flex;flex-direction:row;margin-top:50px;min-height:45px;max-height:135px;height:145px;width:100%;padding:0 13%}.menu-wrapper .menu-stat>div{border-bottom:3px solid #fff;overflow:hidden;width:14.3%}.menu-wrapper .menu-stat>div div,.menu-wrapper .menu-stat>div h3{width:100%}.menu-wrapper .menu-stat>div h3{font-weight:700;font-size:14px;text-transform:uppercase;margin-bottom:30px}.menu-wrapper .menu-stat>div div{display:flex;justify-content:space-between;font-size:12px;color:#a0a0a0;text-align:left}.menu-wrapper .menu-stat>div div>span:first-child{width:120px}.menu-wrapper .menu-stat>div div>span:nth-child(2){width:80px;padding-left:10px}.menu-wrapper .menu-stat .stat a,.menu-wrapper .menu-stat .stat button{display:flex;flex-direction:column;width:100%;height:100%;color:#000;text-decoration:none;text-align:left}.menu-wrapper .menu-stat .stat button{background:none;border:none;padding:0}.menu-wrapper .menu-stat .stat h3{font-size:14px}.menu-wrapper .menu-stat .stat:hover{cursor:pointer;border-bottom:3px solid #f8b014}.menu-wrapper .menu-stat .stat:hover h3{color:#fcac04}.menu-wrapper .menu-stat .stat:hover .stats{overflow:hidden}.menu-wrapper .menu-stat .stat:active{border-color:#fdb51c}.menu-wrapper .menu-stat .stat:active h3{color:#fcac04}.menu-wrapper .menu-stat .stat .stats{display:flex;flex-direction:column;padding-left:0}.menu-wrapper .menu-stat .l-active{border-bottom:3px solid #2c54ac}.menu-wrapper .menu-stat .l-active h3{color:#2c54ac;font-size:18px;margin-bottom:25px}.menu-wrapper .menu-stat .stat.focus{border-bottom:3px solid #f8b014!important}.menu-wrapper .menu-stat .stat.focus a,.menu-wrapper .menu-stat .stat.focus h3{color:#f8b014!important}.menu-wrapper.shadow{box-shadow:hsla(0,0%,78.4%,.5)}@media (max-width:1350px){.menu-wrapper .menu-stat{padding:0 10%}}@media screen and (max-width:1200px){.menu-wrapper{padding:0 10%}.menu-wrapper .menu-stat{padding:0}}@media screen and (max-width:1066px){.menu-wrapper .menu-stat{padding:0 10%;margin-top:40px}}@media screen and (max-width:1024px){.menu-wrapper .menu-stat{padding:0 10%}}@media (max-width:1066px){.menu-wrapper{padding:1%}.menu-wrapper .menu-stat{height:auto;min-height:auto}.menu-wrapper .menu-stat .stat h3{padding:0}}.mobile-top-nav-wrapper.hide{opacity:0}.mobile-top-nav-wrapper.show{z-index:5;opacity:1;position:fixed;width:100%;height:111px;background:#fff;display:flex;flex-direction:column;-webkit-animation:showMobileNav .3s forwards;animation:showMobileNav .3s forwards;margin-top:82px}.mobile-top-nav-wrapper.show .mobile-menu{padding:0 10%;flex-wrap:wrap;margin-top:15px}.mobile-top-nav-wrapper.show>div .top-link{display:flex;font-size:14px;padding:4px 0}.mobile-top-nav-wrapper.show>div .top-link:hover{background:#f8b014}.mobile-top-nav-wrapper.show>div .top-link:hover a,.mobile-top-nav-wrapper.show>div .top-link:hover button{color:#fff}.mobile-top-nav-wrapper.show div{display:flex}.mobile-top-nav-wrapper.show div a,.mobile-top-nav-wrapper.show div button{display:flex;justify-content:center;align-items:center;padding:0 10px!important;width:-webkit-fit-content;width:fit-content;height:100%;text-decoration:none;color:#000}.mobile-top-nav-wrapper.show div button{background:none;border:none}.mobile-top-nav-wrapper.show div:hover{cursor:pointer}.mobile-top-nav-wrapper.show div.active{background:#fff}.mobile-top-nav-wrapper.show div.active a,.mobile-top-nav-wrapper.show div.active button{color:#fcac04;font-weight:700}.mobile-top-nav-wrapper.show div.active a:hover,.mobile-top-nav-wrapper.show div.active button:hover{color:#fff}.mobile-top-nav-wrapper.show div.active a:active,.mobile-top-nav-wrapper.show div.active button:active{background:#fdb51c;color:#fff}.mobile-top-nav-wrapper.show div.active:hover{color:#fff;background:#f8b014}.mobile-top-nav-wrapper.show .toolbar{margin:0;position:relative;border:none}.mobile-top-nav-wrapper.show .mobile-stat-menu{box-shadow:0 5px 3px 0 hsla(0,0%,78.4%,.5)}.mobile-top-nav-wrapper.show .mobile-stat-menu .menu-wrapper{position:relative;height:auto;min-height:auto;padding:0;margin-top:9px}.mobile-top-nav-wrapper.show .mobile-stat-menu .menu-wrapper .menu-stat{margin:0}.mobile-top-nav-wrapper.show .mobile-stat-menu .menu-wrapper .menu-stat .stat{text-align:left;flex:1 1 auto;margin-bottom:15px}@media (max-width:1066px){.mobile-stat-menu .menu-wrapper .menu-stat{margin-top:40px}.mobile-stat-menu .menu-wrapper .menu-stat .stat .stats{display:none}}@media (max-width:900px){.mobile-toolbar .toolbar{padding:0 1%}}@media (max-width:725px){.mobile-top-nav-wrapper.show .menu-stat{display:flex;flex-wrap:wrap}.mobile-menu{padding:0 10%}}@-webkit-keyframes showMobileNav{0%{opacity:0}to{opacity:1}}@keyframes showMobileNav{0%{opacity:0}to{opacity:1}}.top-panel .profile-menu div{width:auto;height:auto}.top-panel .profile-menu button{cursor:default;background:none;box-shadow:unset;width:100%;height:100%}.top-panel .profile-menu button:hover{background:none}.top-panel .profile-menu button:active,.top-panel .profile-menu button:focus{outline:none;border:unset;background:unset;background-color:unset;border-color:unset}.top-panel .profile-menu .btn-danger:not(:disabled):not(.disabled).active,.top-panel .profile-menu .btn-danger:not(:disabled):not(.disabled):active,.top-panel .profile-menu .show>.btn-danger.dropdown-toggle{background-color:unset;border-color:unset;box-shadow:unset}.top-panel .profile-menu .dropdown-menu{display:none;height:auto;max-height:75vh;overflow:auto;cursor:default;background:#222e44;border:solid #fcac04;border-width:1px 0 0;box-shadow:0 0 10px -1px #222e44}.top-panel .profile-menu .dropdown-menu>div{cursor:default}.top-panel .profile-menu .dropdown-menu.show{display:flex;flex-direction:column;width:auto;width:340px;margin:0}.top-panel .profile-menu .dropdown-menu.show .dropdown-item{display:flex;justify-content:space-between;align-items:center;width:100%;padding-left:0;padding-right:5px}.top-panel .profile-menu .dropdown-menu.show .dropdown-item span.title{display:block;width:100%;padding:10px 0 0 10px;text-align:left;color:#fcac04}.top-panel .profile-menu .dropdown-menu.show .dropdown-item span.delete-notification{width:10px;height:10px;background:#fcac04;border-radius:50%;cursor:pointer}.top-panel .profile-menu .dropdown-menu.show .dropdown-item span.delete-notification:hover{border:2px solid #f8b014;background:transparent}.top-panel .profile-menu .dropdown-menu.show .dropdown-item:hover{background:none}.top-panel .profile-menu .dropdown-menu.show .dropdown-item+div{text-align:left;width:100%;padding:0 10px 20px;color:#ababab}.top-panel .profile-menu .dropdown-menu.show .dropdown-item+div a{display:contents;color:#e49d45}.top-panel .profile-menu .dropdown-menu.show .dropdown-item+div a:hover{color:#de9234}.top-panel .profile-menu .dropdown-menu.show .dropdown-divider{margin:0;border-color:#555;width:100%}.top-panel .profile-menu .dropdown-menu.show .dropdown-divider:last-child{display:none}.top-panel.small-device{display:none}.top-panel{display:flex;flex-direction:row;font-size:12px;position:fixed;width:100%;text-align:center;color:#fff;background:#222e44;height:34px;align-items:center;justify-content:space-between;padding:0 13%;z-index:2}.top-panel .container{display:flex;flex-direction:row;width:80%;height:100%}.top-panel .container .logo div img{width:82%}.top-panel .container .logo div:hover{background-color:transparent}.top-panel .container div{display:flex;justify-content:center;align-items:center}.top-panel .container div a,.top-panel .container div button{display:flex;justify-content:center;align-items:center;padding:0 10px!important;width:-webkit-fit-content;width:fit-content;height:100%;text-decoration:none;color:#fff}.top-panel .container div button{background:none;border:none}.top-panel .container div:hover{cursor:pointer}.top-panel .container div.active{background:#fff}.top-panel .container div.active a,.top-panel .container div.active button{color:#fcac04;font-weight:700}.top-panel .container div.active a:hover,.top-panel .container div.active button:hover{color:#fff}.top-panel .container div.active a:active,.top-panel .container div.active button:active{background:#fdb51c;color:#fff}.top-panel .container div.active:hover{background:#f8b014}.top-panel .left-menu{width:75%;margin:0;padding:0;justify-content:space-between}.top-panel .left-menu div.nav-link,.top-panel .left-menu div.top-link{flex:1 1 auto;height:100%;-webkit-transform:translateX(-5px);transform:translateX(-5px)}.top-panel .left-menu div.nav-link:hover,.top-panel .left-menu div.top-link:hover{background:#f8b014}.top-panel .left-menu div.logo{width:7rem;padding-left:0}.top-panel .left-menu div.logo a div{padding:0;width:6rem;flex:none}.top-panel .left-menu div.logo a div img{width:90%}.top-panel .left-menu div.logo:hover{background:transparent}.top-panel .left-menu div.fm{width:10rem}.top-panel .left-menu .top-link.focus a,.top-panel .left-menu .top-link.focus button{color:#fdb51c}.top-panel .profile-menu{width:25%;margin:0;padding:0;justify-content:flex-end}.top-panel .profile-menu div{height:100%}.top-panel .profile-menu div.bell{width:auto;color:#fcac04;padding:3px 0}.top-panel .profile-menu div.bell svg{border-radius:30px;width:40px;height:30px;padding:3px}.top-panel .profile-menu div.bell svg:hover{background:rgba(121,82,34,.58)}.top-panel .profile-menu div.bell svg:active{background:#866032}.top-panel .profile-menu .edit-user a{color:#a4abad;font-weight:700}.top-panel .profile-menu .edit-user a:hover{color:#f8b014}.top-panel .profile-menu .edit-user a:active{color:#fdb51c}.top-panel .profile-menu .logout-button a,.top-panel .profile-menu .logout-button button{color:#fff;cursor:pointer;font-weight:100}.top-panel .profile-menu .logout-button a:hover,.top-panel .profile-menu .logout-button button:hover{color:#f8b014}.top-panel .profile-menu .logout-button a:active,.top-panel .profile-menu .logout-button button:active{color:#fdb51c}.top-panel.long-profile .left-menu{justify-content:start}.top-panel.long-profile .left-menu>div{width:-webkit-fit-content;width:fit-content;flex:unset;padding:0 1rem}.top-panel.long-profile .left-menu .logo{width:7rem;padding:0;margin-right:1rem}.top-panel.long-profile .profile-menu{align-items:center}.top-panel.long-profile .profile-menu>.edit-user{width:-webkit-fit-content;width:fit-content}.top-panel.long-profile .profile-menu .long-username{display:flex;justify-content:center;align-items:center;width:auto}.top-panel.long-profile .profile-menu .long-username>span:first-child{margin-right:5px}.top-panel.long-profile .profile-menu .long-username>span:nth-child(3){margin-left:5px}@media screen and (max-width:1350px){.top-panel{padding:0 10%}}@media screen and (max-width:1025px){.top-panel{padding:0 8%}}@media (max-width:900px){.top-panel{display:none}.top-panel.small-device{display:flex;justify-content:space-between;padding:0 10%}.top-panel.small-device>.container{align-items:center;width:auto}.top-panel.small-device .hamburger{display:flex;flex-direction:column;justify-content:center;align-items:center;cursor:pointer}.top-panel.small-device .hamburger .bar{height:2px;margin:2px;width:20px;background:#fff}}@media (max-width:480px){.top-panel.small-device{padding:0}.top-panel .left-menu div.logo{width:unset}.top-panel .left-menu div.logo a div{width:5rem}}.main-nav{width:100%;height:249px}.main-nav .nav-wrapper{position:fixed;width:100%;-webkit-animation:toggleNav .75s forwards;animation:toggleNav .75s forwards;z-index:1}@media (max-width:900px){.main-nav{height:0}@-webkit-keyframes toggleNav{0%{-webkit-transform:translateY(-150px);transform:translateY(-150px)}to{-webkit-transform:translateY(50px);transform:translateY(50px)}}@keyframes toggleNav{0%{-webkit-transform:translateY(-150px);transform:translateY(-150px)}to{-webkit-transform:translateY(50px);transform:translateY(50px)}}}.statistic-item{flex:1 1 auto}.statistic-item .l-col{padding-left:0;flex-basis:14.3%}.statistic-item .r-col{flex-basis:85.7%}.statistic-item .r-col .stats{align-items:center}.statistic-item .r-col .stats .name{font-size:24px;color:#111}.statistic-item .r-col .stats .exclusion-items{flex-basis:83.4%}.statistic-item .r-col .stats>div{flex:unset;flex-basis:16.6%}.mail-accounts div.subtitle{color:#2c54ac;font-size:12px;margin:30px 0 18px 14.3%;text-transform:uppercase;font-weight:700}.mail-accounts .mail-accounts-wrapper>div:nth-child(2){border-top:1px solid #ddd}.mail-accounts .mail-accounts-wrapper div.list-item .r-col .stat.email{width:-webkit-fit-content;width:fit-content;text-transform:none}.mail-accounts .footer-actions-wrapper{display:flex;align-items:center;margin-top:2rem;padding-bottom:1.5rem}.mail-accounts .footer-actions-wrapper .total{margin:0 3.5rem 0 14.3%}.mail-accounts .footer-actions-wrapper .back a{padding:8px 38px;color:#777;background:#dfdedd;border:1px solid #dfdedd;border-radius:3px;font-size:13px;font-weight:700}.crossed{text-decoration:line-through}.catchall-mail{text-transform:none}.dns-records div.subtitle{color:#2c54ac;font-size:12px;margin:30px 0 18px 14.3%;text-transform:uppercase;font-weight:700}.dns-records .dns-records-wrapper>div:nth-child(2){border-top:1px solid #ddd}.dns-records .dns-records-wrapper div.list-item .r-col .stats>div{flex:unset}.dns-records .dns-records-wrapper div.list-item .r-col .stats .c-1{width:14.3%}.dns-records .dns-records-wrapper div.list-item .r-col .stats .c-2{margin-left:10px;width:14.3%}.dns-records .dns-records-wrapper div.list-item .r-col .stats .c-3{margin-left:0;width:14.3%}.dns-records .dns-records-wrapper div.list-item .r-col .stats .c-3 span{color:#888;font-weight:400}.dns-records .dns-records-wrapper div.list-item .r-col .stats .c-4{width:550px}.dns-records .dns-records-wrapper div.list-item .r-col .stats .c-4 .stat{display:block;white-space:normal;overflow:hidden;width:100%;text-overflow:ellipsis}.dns-records .footer-actions-wrapper{display:flex;align-items:center;margin-top:2rem;padding-bottom:1.5rem}.dns-records .footer-actions-wrapper .total{margin:0 3.5rem 0 14.3%}.dns-records .footer-actions-wrapper .back a{padding:8px 38px;color:#777;background:#dfdedd;border:1px solid #dfdedd;border-radius:3px;font-size:13px;font-weight:700}span.dns-records{padding-left:25px;font-size:18px;font-weight:400;font-style:italic;color:grey}.r-col .stats .c-2.w-30{padding-left:0}.statistic-item{display:flex;justify-content:center;padding:25px 0;border-bottom:1px solid #eee}.statistic-item .l-col .date{font-size:13px;margin-top:3rem}.statistic-item .r-col .name{font-size:32px}.statistic-item .r-col .c-1 .bandwidth,.statistic-item .r-col .c-1 .disk{width:220px}.statistic-item .r-col .c-1 div.sub-disk-stats{width:250px}.statistic-item .r-col .c-2{margin-right:0}.statistic-item .r-col .c-2 div>span:nth-child(2){margin:0;padding:0}.statistic-item .r-col .c-3.w-35 span.stat{width:80px}.statistic-item .r-col .c-3.w-35 div>span{width:50%;text-align:left}.statistic-item .r-col .c-3.w-35 div>span:nth-child(2){width:100px}.statistics-list{color:#686868}.statistics-list .toolbar{padding:6px 13%}.statistics-list .l-col{width:14.3%}.statistics-list .l-col div.date,.total{margin-top:25px}.total{margin-left:15%;font-size:12px;color:#929292}.statistic-item.focused{border-left:2px solid #5edad0;-webkit-transform:translateX(-2px);transform:translateX(-2px)}.statistic-item.focused .r-col .date{color:#5edad0}@media (max-width:1350px){.statistics-list .toolbar{padding:6px 9.5%}}.checkbox{margin-bottom:10px}.date{margin:10px 0}.l-col div.star{text-align:center}.l-col div.star div>svg{cursor:pointer;opacity:0;color:grey;padding:8px;width:35px;height:35px;border-radius:50%}.l-col div.star div>svg:hover{background:hsla(0,0%,70.6%,.47);color:#2c54ac}span.stat.email{display:block;width:-webkit-fit-content;width:fit-content;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.r-col .name{font-size:35px;margin-bottom:5px;color:#000}.r-col>div:nth-child(2){text-transform:capitalize}.r-col .stats{display:flex;justify-content:flex-start;align-items:flex-start}.r-col .stats .c-1,.r-col .stats .c-2,.r-col .stats .c-3{width:32%}.r-col .stats .c-1>div,.r-col .stats .c-2>div,.r-col .stats .c-3>div{display:flex;margin:5px 0}.r-col .stats .c-1 .bandwidth,.r-col .stats .c-1 .disk,.r-col .stats .c-2 .bandwidth,.r-col .stats .c-2 .disk,.r-col .stats .c-3 .bandwidth,.r-col .stats .c-3 .disk{width:200px;justify-content:space-between;margin-bottom:25px;border-bottom:1px dotted grey;position:relative}.r-col .stats .c-1 .bandwidth .percent,.r-col .stats .c-1 .disk .percent,.r-col .stats .c-2 .bandwidth .percent,.r-col .stats .c-2 .disk .percent,.r-col .stats .c-3 .bandwidth .percent,.r-col .stats .c-3 .disk .percent{position:absolute;left:0;bottom:-1px;height:2px;background:#2c54ac;width:0}.r-col .stats .c-1 .sub-disk-stats,.r-col .stats .c-2 .sub-disk-stats,.r-col .stats .c-3 .sub-disk-stats{width:250px}.r-col .stats .c-1 .sub-disk-stats>div,.r-col .stats .c-2 .sub-disk-stats>div,.r-col .stats .c-3 .sub-disk-stats>div{width:50%;display:flex;flex-direction:column;justify-content:space-between;font-size:11px}.r-col .stats .c-1 .sub-disk-stats>div span:first-child,.r-col .stats .c-2 .sub-disk-stats>div span:first-child,.r-col .stats .c-3 .sub-disk-stats>div span:first-child{width:40px}.r-col .stats .c-1 .sub-disk-stats>div:nth-child(2),.r-col .stats .c-2 .sub-disk-stats>div:nth-child(2),.r-col .stats .c-3 .sub-disk-stats>div:nth-child(2){width:70%;justify-content:flex-end}.r-col .stats .c-1 .sub-disk-stats>div:nth-child(2) span:first-child,.r-col .stats .c-2 .sub-disk-stats>div:nth-child(2) span:first-child,.r-col .stats .c-3 .sub-disk-stats>div:nth-child(2) span:first-child{width:80px}.r-col .stats .c-1{margin:15px 0 0}.r-col .stats .c-2{margin:15px 20px}.r-col .stats .c-2 div>span:first-child{width:120px}.r-col .stats .c-2 div>span:nth-child(2){width:150px;padding-left:15px}.r-col .stats .c-3 div>span:first-child{width:120px}.r-col .stats .c-3 div>span:nth-child(2){width:200px}.r-col .stats .c-3 div.ns{margin-top:20px}.r-col .stats>div{margin:15px 0;flex:1 1}.r-col .stats .stat{font-weight:700;color:#5f5f5f}.actions{position:absolute;top:0;right:0;opacity:0;display:flex;justify-content:center;align-items:center;font-size:12px;background:#dfdedd}.actions>div{font-weight:bolder;text-transform:uppercase;height:38px}.actions>div a,.actions>div button{display:flex;justify-content:center;align-items:center;color:#777;padding:10px 15px;text-decoration:none}.actions>div a:hover,.actions>div button:hover{background:#919191;color:#fff}.actions>div a:hover svg,.actions>div button:hover svg{color:#fff}.actions>div svg{color:#777}.actions>div:nth-child(2) a:hover{background:#2c54ac}.actions>div:nth-child(4) a:hover{background:#b00e5b}.actions svg{margin-left:12px}@media (max-width:1066px){.actions{opacity:1}}@media (max-width:850px){.actions>div{width:-webkit-fit-content;width:fit-content}.actions>div a,.actions>div button{width:100%}}.list-item.focused .r-col .name{color:#f8b014}@media (max-width:1066px){div.star div>svg{opacity:1!important}}.content .Toastify__toast-container{bottom:1em!important;top:unset}.timer-wrapper{display:flex;justify-content:center;align-items:center}.timer-wrapper button{border:none;background:none}.timer-wrapper button:active,.timer-wrapper button:focus{outline:none}.timer-wrapper .circle-wrapper{display:flex;justify-content:center;align-items:center;width:30px;height:30px}.timer-wrapper .circle-wrapper span.seconds:active,.timer-wrapper .circle-wrapper span.seconds:hover{background:unset}.timer-wrapper .circle-wrapper svg{height:30px;width:30px}.timer-wrapper .circle-wrapper svg circle{stroke:#000;fill:#fff;stroke-width:3%;stroke-dasharray:72;stroke-dashoffset:9;transform-box:fill-box;-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate(270deg);transform:rotate(270deg);transition:all 1s linear}.rrd-item{display:flex;justify-content:center;align-items:center;border-bottom:1px solid #eee;position:relative}.rrd-item .l-col .date{font-size:13px;margin-top:3rem}.rrd-item .l-col .time{font-size:13px;margin-top:2rem;text-align:left}.rrd-item .r-col .name{font-size:32px}.rrd-item .r-col .rrd-image{font-size:20px;text-transform:lowercase}.rrd-item.focused{border-left:2px solid #5edad0}.rrd-item.focused .l-col{padding-left:11px}.rrd-item.focused div.actions{opacity:1}div.content{margin-top:0}.rrd-list{color:#555}.rrd-list .toolbar{padding:6px 13%}.rrd-list .rrd-item{padding:25px 0;align-items:flex-start}.rrd-list .rrd-item .actions{opacity:0}.rrd-list .rrd-item .l-col{display:flex;flex-direction:column;margin:15px 40px 0 0}.rrd-list .rrd-item .l-col .date{margin:0}.rrd-list .rrd-item:hover .actions{opacity:1}.periods-wrapper{display:flex;align-items:center}.periods-wrapper>div:first-child{margin-left:8px}.periods-wrapper>div{cursor:pointer;margin:0 15px;font-size:14px}.periods-wrapper>div:hover{color:#f8b014}.periods-wrapper>div:active{color:#1e5cb2}.periods-wrapper .timer-wrapper>button svg:hover{color:#f8b014}.periods-wrapper .timer-wrapper>button svg:active{color:#1e5cb2}.periods-wrapper .timer-wrapper>div.circle-wrapper{cursor:default}.periods-wrapper>div.active{color:#fdb51c}@media (max-width:1350px){.rrd-list .toolbar{padding:6px 9.5%}}.banlist-wrapper{display:flex;flex-direction:column}.banlist-wrapper>div{margin-right:15px}.banlist-wrapper .list-item .l-col div.star .checkbox+div{display:none}.banlist-wrapper .buttons-wrapper{width:100%;display:flex;margin-top:4rem;align-items:center}.banlist-wrapper .buttons-wrapper .total{margin-right:15px;margin-top:0}.banlist-wrapper .buttons-wrapper button.back{font-weight:700;font-size:13px;margin-right:10px;padding:.35rem 2.25rem;border-radius:4px;transition:all .2s cubic-bezier(.4,.1,.5,.85);color:#777;background:#dfdedd;border:none;box-shadow:unset}.banlist-wrapper .buttons-wrapper button.back:hover{color:#fff;background:#999}.add-ftp,.web-stats{text-decoration:line-through}.r-col .stats .c-2{margin-left:20px}.r-col .c-2 span.stat,.r-col .c-3 span.stat{margin-left:1rem}.r-col .name{display:flex}.r-col .name>div:first-child{margin-right:2rem}.r-col .name>div+div{line-height:10px;margin-top:.75rem}.r-col .name .dns-name-span{font-style:italic;color:#858585;font-size:14px}div.crossed{text-decoration:line-through}.content .toolbar .search-toolbar-name{font-size:12px;text-transform:uppercase;color:#fcac04;font-weight:700;margin-left:14.3%;padding-left:7px;align-self:center}.content .toolbar .search-toolbar-right{display:flex;justify-content:center;align-items:center}.content .toolbar .search-toolbar-right .btn-group button{border:none;background:none;box-shadow:none}.content .toolbar .search-toolbar-right .btn-group button:active,.content .toolbar .search-toolbar-right .btn-group button:focus,.content .toolbar .search-toolbar-right .btn-group button:hover{background:none;box-shadow:none;outline:none;border:none;color:#686868}.content .toolbar .search-toolbar-right .search-input-form{padding-top:2px}.content .statistics-wrapper>.list-item:first-child{margin-top:0}.content .statistics-wrapper .list-item .l-col>.star{display:none}.content .statistics-wrapper .list-item .r-col div.object{text-transform:uppercase}.content .statistics-wrapper .list-item .r-col .c-2 .owner span,.content .statistics-wrapper .list-item .r-col .c-3 .status span{text-align:center;font-weight:700;text-transform:lowercase}.logs-list .toolbar{padding:6px 13%}.logs-list .statistic-item .l-col{font-size:13px;color:#888}.logs-list .statistic-item .l-col .date{margin:1rem 0 1.5rem}.logs-list .statistic-item .r-col .name{margin-top:.7rem;font-size:18px}.logs-list .statistic-item.focused{border-left:2px solid #5edad0}.logs-list .statistic-item.focused div.name{color:#5edad0}@media (max-width:1350px){.logs-list .toolbar{padding:6px 9.5%}}.logs-list .toolbar .search-input-form input{margin-bottom:5px}.logs-list .l-col{width:14%}.content{padding:0 13% 1%;margin-top:5px}.content>div>div.total{margin-top:25px;margin-left:14%;font-size:12px;color:#929292}@media (max-width:1350px){.content{padding:0 10%}}@media (max-width:1066px){.content{padding:5% 10%}}@media (max-width:900px){.content{margin-top:40px}}@media (max-width:800px){.content{padding-top:5%}}.fixed-buttons{position:fixed;right:15px;bottom:15px;display:flex;justify-content:space-around;align-items:center}.fixed-buttons>div{width:40px;height:40px;padding:5px;margin:5px;border-radius:50%;background:#c3c3c3;display:flex;justify-content:center;align-items:center}.fixed-buttons>div:hover{color:#2c54ac;background:#d7dcef}.fixed-buttons>div:active{color:#fff;background:#1e5cb2}.fixed-buttons>div button{display:flex;justify-content:center;align-items:center;background:none;border:none;width:100%;height:100%;border-radius:50%;-webkit-transform:scale(1.32);transform:scale(1.32)}.fixed-buttons>div button svg{color:#fff;height:70%}.fixed-buttons>div:first-child{color:#c3c3c3;background:none}.fixed-buttons>div:first-child:hover{background:#d7dcef}.fixed-buttons>div:first-child:hover button svg{color:#fff}.fixed-buttons>div:first-child:active{color:#fff;background:#1e5cb2}.fixed-buttons>div:first-child button{padding:0}.fixed-buttons>div:first-child button svg{color:#c3c3c3}@media screen and (max-width:1066px){.fixed-buttons>div:first-child{display:none}}@media screen and (max-width:450px){.content{padding:5% 1%}}.panel-wrapper .logo-img img{width:82%}.panel-wrapper .logo-img:hover{background-color:transparent}.panel-wrapper .nav-link{padding:0}.panel-wrapper .left-menu{justify-content:unset}.panel-wrapper .left-menu .logo{width:-webkit-fit-content;width:fit-content;flex:unset}.panel-wrapper .left-menu .scrollbar-container:hover{background:none}.panel-wrapper .left-menu .scrollbar-container .nav-link{flex:unset;padding:0 5px}.panel-wrapper .left-menu a,.panel-wrapper .left-menu button{padding:0!important;outline:none}.panel-wrapper .left-menu>div.nav-link{padding:0}.panel-wrapper .profile-menu>div:first-child a:hover{color:#f8b014}.panel-wrapper .profile-menu>div:first-child a:active{color:#fdb51c}.panel-wrapper .profile-menu>div:nth-child(2) a:hover{color:#fdb51c}.panel-wrapper .profile-menu>div:nth-child(2) a:active{color:#fdb51c}.panel-wrapper .profile-menu .user{color:#a4abad;font-weight:700}.panel-wrapper .profile-menu .user:hover{color:#f8b014}.panel-wrapper .profile-menu .user:active{color:#fdb51c}.panel-wrapper .profile-menu .log-out{color:#fff;cursor:pointer;font-weight:100}.panel-wrapper .profile-menu .log-out:hover{color:#d7dcef}.panel-wrapper .profile-menu .log-out:active{color:#fdb51c}.App .web-logs .top-panel .left-menu .logo{justify-content:start;margin:0}.App .web-logs .top-panel .left-menu .logo a{padding:0!important}.App .web-logs .content{font-size:14px;color:#555;padding-top:4rem}@media screen and (min-width:1067px){.App .web-logs .content{padding-top:5rem!important;margin-top:0!important}}@media screen and (max-width:1066px){.App .web-logs .content{padding-top:5rem!important;margin-top:0!important}}.login-layout{margin-top:1rem;padding:2rem 3rem}.login-page{display:flex;justify-content:center;align-items:center;width:100%;height:100vh;background-color:#eee}.login-page .login-form-wrapper{background-color:#fff;box-shadow:0 2px 6px hsla(0,0%,39.2%,.3);font-family:Arial,Helvetica,sans-serif;margin:0;padding:0;text-align:left;width:575px}.login-page .login-form-wrapper .login-layout{position:relative}.login-page .login-form-wrapper .login-layout>span{position:absolute;bottom:0;right:20px;font-size:11px}.login-page .login-form-wrapper .login-layout>span a{color:#505050}.login-page .login-form-wrapper form{display:flex;position:relative}.login-page .login-form-wrapper form>div input[type=password],.login-page .login-form-wrapper form>div input[type=text]{width:100%}.login-page .login-form-wrapper form .c1{display:flex;justify-content:center;align-items:center;width:35%}.login-page .login-form-wrapper form .c1 img{width:110%}.login-page .login-form-wrapper form .c2{width:65%;margin-left:3.5rem}.login-page .login-form-wrapper form .c2 .forgot-password{font-size:11px;text-transform:uppercase;letter-spacing:.75px;text-decoration:none}.login-page .login-form-wrapper form .c2 button[type=submit]{background-color:#2c54ac;border:1px solid #2c54ac;padding:1px 16px 3px;font-size:13px;height:35px;color:#fafafa;border-radius:3px}.login-page .login-form-wrapper form .c2 button[type=submit]:hover{color:#2c54ac;border:1px solid #d7dcef;background-color:#d7dcef}.login-page .login-form-wrapper form .c2 button[type=submit]:active{color:#fafafa;border:1px solid #2c54ac;background-color:#2c54ac}.login-page .login-form-wrapper form .c2 button[type=submit] .disabled{cursor:not-allowed}.login-page .login-form-wrapper form .c2 div.error-message{margin-top:1rem;color:#be5abf}@media (max-width:768px){.login-page .login-form-wrapper{margin:2rem}.login-page .login-form-wrapper .login-layout form{flex-direction:column;justify-content:center;align-items:center}.login-page .login-form-wrapper .login-layout form .c1{width:100%;margin-bottom:1.5rem}.login-page .login-form-wrapper .login-layout form .c1 a{text-align:center}.login-page .login-form-wrapper .login-layout form .c1 a img{width:75%}.login-page .login-form-wrapper .login-layout form .c2{margin:0;width:100%}.login-page .login-form-wrapper .login-layout form .buttons-wrapper .add{margin-bottom:10px}}@media screen and (max-width:1066px){.App .service-info .top-panel{display:flex}}@media screen and (min-width:1200px){.App .service-info .top-panel{padding:0 13%}}.App .service-info .content{font-size:14px;color:#555;padding-top:4rem}@media screen and (min-width:1067px){.App .service-info .content{padding-top:5rem!important;margin-top:0!important}}@media screen and (max-width:1066px){.App .service-info .content{padding-top:5rem!important;margin-top:0!important}}.App .service-info .content table td,.App .service-info .content table th{padding:5px 10px;border:1px solid #000} -/*# sourceMappingURL=main.55ab5a88.chunk.css.map */ \ No newline at end of file diff --git a/web/static/css/main.55ab5a88.chunk.css.map b/web/static/css/main.55ab5a88.chunk.css.map deleted file mode 100644 index 85ca11d59..000000000 --- a/web/static/css/main.55ab5a88.chunk.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["index.css","Spinner.scss","Dropdown.scss","Path.scss","../../utils/scss/_variables.scss","Row.scss","../../../utils/scss/_variables.scss","List.scss","ProgressBar.scss","Modal.scss","Menu.scss","App.scss","Editor.scss","Photo.scss","Video.scss","Container.scss","AddItemLayout.scss","Toolbar.scss","EditInternetProtocol.scss","AddInternetProtocol.scss","EditServerNginx.scss","Postgresql.scss","style.scss","DropdownFilter.scss","SearchInput.scss","ListItem.scss","InternetProtocol.scss","LeftButton.scss","../../../../utils/scss/_variables.scss","Checkbox.scss","Select.scss","AdditionalFtpForEditing.scss","AdditionalFtpWrapper.scss","SslSupport.scss","AdvancedOptions.scss","AddWebDomain.scss","TextInputWithTextOnTheRight.scss","EditDatabase.scss","EditFirewall.scss","Hotkeys.scss","AddDatabase.scss","AddFirewall.scss","SelectsWrapper.scss","Generator.scss","EditCronJob.scss","EditPackage.scss","EditHttpd.scss","AddCronJob.scss","AddPackage.scss","EditServer.scss","MailInfoBlock.scss","Service.scss","AddMailAccount.scss","EditDomainNameSystem.scss","EditWeb.scss","EditPhp.scss","Databases.scss","Firewall.scss","Firewalls.scss","Bind9.scss","Mysql.scss","AddDomainNameSystem.scss","RestoreSetting.scss","BackupRestoreSettings.scss","Backup.scss","CronJob.scss","CronJobs.scss","Package.scss","Packages.scss","AddUser.scss","Update.scss","Updates.scss","ServerSys.scss","Server.scss","Servers.scss","MobileTopNav.scss","Notifications.scss","Panel.scss","MainNav.scss","MailAccounts.scss","Mail.scss","DNSRecords.scss","DomainNameSystem.scss","Statistic.scss","Statistics.scss","User.scss","Users.scss","Timer.scss","RRD.scss","RRDs.scss","styles.scss","WebDomain.scss","Search.scss","Log.scss","Logs.scss","ControlPanelContent.scss","TopPanel.scss","WebLogs.scss","LoginLayout.scss","Login.scss"],"names":[],"mappings":"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","file":"main.55ab5a88.chunk.css","sourcesContent":["body {\n margin: 0;\n padding: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Roboto\", \"Oxygen\",\n \"Ubuntu\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\",\n sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\ncode {\n font-family: source-code-pro, Menlo, Monaco, Consolas, \"Courier New\",\n monospace;\n}\n",".spinner-wrapper {\n position: absolute;\n bottom: 5px;\n width: 150px;\n left: 42%;\n height: 10px;\n}\n",".btn-group button {\n border: 0;\n}\n\n.dropdown-menu {\n padding: 0;\n\n ul {\n padding: 0;\n margin: 0;\n display: inline-block;\n list-style: none;\n height: 150px;\n width: 100%;\n color: #333;\n\n li {\n display: inline-flex;\n width: 100%;\n height: 37.5px;\n border-top: 1px solid #dbdbdb;\n\n .arrow-down {\n float: right;\n }\n\n .dropdown-item {\n &:hover {\n background: #bdbdbd;\n }\n }\n\n span {\n padding: 0 5px 0 10px;\n line-height: 38px;\n }\n\n span.active{\n background: #ffc900;\n }\n\n span + span {\n text-align: center;\n }\n }\n }\n}\n\n.lists-container .dropdown-menu.show{\n transform: translate3d(-57%, 39px, 0px)!important;\n}","@import 'src/utils/scss/variables';\n\n.path {\n display: flex;\n justify-content: space-between;\n font-size: 15px;\n padding: 1px 0 0 5px;\n height: 40px;\n background: #222e44;\n color: #999;\n box-shadow: 0 2px 10px -4px #222e44;\n\n .btn-group {\n width: 75px;\n margin-left: 15px;\n background: none;\n box-shadow: none;\n\n .btn-secondary:not(:disabled):not(.disabled).active, .btn-secondary:not(:disabled):not(.disabled):active, .show>.btn-secondary.dropdown-toggle {\n background: #222e44;\n border: #222e44;\n }\n\n button {\n padding-left: 0;\n padding-right: 5px;\n color: #999;\n background: #222e44;\n border: #222e44;\n transition: none;\n \n span {\n color: #999;\n padding: 0 0 0 5px;\n }\n\n &:active, &:focus {\n background: #222e44;\n border: #222e44;\n }\n }\n\n .btn.active.focus, .btn.active:focus, .btn.focus, .btn:active.focus, .btn:active:focus, .btn:focus {\n box-shadow: none;\n outline: none;\n background: #222e44;\n border: #222e44;\n }\n\n .btn-secondary {\n display: flex;\n justify-content: center;\n align-items: center;\n }\n }\n\n .clickable {\n padding-top: 8px;\n cursor: pointer;\n }\n}\n\n.active-path {\n display: flex;\n justify-content: space-between;\n font-size: 15px;\n padding: 1px 0 0 5px;\n height: 40px;\n background: #d7dcef;\n color: $white;\n box-shadow: 0 2px 6px -2px #d7dcef;\n\n .clickable-wrapper {\n display: flex;\n flex-wrap: nowrap;\n overflow: auto;\n }\n\n .btn-group {\n width: 75px;\n background: none;\n box-shadow: none;\n\n .btn-secondary:not(:disabled):not(.disabled).active, .btn-secondary:not(:disabled):not(.disabled):active, .show>.btn-secondary.dropdown-toggle {\n border-color: #d7dcef;\n background: #d7dcef;\n }\n\n button {\n padding-left: 0;\n padding-right: 5px;\n color: white;\n border-color: #d7dcef;\n background: #d7dcef;\n transition: none;\n\n span {\n color: #fff;\n padding: 0 0 0 5px;\n }\n\n &:active, &:focus {\n border-color: #d7dcef;\n background: #d7dcef;\n }\n }\n\n .btn.active.focus, .btn.active:focus, .btn.focus, .btn:active.focus, .btn:active:focus, .btn:focus {\n box-shadow: none;\n outline: none;\n border-color: #d7dcef;\n background: #d7dcef;\n }\n\n .btn-secondary {\n display: flex;\n justify-content: center;\n align-items: center;\n color: $primary;\n\n span {\n color: $primary;\n }\n\n &:hover {\n color: #1c3876;\n border-color: #d7dcef;\n background: #d7dcef;\n\n span {\n color: #1c3876;\n }\n }\n }\n }\n\n .clickable {\n color: $primary;\n padding-top: 8px;\n cursor: pointer;\n \n &:hover {\n color: #1c3876;\n }\n\n &:active {\n color: $primary;\n }\n }\n}\n\n.clickable-path {\n display: flex;\n float: 0 0 auto;\n}","$whiteBackground: #ececec;\n$primary: #2c54ac;\n$primaryLight: #d7dcef;\n$primaryActive: #1e5cb2;\n$secondary: #fcac04;\n$secondaryLight: #f8b014;\n$secondaryActive: #fdb51c;\n$hoverButtonText: #2c54ac;\n$activeButtonText: #fff;\n$textColor: #555;\n$danger: #b00e5b;\n$black: #000;\n$white: #fff;\n","@import 'src/utils/scss/variables';\n\n.list .list-container ul li svg {\n width: 25px;\n vertical-align: top;\n margin-top: 9px;\n margin-left: 10px;\n}\n\n.html5 {\n color: #f16529;\n}\n\n.file-alt {\n color: #20d2d1;\n}\n\n.list .list-container ul li {\n .marker {\n float: left;\n width: 4px;\n height: 34px;\n margin-right: 5px;\n }\n}\n\n.list .list-container ul li .js {\n width: 16px;\n color: #f7df1c;\n background: black;\n margin: 9px 4px 0 15px;\n}\n\n.php {\n color: #777bb3;\n}\n\n.css3 {\n color: #0079cb;\n}\n\n.sass {\n color: #cd6699;\n}\n\n.image {\n color: #36afae;\n}\n\n.folder-open {\n color: #e29741;\n}\n\n.file {\n color: #11b1b1;\n}\n\n.archive {\n color: rgb(209, 206, 43);\n}\n\n.download {\n color: #929ca3;\n}\n\n.fOwner,\n.fPermissions,\n.fSize,\n.fDate,\n.fTime {\n font-size: 14px;\n float: right;\n width: 60px;\n padding-top: 2px;\n}\n\n.list .list-container ul li .fName {\n margin-left: 5px;\n width: 260px;\n display: inline-block;\n overflow: hidden;\n text-overflow: clip;\n\n .name {\n padding: 0 5px;\n float: left;\n margin-left: 5px;\n line-height: 34px;\n font-size: 15px;\n white-space: nowrap; \n transition: all ease-out .3s;\n \n &:hover {\n transition: all ease-out .2s;\n background: rgb(201, 199, 199);\n border-radius: 4px;\n cursor: pointer;\n }\n }\n}\n\n.list .list-container ul li.active .fName .name:hover {\n background: #F0B607;\n color: black;\n}\n\n.list .list-container ul li .fPermissions {\n margin-left: 35px;\n width: 50px;\n color: #727272;\n font-size: 11px;\n}\n\n.list .list-container ul li .fDate .date {\n color: #727272;\n font-size: 11px;\n}\n.list .list-container ul li .fTime {\n color: #727272;\n font-size: 11px;\n width: 54px;\n}\n\n.fSize {\n padding-right: 15px;\n text-align: right;\n width: 95px;\n}\n\n.list .list-container ul li .fOwner {\n color: #896417;\n font-style: italic;\n width: 50px;\n font-size: 12px;\n margin-right: 5px;\n}\n\n.value {\n color: $primary;\n}\n\n.unit {\n font-weight: bolder;\n color: #727272;\n}\n\nli.inactive {\n .marker {\n float: left;\n width: 4px;\n height: 34px;\n margin-right: 5px;\n background: rgb(163, 163, 163);\n }\n\n background: rgb(201, 199, 199);\n}\n\n.inactive-selected {\n background: rgb(220, 220, 220);\n}\n\n@media (max-width: 1400px){\n .fPermissions, .fOwner {\n display: none;\n }\n}\n\n@media (max-width: 1100px){\n .fDate {\n display: none;\n }\n}\n\n@media (max-width: 970px){\n .fTime {\n display: none;\n }\n}\n","$whiteBackground: #ececec;\n$primary: #2c54ac;\n$primaryLight: #d7dcef;\n$primaryActive: #1e5cb2;\n$secondary: #fcac04;\n$secondaryLight: #f8b014;\n$secondaryActive: #fdb51c;\n$hoverButtonText: #2c54ac;\n$activeButtonText: #fff;\n$textColor: #555;\n$danger: #b00e5b;\n$black: #000;\n$white: #fff;\n",".list {\n width: 50%;\n height: 100vh;\n flex: 1 1 50%;\n\n .list-container {\n margin-top: 10px;\n height: calc(100% - 100px);\n overflow: auto;\n\n ul {\n margin-top: 5px;\n padding: 0;\n color: #3a3a3a;\n \n li {\n display: block;\n height: 34px;\n line-height: 30px;\n font-size: 15px;\n margin-top: 2px;\n list-style: none;\n\n span {\n font-size: 13px;\n }\n \n &:hover{\n background: #DEDEDE;\n }\n }\n \n li.active {\n background: #FFDC5A;\n\n .marker {\n float: left;\n width: 4px;\n height: 34px;\n margin-right: 5px;\n background: #79641a;\n }\n }\n \n li.selected {\n background: #fdfdbb;\n }\n }\n }\n}\n\n@media screen and (max-width: 1200px){\n .permissions, .owner {\n display: none;\n }\n}",".progress.upload {\n position: fixed;\n left: 0px;\n top: 0px;\n z-index: 9999;\n height: 5px;\n position: fixed;\n width: 100%;\n margin: 0;\n display: inline-table;\n background: transparent;\n\n .progress-bar {\n height: 5px;\n }\n}\n","@import 'src/utils/scss/variables';\n\ndiv.modal {\n z-index: 2;\n}\n\ndiv.content .modal .modal-content {\n width: 75%;\n\n .modal-header button.close {\n color: white;\n }\n\n .modal-footer {\n .btn-primary {\n background: $primary;\n border: 1px solid $primary;\n }\n }\n}\n","@import 'src/utils/scss/variables';\n\n.menu-wrapper {\n position: fixed;\n width: 100%;\n font-size: 15px;\n background: white;\n\n .menu-stat {\n display: flex;\n flex-direction: row;\n margin-top: 50px;\n min-height: 45px;\n max-height: 135px;\n height: 145px;\n width: 100%;\n padding: 0 13%;\n \n > div {\n border-bottom: 3px solid white;\n overflow: hidden;\n width: 14.3%;\n\n h3, div {\n width: 100%;\n }\n\n h3 {\n font-weight: bold;\n font-size: 14px;\n text-transform: uppercase;\n margin-bottom: 30px;\n }\n \n div {\n display: flex;\n justify-content: space-between;\n font-size: 12px;\n color: #a0a0a0;\n text-align: left;\n\n > span:nth-child(1) {\n width: 120px;\n }\n\n > span:nth-child(2) {\n width: 80px;\n padding-left: 10px;\n }\n }\n }\n\n .stat {\n a, button {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n color: black;\n text-decoration: none;\n text-align: left;\n }\n\n button {\n background: none;\n border: none;\n padding: 0;\n }\n\n h3 {\n font-size: 14px;\n }\n\n &:hover {\n cursor: pointer;\n border-bottom: 3px solid $secondaryLight;\n \n h3 {\n color: $secondary;\n }\n\n .stats {\n overflow: hidden;\n }\n }\n\n &:active {\n border-color: $secondaryActive;\n\n h3 {\n color: $secondary;\n }\n }\n\n .stats {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n }\n }\n\n .l-active {\n border-bottom: 3px solid $primary;\n\n h3 {\n color: $primary;\n font-size: 18px;\n margin-bottom: 25px;\n }\n }\n\n .stat.focus {\n border-bottom: 3px solid $secondaryLight !important;\n \n a, h3 {\n color: $secondaryLight !important;\n }\n }\n }\n}\n\n.menu-wrapper.shadow {\n box-shadow: rgba(200, 200, 200, 0.5);\n}\n\n@media (max-width: 1350px) {\n .menu-wrapper .menu-stat {\n padding: 0 10%;\n }\n}\n\n@media screen and (max-width: 1200px) {\n .menu-wrapper {\n padding: 0 10%;\n\n .menu-stat {\n padding: 0;\n }\n }\n}\n\n@media screen and (max-width: 1066px) {\n .menu-wrapper {\n .menu-stat {\n padding: 0 10%;\n margin-top: 40px;\n }\n }\n}\n\n@media screen and (max-width: 1024px) {\n .menu-wrapper {\n .menu-stat {\n padding: 0 10%;\n }\n }\n}\n\n@media (max-width: 1066px) {\n .menu-wrapper {\n padding: 1%;\n\n .menu-stat {\n height: auto;\n min-height: auto;\n\n .stat {\n h3 {\n padding: 0;\n }\n }\n }\n }\n}\n","@import 'src/utils/scss/variables';\n\nhtml {\n overflow-y: scroll;\n}\n\n.App {\n font-size: 25px;\n font-family: Arial;\n}\n\n.window {\n background: #ececec;\n height: 100vh;\n width: 100%;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n\n .lists-container {\n display: flex;\n flex-direction: row;\n }\n}\n\n.active {\n background: #fff;\n}\n\n.progress {\n height: 10px;\n transition: all ease-out 0.1s;\n}\n\n.Toastify__toast-body {\n font-size: 20px;\n word-break: break-word;\n}\n.Toastify__toast-container {\n top: 15em;\n}\n\n.actions {\n div {\n a.link-download:hover, button.link-download:hover,\n a.link-edit:hover, button.link-edit:hover {\n background: $primary !important;\n }\n \n a.link-list:hover,\n button.link-list:hover {\n background: $primary !important;\n }\n\n a.link-delete:hover,\n button.link-delete:hover {\n background: $danger !important;\n }\n\n a.link-gray:hover,\n button.link-gray:hover {\n background: #afafac !important;\n }\n\n button {\n text-transform: inherit;\n font-weight: bolder;\n background: #dfdedd;\n border: none;\n }\n }\n}\n\n@media screen and (max-width: 700px) {\n .actions {\n background: unset !important;\n flex-wrap: wrap;\n justify-content: flex-end !important;\n\n div {\n height: 30px !important;\n\n a,button {\n background: #dfdedd !important;\n padding: 0px 10px !important;\n height: 100% !important;\n font-size: 10px !important;\n }\n }\n }\n}\n\nbutton:active, a:active, .period:active {\n color: $primaryActive;\n}\n\n.list-item:first-child {\n margin-top: 5px;\n}\n\n.list-item .text-status {\n display: none;\n}\n\nbutton {\n &:hover, &:active, &:focus {\n outline: none;\n }\n}\n\n.fixed-buttons.fm {\n position: fixed;\n right: 15px;\n bottom: 15px;\n display: flex;\n justify-content: space-around;\n align-items: center;\n\n > div {\n width: 40px;\n height: 40px;\n padding: 5px;\n margin: 5px;\n border-radius: 50%;\n background: #c3c3c3;\n display: flex;\n justify-content: center;\n align-items: center;\n \n &:hover {\n color: $hoverButtonText;\n background: $primaryLight;\n }\n \n &:active {\n color: $activeButtonText;\n background: $primaryActive;\n }\n \n button {\n display: flex;\n justify-content: center;\n align-items: center;\n background: none;\n border: none;\n width: 100%;\n height: 100%;\n border-radius: 50%;\n transform: scale(1.32);\n \n svg {\n color: white;\n height: 70%;\n }\n }\n }\n\n > div:first-child {\n background: $primary;\n\n &:hover {\n color: $hoverButtonText;\n background: $primaryLight;\n\n button svg {\n color: $hoverButtonText;\n }\n }\n\n &:active {\n color: $activeButtonText;\n background: $primaryActive;\n\n button svg {\n color: $activeButtonText;\n }\n }\n\n button {\n padding: 0;\n\n svg {\n color: $activeButtonText;\n }\n }\n }\n}\n\n@media (min-width: 1067px) {\n .App div.content {\n padding-top: 0 !important;\n margin-top: -20px !important;\n }\n}\n\n@media (max-width: 1066px) {\n .App div.content {\n padding-top: 0 !important;\n margin-top: -20px !important;\n }\n\n .content > div {\n .l-col {\n margin-top: 2rem;\n padding-left: 5px;\n }\n\n .r-col {\n margin-top: 1rem;\n .name {\n margin-top: 2rem;\n }\n\n .stats {\n flex-wrap: wrap;\n\n > div {\n margin: 1rem 0 !important;\n padding: 0 !important;\n width: 100% !important;\n }\n }\n }\n }\n}\n\n@media (max-width: 900px) {\n .App div.content {\n padding-top: 77px !important;\n margin-top: 0 !important;\n }\n\n .content > div {\n .l-col {\n padding-left: 5px;\n }\n\n .r-col {\n padding-left: 2rem;\n }\n }\n}\n\n@media (max-width: 725px) {\n .content {\n .r-col {\n padding-left: 3.5rem;\n }\n }\n}\n",".editor {\n width: 100%;\n\n .panel-editor {\n display: flex;\n justify-content: flex-end;\n width: 100%;\n height: 40px;\n position: absolute;\n padding: 3px;\n margin: 0;\n background: #000000bf;\n z-index: 4;\n transition: 0.5s all ease-in-out;\n border-bottom: 1px solid black;\n border-radius: 0;\n\n button {\n font-size: 17px;\n height: 98%;\n margin: 0 0 0 30px;\n padding: 0 10px;\n\n &:focus {\n outline: none;\n box-shadow: none;\n }\n }\n }\n\n .close {\n z-index: 4;\n position: absolute;\n top: 5px;\n right: 5px;\n font-size: 40px;\n opacity: 1;\n color: #000;\n\n &:hover {\n color: rgb(139, 139, 139);\n }\n }\n\n .CodeMirror {\n height: 100vh;\n padding-top: 4vh;\n\n .CodeMirror-selected {\n background:#ACCEF7;\n }\n\n .CodeMirror-scroll {\n font-size: 14px;\n }\n }\n\n .save {\n font-size: 20px;\n left: 95%;\n bottom: 10px;\n position: absolute;\n }\n}",".carousel {\n width: 100%;\n position: relative;\n\n a {\n width: 5%;\n }\n\n .carousel-inner {\n .carousel-item {\n background: #000;\n width: 100%;\n height: 100vh;\n \n .gif {\n height: 50%;\n width: 50%;\n }\n\n .img {\n width: 90%;\n }\n }\n }\n\n .carousel-indicators {\n .indicator {\n margin: 0 15px;\n width: 80px;\n height: 80px;\n\n .control-photo {\n width: 100px;\n height: 80px;\n }\n \n &:hover {\n cursor: pointer;\n }\n\n &.active > img {\n border: 3px solid #3cc3f0;\n }\n\n .active {\n border: 3px solid #3cc3f0;\n }\n }\n }\n}\n\nspan.close {\n z-index: 10;\n font-size: 30px;\n position: absolute;\n top: 5px;\n right: 10px;\n opacity: 1;\n color: white;\n cursor: pointer;\n\n &:hover {\n color: white;\n }\n}",".video-preview {\n padding-bottom: 17px;\n width: 100%;\n background: #000;\n \n .close {\n z-index: 1;\n font-size: 30px;\n position: absolute;\n top: 5px;\n right: 2px;\n opacity: 1;\n color: #fff;\n\n &:hover {\n color: #000;\n }\n }\n\n .video {\n width: 100%;\n height: auto;\n\n &:focus {\n outline: none;\n }\n }\n}",".l-col {\n padding-left: 15px;\n}\n\n.r-col {\n font-size: 13px;\n}\n\n.w-14 {\n width: 14.3%;\n}\n\n.w-20 {\n width: 20%;\n}\n\n.w-25 {\n width: 25%;\n}\n\n.w-30 {\n width: 30%;\n}\n\n.w-35 {\n width: 35%;\n}\n\n.w-40 {\n width: 40%;\n}\n\n.w-45 {\n width: 45%;\n}\n\n.w-50 {\n width: 50%;\n}\n\n.w-60 {\n width: 60%;\n}\n\n.w-85 {\n width: 85%;\n}","@import 'src/utils/scss/variables';\n\n$optionalButtonHover: $primary;\n$optionalButtonActive: $primaryLight;\n$deleteButtonColorHover: #b00e5b;\n$deleteButtonColorActive: #b11661;\n$backButtonBackground: #DFDEDD;\n$backButtonBackgroundHover: #999;\n$transition: all 200ms cubic-bezier(0.4, 0.1, 0.5, 0.85);\n$errorColor: #BE5ABF;\n\n.content .edit-template {\n padding-bottom: 2rem;\n\n .toolbar {\n justify-content: unset;\n \n > div {\n width: 14.3%;\n display: flex;\n align-items: center;\n }\n \n div.error,\n div.success {\n width: fit-content !important;\n \n span {\n font-weight: bold;\n font-size: 14px;\n \n svg {\n font-size: 13px;\n margin-right: 10px;\n }\n }\n \n span.error-message {\n color: $errorColor;\n \n svg {\n margin-right: 7px;\n font-size: 13px;\n color: $errorColor;\n }\n }\n \n span.ok-message {\n color: $primary;\n \n svg {\n color: $primary;\n }\n }\n }\n \n .search-toolbar-name {\n width: auto !important;\n padding: 10px 0;\n margin-left: 0;\n margin-right: 10px;\n }\n }\n}\n\n.hide {\n display: none;\n}\n\n.show {\n display: flex;\n}\n\n.edit-item,\n.login-layout {\n display: flex;\n font-size: 15px;\n margin-top: 3rem;\n margin-bottom: 1rem;\n\n .l-col {\n margin-right: 1.75%;\n }\n\n form {\n button,\n a {\n color:$primary;\n font-weight: bold;\n \n &:hover {\n color: $secondaryLight;\n }\n \n &:active {\n color: $secondaryActive;\n }\n }\n\n button.optional {\n &:hover {\n color: $optionalButtonHover;\n }\n\n &:active {\n color: $optionalButtonActive;\n }\n }\n\n button.delete {\n &:hover {\n color: $deleteButtonColorHover;\n }\n\n &:active {\n color: $deleteButtonColorActive;\n }\n }\n\n .form-group {\n input[type=text],\n input[type=password],\n input[type=email],\n textarea,\n select {\n width: 50%;\n }\n }\n\n @media screen and (max-width: 900px) {\n .form-group {\n input[type=text],\n input[type=password],\n input[type=email],\n textarea,\n select {\n width: 100%;\n }\n }\n }\n\n width: 100%;\n\n .form-group select,\n .form-group textarea {\n border-radius: 0;\n\n &:hover {\n border-color: #909090;\n }\n\n &:focus,\n &:active {\n outline: none;\n border-color: $primaryActive;\n box-shadow: unset;\n }\n }\n\n input:-webkit-autofill,\n input:-webkit-autofill:hover,\n input:-webkit-autofill:focus,\n input:-webkit-autofill:active {\n background: $primaryLight;\n border-color: $primaryActive;\n filter: none;\n box-shadow: none;\n }\n\n input:autofill,\n input:autofill:hover,\n input:autofill:focus,\n input:autofill:active {\n background: $primaryLight;\n border-color: $primaryActive;\n filter: none;\n box-shadow: none;\n }\n\n button {\n background: unset;\n border: none;\n box-shadow: unset;\n \n &:focus,\n &:active {\n outline: none;\n }\n }\n \n input {\n height: calc(1.5em + 0.75rem + 6px);\n border-radius: 0;\n\n &:hover {\n border-color: #909090;\n }\n\n &:focus,\n &:active {\n box-shadow: unset;\n border-color: $primaryActive;\n background: #d7dcef9e;\n }\n }\n \n label {\n color: $textColor;\n font-weight: bold;\n }\n \n label.label-wrapper {\n display: flex;\n align-items: flex-end;\n width: fit-content;\n\n span {\n font-weight: normal;\n text-transform: uppercase;\n margin-left: 5px;\n font-size: 12px;\n }\n }\n\n .checkbox-wrapper {\n display: flex;\n align-items: center;\n\n label {\n margin: 0 12px;\n }\n }\n\n input {\n color: $textColor;\n }\n\n .buttons-wrapper {\n margin-top: 2.5rem;\n\n button {\n font-weight: bold;\n font-size: 13px;\n margin-right: 10px;\n padding: .35rem 2.25rem;\n border-radius: 4px;\n transition: $transition;\n }\n\n .add {\n color: $activeButtonText;\n background: $primary;\n\n &:hover {\n color: $hoverButtonText;\n background: $primaryLight;\n }\n \n &:active {\n color: $activeButtonText;\n background: $primaryActive;\n }\n }\n\n .back {\n color: #777;\n background: $backButtonBackground;\n\n &:hover {\n color: white;\n background: $backButtonBackgroundHover;\n }\n }\n }\n }\n\n .l-col {\n padding: 20px 0 0;\n\n .date,\n .time {\n margin: 10px 0 0;\n color: #777;\n font-size: 12px;\n letter-spacing: 1px;\n }\n\n .time {\n margin: 6px 0 10px;\n }\n\n .status {\n color: $primary;\n font-size: 11px;\n letter-spacing: 1px;\n text-transform: uppercase;\n font-weight: bold;\n }\n }\n}\n\n@media screen and (max-width: 1066px) {\n .form-group {\n input[type=text],\n input[type=password],\n input[type=email],\n textarea,\n select {\n width: 75%;\n }\n }\n}\n","@import 'src/utils/scss/variables';\n\n.toolbar {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n background: white;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n z-index: 1;\n padding: 3px 13% 1px;\n border-top: 1px solid #e0e0e0;\n border-bottom: 1px solid #e0e0e0;\n\n .r-menu {\n display: flex;\n align-items: center;\n\n > div {\n display: flex;\n flex-wrap: unset;\n width: 100%;\n align-items: center;\n justify-content: flex-end;\n }\n\n a.button-extra,\n button.button-extra {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 100%;\n justify-content: flex-start;\n padding: 5px 10px;\n background: none;\n border: none;\n text-decoration: none;\n color: rgb(129, 125, 125);\n font-size: 14px;\n display: flex;\n align-items: center;\n margin-right: 10px;\n border-radius: 3px;\n\n &:hover {\n background: $primaryLight;\n color: $hoverButtonText;\n }\n\n &:active {\n background: $primaryActive;\n color: $activeButtonText;\n }\n }\n \n .input-group .input-group-prepend {\n height: 30px;\n margin-right: 15px;\n\n div, span {\n padding-left: 0;\n background: none;\n border: none;\n }\n\n label {\n margin-bottom: 0;\n }\n }\n\n #inputGroupSelect04 {\n height: 30px;\n padding-top: 2px;\n outline: none;\n\n &:focus {\n outline: none;\n box-shadow: none;\n }\n }\n\n select + div {\n &:focus {\n outline: none;\n }\n\n &:hover {\n background: #b3b8bd;\n }\n \n button {\n border-color: #ced4da;\n }\n }\n\n .input-group-append {\n height: 30px;\n\n button {\n padding-top: 3px;\n }\n }\n\n .btn:focus, button:focus, .button:focus {\n outline: none;\n box-shadow: none;\n border-color: none;\n }\n\n .btn.btn-sm {\n height: 30px;\n margin-left: 15px;\n\n &:hover {\n color: #212529;\n background-color: white;\n border-color: none ;\n }\n\n &:active {\n background: white;\n }\n \n div {\n padding-top: 3px;\n }\n }\n\n .btn-group.show .btn-outline-secondary {\n background-color: white;\n color: #212529;\n\n &:hover {\n background-color: white;\n }\n }\n }\n}\n\n.toolbar.justify-right {\n justify-content: flex-end;\n\n .r-menu > div > * {\n margin: 0 10px;\n }\n}\n\n.toolbar.t-shadow {\n box-shadow: rgba(200, 200, 200, 0.5) 0px 5px 3px 0px;\n}\n\n@media (max-width: 1350px) {\n .toolbar {\n padding: 3px 10% 1px;\n }\n}\n\n@media (max-width: 1250px) {\n .toolbar {\n .r-menu {\n a.button-extra,\n button.button-extra {\n max-width: 30%;\n }\n }\n }\n}\n\n@media (max-width: 900px) {\n .toolbar {\n .r-menu {\n overflow: scroll;\n\n a.button-extra,\n button.button-extra {\n overflow: unset;\n max-width: 100%;\n }\n\n > div {\n margin-left: 3rem;\n position: relative;\n display: flex;\n flex-wrap: unset;\n width: 100%;\n align-items: center;\n justify-content: flex-start;\n }\n\n .select-wrapper + div {\n display: none;\n }\n }\n }\n}\n\n@media (max-width: 450px) {\n .toolbar {\n padding: 3px 1% 1px;\n }\n}\n\n@media (max-width: 450px) {\n .mobile-toolbar .toolbar {\n display: flex;\n flex-direction: column-reverse;\n padding-bottom: 5px;\n height: 100%;\n \n .r-menu {\n height: 50%;\n margin-top: 15px;\n\n .input-group {\n > div:nth-child(1) {\n width: 100%;\n display: flex;\n justify-content: center;\n margin: 15px 0;\n }\n\n select {\n margin-left: 100px;\n }\n\n select + div {\n margin-right: 85px;\n }\n\n > .btn-group {\n width: 60%;\n margin-left: 75px;\n margin-top: 15px;\n }\n }\n }\n\n .l-menu {\n display: flex;\n flex-direction: column-reverse;\n justify-content: flex-end;\n align-items: center;\n transform: none;\n height: 50%;\n margin-top: 40px;\n\n button {\n width: 30px;\n height: 30px;\n\n svg {\n width: 17px;\n height: 30px;\n }\n }\n }\n }\n}",".edit-ip {\n form {\n .dedicated-form-group {\n transform: translateX(3rem);\n margin-bottom: 2rem;\n }\n }\n}","div.edit-item {\n form {\n label.label-wrapper {\n align-items: center;\n\n span {\n text-transform: lowercase;\n }\n }\n\n div.assigned-user {\n padding-left: 25px;\n\n select {\n width: 48.4%;\n }\n }\n }\n}","$secondaryLight: #f8b014;\n\n.content .edit-template.edit-nginx {\n .toolbar {\n .search-toolbar-name {\n width: fit-content;\n }\n\n .link {\n width: fit-content;\n margin-left: 15px;\n\n a {\n text-decoration: none;\n font-size: 12px;\n text-transform: uppercase;\n color: rgb(119, 119, 119);\n font-weight: 700;\n\n &:hover {\n color: $secondaryLight;\n }\n }\n }\n }\n\n textarea {\n width: 75%;\n }\n\n .checkbox-wrapper label {\n text-transform: capitalize;\n }\n\n svg {\n margin-left: 5px;\n }\n}",".content .edit-template.edit-pgsql {\n .toolbar {\n .search-toolbar-name {\n width: fit-content;\n }\n }\n\n textarea {\n width: 75%;\n }\n\n .checkbox-wrapper label {\n text-transform: capitalize;\n }\n}",".statistic-item {\n display: flex;\n flex: 1 1 auto;\n padding: 25px 0;\n border-bottom: 1px solid #eee;\n\n .l-col {\n padding-left: 0;\n flex-basis: 14.3%;\n }\n\n .r-col {\n flex-basis: 85.7%;\n\n .stats {\n align-items: center;\n\n .name {\n font-size: 24px;\n color: #111;\n }\n\n .exclusion-items {\n flex-basis: 83.4%;\n }\n\n > div {\n flex: unset;\n flex-basis: 16.6%;\n }\n }\n }\n}\n",".btn-group button {\n border: 0;\n\n > span {\n display: inline-block;\n vertical-align: bottom;\n margin-left: 5px;\n height: 100%;\n width: auto;\n }\n\n &::after {\n display: none;\n }\n}\n\n.dropdown-menu {\n padding: 0;\n border-radius: 0;\n font-size: 13px;\n width: 200px;\n\n ul {\n padding: 0;\n margin: 0;\n display: inline-block;\n list-style: none;\n height: auto;\n width: 100%;\n color: #333;\n\n li {\n display: flex;\n width: 100%;\n height: 37.5px;\n border-top: 1px solid #dbdbdb;\n\n .arrow-down {\n float: right;\n }\n\n .dropdown-item {\n &:hover {\n background: #bdbdbd;\n }\n }\n\n > span:nth-child(1) {\n width: 75%;\n padding: 0 5px;\n }\n\n > span:nth-child(2) {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 25%;\n }\n\n span {\n padding: 0 5px 0 10px;\n line-height: 38px;\n }\n\n span.active{\n background: #ffc900;\n }\n\n span + span {\n text-align: center;\n }\n }\n\n li:nth-child(1) {\n border-width: 0 0 1px 0;\n }\n }\n}",".search-input-form {\n display: flex;\n width: 180px;\n\n input {\n height: 30px;\n margin-left: 10px;\n border-radius: 0;\n }\n\n button {\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 0;\n border: 1px groove #ffffff;\n height: 30px;\n }\n}","@import 'src/utils/scss/variables';\n\n.list-item {\n display: flex;\n justify-content: flex-start;\n align-items: flex-start;\n padding-left: 15px;\n font-size: 18px;\n position: relative;\n padding: 25px 0;\n border-left: 2px solid white;\n border-bottom: 1px solid #ddd;\n color: rgb(104, 104, 104);\n\n &:hover .l-col div.star div svg,\n &:hover .actions {\n opacity: 1;\n }\n\n .l-col {\n .suspended {\n letter-spacing: 3px;\n }\n \n .text-status {\n font-size: 10px;\n }\n\n div.star {\n display: flex;\n align-items: center;\n \n div.checkbox {\n margin: 0 25% 4px 0;\n }\n }\n }\n\n .r-col {\n .stats {\n div > span {\n width: 50%;\n text-align: left;\n }\n \n .c-2 div > span {\n width: 50%;\n }\n }\n\n div.bandwidth span,\n div.disk span {\n width: auto;\n }\n }\n\n .date {\n font-size: 13px;\n margin: 20px 0 10px;\n }\n}\n\n.list-item.toggled {\n background: #feef9a;\n}\n\n.list-item.starred {\n border-left: 2px solid $primary;\n\n .l-col div.star {\n div > svg {\n opacity: 1;\n color: $primary;\n }\n }\n}\n\n.list-item.suspended {\n background: #eaeaea;\n color: #c0c0c0;\n\n .r-col div, .r-col span {\n color: #c0c0c0 !important;\n }\n}\n\n.list-item.suspended.toggled {\n background: #f2eab8;\n color: #b2ac87;\n\n .l-col,\n .r-col .name,\n .r-col .stats {\n color: #b2ac87 !important;\n }\n}\n\n.list-item.outdated {\n background: #ffcaca;\n border-left: 5px solid #ff6f6f;\n}\n\n.list-item.toggled.outdated {\n background: #755d5d;\n color: black;\n\n .stat {\n color: black;\n }\n}\n\n.list-item.stopped {\n background: #eaeaea;\n}\n\n.list-item.focused {\n border-left: 2px solid $secondaryLight;\n\n .l-col div.star {\n div > svg {\n color: $secondaryLight;\n }\n }\n\n .actions {\n opacity: 1;\n\n div > a,\n div > button {\n padding-top: 6.5px;\n padding-bottom: 6.5px;\n\n .shortcut-button {\n border-radius: 50%;\n width: 25px;\n height: 25px;\n margin-left: 15px;\n background: $secondaryLight;\n color: white;\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 14px;\n }\n\n .shortcut-button.html-unicode {\n align-items: flex-end;\n }\n\n .shortcut-button.del {\n text-transform: capitalize;\n font-size: 10px;\n }\n }\n }\n}",".internetProtocols {\n .ip-wrapper {\n .name svg {\n margin: 0 10px;\n font-size: 20px;\n }\n }\n}\n","@import 'src/utils/scss/variables';\n\n.l-menu {\n transform: translate(35px, 50%);\n\n a, button {\n display: flex;\n justify-content: center;\n align-items: center;\n background: $primary;\n border-radius: 100%;\n color: white;\n width: 45px;\n height: 43px;\n outline: none;\n border: none;\n text-decoration: none;\n\n &:hover {\n background: $primaryLight;\n\n span.add {\n display: block;\n color: $hoverButtonText;\n background: $primaryLight;\n }\n\n svg {\n color: $hoverButtonText;\n }\n }\n\n @media screen and (max-width: 900px) {\n span.add {\n display: none !important;\n }\n }\n\n &:active {\n background: $primary;\n\n span.add {\n display: block;\n color: $activeButtonText;\n background: $primary;\n }\n\n svg {\n color: $activeButtonText;\n }\n }\n\n span.add {\n width: max-content;\n display: none;\n padding: 4px 10px 4px 25px;\n background: $primary;\n border-radius: 15px;\n color: white;\n font-size: 15px;\n position: absolute;\n left: 25px;\n z-index: -1;\n text-align: right;\n }\n\n svg {\n width: 31px;\n height: 21px;\n }\n }\n\n @media screen and (max-width: 900px) {\n transform: unset;\n }\n}\n\n.l-menu.none {\n display: none;\n}\n\n.servers-list,\n.exclusions-list {\n .l-menu {\n &.backup-details-icon {\n transform: translateX(2px);\n }\n }\n}\n","$whiteBackground: #ececec;\n$primary: #2c54ac;\n$primaryLight: #d7dcef;\n$primaryActive: #1e5cb2;\n$secondary: #fcac04;\n$secondaryLight: #f8b014;\n$secondaryActive: #fdb51c;\n$hoverButtonText: #2c54ac;\n$activeButtonText: #fff;\n$textColor: #555;\n$danger: #b00e5b;\n$black: #000;\n$white: #fff;\n","input {\n border-radius: 0;\n}",".select-wrapper {\n display: flex;\n\n select {\n width: auto;\n }\n\n select, button {\n border-radius: 0;\n }\n}",".edit-web {\n .additional-ftp {\n .title .indexed-name {\n font-weight: bold;\n }\n }\n}",".additional-ftp {\n .title {\n span:nth-child(1) {\n color: #555;\n font-size: 15px;\n font-weight: bold;\n }\n }\n\n .form-transform {\n margin-top: 15px;\n transform: translateX(3rem);\n\n .form-group.username {\n display: flex;\n flex-direction: column;\n \n label {\n margin: 0;\n }\n \n span {\n font-size: 10pt;\n color: #777;\n font-weight: bold;\n margin-bottom: 10px;\n }\n\n .input-wrapper {\n display: flex;\n align-items: center;\n\n span {\n color: #777;\n font-size: 15px;\n font-style: italic;\n font-weight: normal;\n margin-left: 15px;\n }\n }\n }\n }\n\n .path-note {\n font-weight: bold;\n color: #555;\n }\n}","@import 'src/utils/scss/variables';\n\n.edit-web {\n .ssl-support {\n .additional-info {\n display: flex;\n flex-direction: column;\n\n span {\n &:nth-child(1) {\n width: 120px;\n display: inline-block;\n }\n\n &:nth-child(2) {\n width: fit-content;\n }\n }\n }\n\n a.generate-csr {\n text-transform: initial;\n text-decoration: none;\n color: $primary;\n font-weight: bold;\n\n &:hover {\n color: $secondaryLight;\n }\n }\n }\n}",".edit-item form {\n div.name-server-input-wrapper {\n display: flex;\n align-items: center;\n margin: 10px 0;\n\n button {\n margin-left: 10px;\n }\n}\n\n.exp-date .optional {\n font-size: 12px;\n padding: 0 0 0 6px;\n font-weight: normal;\n}\n}",".add-web {\n form {\n .form-group {\n .checkbox-wrapper {\n display: flex;\n align-items: center;\n\n label {\n margin: 0 10px;\n };\n }\n }\n\n .advanced-options-button {\n button {\n display: flex;\n align-items: center; \n padding: 0; \n\n svg {\n margin-left: 10px;\n }\n }\n }\n }\n\n #c-panel-modal {\n padding: 2rem;\n\n form .form-group input[type=\"text\"] {\n width: 90% !important;\n }\n\n label {\n color: white;\n }\n\n .form-group {\n padding-left: 1.5rem;\n\n textarea {\n width: 90% !important;\n }\n }\n\n .l-col {\n display: none;\n }\n }\n}",".form-group.text-on-the-right {\n .input-wrapper {\n display: flex;\n align-items: center;\n\n span {\n margin-left: 15px;\n color: #777;\n }\n }\n}",".input-wrapper {\n display: flex;\n align-items: center;\n\n span.italic {\n margin-left: 15px;\n color: #777;\n }\n}",".edit-firewall {\n form {\n .form-group {\n .label-wrapper {\n span {\n text-transform: initial;\n }\n }\n }\n }\n}","$secondary: #fcac04;\n\n.hotkeys-list {\n position: fixed;\n bottom: 0;\n right: 0;\n display: flex;\n flex-direction: column;\n transform: translateX(-45%);\n width: 53%;\n background: #222e44de;\n font-size: 13px;\n\n .head {\n display: flex;\n justify-content: space-between;\n align-items: center;\n border-bottom: 1px solid $secondary;\n\n .name {\n text-transform: uppercase;\n padding: 5px 0 5px 10px;\n font-size: 12px;\n font-weight: bold;\n color: $secondary;\n letter-spacing: 2px;\n padding: 15px;\n }\n\n .close {\n padding: 12px;\n opacity: 1 !important;\n\n svg {\n color: $secondary;\n }\n\n &:hover {\n cursor: pointer;\n background: #222e44;\n }\n }\n }\n\n .body {\n display: flex;\n\n ul {\n padding: 25px 10px;\n margin: 0;\n width: 50%;\n list-style: none;\n margin-left: 3rem;\n\n li {\n padding: 5px;\n\n span.name {\n margin-right: 15px;\n color: $secondary;\n font-weight: bold;\n }\n \n span.description {\n color: white;\n }\n }\n\n li.space-top {\n padding-top: 30px;\n }\n }\n }\n}\n\n.hide {\n display: none;\n}",".edit-template.add-db {\n form {\n span.italic {\n font-style: italic;\n }\n\n .form-group {\n .label-wrapper {\n display: flex;\n\n span.italic {\n margin-left: 1.5rem;\n color: #555;\n }\n }\n\n .input-wrapper {\n display: flex;\n align-items: center;\n\n span.italic {\n font-size: 15px;\n font-weight: bold;\n margin-left: 1.5rem;\n color: #777;\n }\n }\n\n .input-wrapper {\n span.italic {\n font-weight: normal;\n }\n }\n }\n\n .form-group.database {\n margin-top: 1rem;\n }\n\n span.prefix {\n color: #777;\n font-style: italic;\n }\n }\n}",".content .edit-template.add-firewall {\n .toolbar .search-toolbar-name {\n width: fit-content;\n }\n\n label.label-wrapper[for=ip] span {\n text-transform: unset !important;\n }\n}",".cron-form-body {\n .third-tab-selects,\n .fourth-tab-selects {\n display: flex; \n\n div.hour {\n select {\n width: 70px;\n margin-left: 4.8rem;\n }\n }\n\n div.minute {\n label {\n margin: 0;\n }\n\n select {\n margin: 0;\n }\n }\n }\n\n .fifth-tab-selects {\n display: flex;\n\n > div {\n width: 10%;\n\n select {\n width: 70px;\n }\n }\n\n > div.date {\n margin: 0 0 1rem 0;\n }\n\n > div.minute {\n width: 200px;\n }\n\n > div.hour {\n width: 155px;\n margin-left: 1rem;\n\n select {\n margin-left: .75rem;\n }\n }\n\n > div.date {\n width: 240px;\n\n select {\n margin-left: 5.85rem;\n }\n }\n }\n}","@import 'src/utils/scss/variables';\n\n.cron-job-generator {\n border: 1px solid #d9d9d9;\n padding: 1rem 1.5rem;\n margin-left: 2rem;\n width: 90%;\n\n .header {\n display: flex;\n padding: .4rem 0;\n\n a {\n color: #222222;\n text-transform: uppercase;\n font-size: 11px;\n font-weight: bolder;\n margin-right: 2.3rem;\n text-decoration: none;\n\n &:hover {\n color: $secondaryLight;\n }\n\n &:active {\n color: $primaryActive;\n }\n }\n\n a.active {\n color: $secondaryActive;\n }\n }\n\n .body {\n padding: 2rem 0 .4rem;\n\n form {\n\n .form-group {\n display: flex;\n align-items: center;\n\n label {\n width: 26%;\n font-size: 13px;\n margin: 0;\n }\n\n input {\n width: auto;\n }\n }\n\n .form-group.minute select {\n width: 70px;\n }\n\n .form-group select,\n .form-group textarea {\n border-radius: 0;\n \n &:hover {\n border-color: #909090;\n }\n \n &:focus,\n &:active {\n outline: none;\n border-color: $primaryActive;\n box-shadow: unset;\n }\n }\n\n .form-group select {\n padding: .4rem .25rem;\n border-color: #d9d9d9;\n color: #555;\n }\n\n .form-actions { \n button {\n background: $primary;\n color: white;\n border-radius: 3px;\n padding: .35rem 1.1rem;\n font-size: 14px;\n \n &:hover {\n color: $hoverButtonText;\n background: $primaryLight;\n }\n \n &:active {\n color: $activeButtonText;\n background: $primaryActive;\n }\n }\n }\n\n .form-group.show {\n display: block;\n }\n \n .form-group.hide {\n display: none;\n }\n }\n }\n}",".edit-cron {\n form {\n .form-group {\n width: 100%;\n \n input {\n width: inherit;\n }\n }\n \n .form-group.command {\n width: 100%;\n }\n \n .cron-form-body {\n display: flex;\n \n .body-col-1 {\n width: 30%;\n\n input {\n width: 100%;\n }\n }\n \n .body-col-2 {\n display: flex;\n justify-content: flex-start;\n align-items: flex-start;\n padding: 1.7rem 1rem;\n width: 70%;\n }\n }\n }\n}\n\n#edit-cron > .form-group input {\n width: 95% !important;\n}",".edit-package {\n form {\n .form-group {\n .input-wrapper {\n display: flex;\n align-items: center;\n\n button {\n transform: translateX(5px);\n }\n }\n }\n }\n}","$secondary: #fcac04;\n$secondaryLight: #f8b014;\n\n.content .edit-template.edit-httpd {\n .toolbar {\n .search-toolbar-name {\n width: fit-content;\n\n a {\n color: $secondary;\n text-decoration: none;\n\n &:hover {\n color: rgb(119, 119, 119);\n }\n }\n }\n\n .link {\n width: fit-content;\n margin-left: 15px;\n\n a {\n text-decoration: none;\n font-size: 12px;\n text-transform: uppercase;\n color: rgb(119, 119, 119);\n font-weight: 700;\n\n &:hover {\n color: $secondaryLight;\n }\n }\n }\n }\n\n textarea {\n width: 75%;\n }\n\n .checkbox-wrapper label {\n text-transform: capitalize;\n }\n\n svg {\n margin-left: 5px;\n }\n}",".edit-template.add-cron {\n form {\n .form-group {\n width: 100%;\n\n input {\n width: inherit;\n }\n }\n\n .form-group.command {\n width: 100%;\n }\n\n .cron-form-body {\n display: flex;\n\n .body-col-1 {\n width: 30%;\n }\n\n .body-col-2 {\n display: flex;\n justify-content: flex-start;\n align-items: flex-start;\n padding: 1.7rem 1rem;\n width: 70%;\n }\n }\n }\n}",".edit-template.add-package {\n form {\n label.label-wrapper {\n display: flex;\n align-items: flex-end;\n width: fit-content;\n\n span {\n font-weight: normal;\n text-transform: uppercase;\n margin-left: 5px;\n font-size: 12px;\n }\n\n span.lowercase {\n text-transform: lowercase;\n }\n }\n\n .input-wrapper {\n display: flex;\n align-items: center;\n\n svg {\n cursor: pointer;\n color: #bec4ca;\n margin-left: 10px;\n\n &:hover {\n color: #abb1b6;\n }\n }\n }\n }\n}","@import 'src/utils/scss/variables';\n\n.edit-server {\n .modules {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n\n > div {\n display: flex;\n align-items: center;\n width: 100%;\n margin: 5px 0;\n }\n\n > button {\n margin: 15px 0;\n\n svg {\n margin-left: 10px;\n }\n }\n\n .form-group {\n a {\n text-decoration: none;\n color: $primary;\n font-weight: bold;\n font-size: 14px;\n\n &:hover {\n color: $primaryLight;\n }\n }\n }\n\n .additional-info {\n margin-top: 10px;\n transform: translateX(3rem);\n\n > div {\n display: flex;\n margin: 5px 0;\n\n span {\n font-size: 12px;\n color: #555;\n }\n\n span:nth-child(1) {\n width: 180px;\n }\n }\n }\n\n .server-web-option,\n .server-dns-option,\n .server-ssl-option,\n .server-mail-option {\n transform: translateX(3rem);\n }\n\n .server-mail-option {\n transform: translateX(3rem);\n\n .mail-cert-info {\n transform: translateX(3rem);\n }\n }\n\n .server-mail-option {\n .hosts {\n transform: translateX(3rem);\n }\n }\n\n .server-ssl-option {\n transform: translateX(3rem);\n\n .domain-group {\n transform: translateX(3rem);\n }\n }\n\n .server-plugins-option {\n transform: translateX(3rem);\n\n .sftp-module,\n .soft-module,\n .fm-module {\n transform: translateX(3rem);\n }\n\n .sftp-module,\n .fm-module {\n font-size: 15px;\n color: $textColor;\n }\n\n .buy-license {\n display: flex;\n margin: 5px 0;\n\n a {\n color: #FFF;\n background: $primary;\n border: none;\n border-radius: 3px;\n font-size: 13px;\n font-weight: bold;\n padding: 7px 15px;\n text-transform: capitalize;\n text-decoration: none;\n width: fit-content;\n margin-right: 10px;\n\n &:hover {\n color: $hoverButtonText;\n background: $primaryLight;\n }\n\n &:hover {\n color: $activeButtonText;\n background: $primaryActive;\n }\n }\n\n + span {\n display: block;\n margin-top: 15px;\n font-style: italic;\n font-size: 12px;\n }\n }\n\n .license-description {\n display: flex;\n align-items: center;\n margin: 1rem 0;\n\n > span {\n color: $primary;\n }\n\n .form-group {\n margin: 0 0 0 20px;\n width: 60%;\n\n label {\n display: none;\n }\n }\n }\n }\n }\n}","@import 'src/utils/scss/variables';\n\n.mail-info-block {\n .select-group {\n select {\n margin-bottom: 10px;\n margin-top: 5px;\n padding: 0;\n border: none;\n color: $primary;\n text-transform: uppercase;\n font-size: 11px;\n font-weight: bold;\n cursor: pointer;\n }\n\n .details {\n font-size: 14px;\n color: #777;\n\n > div {\n display: flex;\n\n span:nth-child(1) {\n width: 50%;\n }\n }\n }\n }\n}",".content .edit-template.edit-service {\n .toolbar {\n .search-toolbar-name {\n width: fit-content;\n }\n }\n\n textarea {\n width: 75%;\n }\n\n .checkbox-wrapper label {\n text-transform: capitalize;\n }\n}",".content .edit-template.add-mail-account {\n .search-toolbar-name {\n width: fit-content;\n }\n\n form {\n .r-1 {\n display: flex;\n\n .c-1 {\n width: 55%;\n\n .form-group {\n > * {\n width: 85%;\n }\n\n .password-wrapper {\n input {\n width: 100%;\n }\n }\n }\n\n .form-group:nth-child(3) {\n > div {\n display: flex;\n\n input {\n width: 100%;\n }\n\n input + button {\n padding-left: 10px;\n }\n }\n }\n }\n\n .c-2 {\n width: 45%;\n height: 100%;\n border: 1px solid #d9d9d9;\n padding: 0px 5px 12px 20px;\n }\n }\n\n .r-2 {\n > button {\n padding-left: 0;\n margin-bottom: 1.5rem;\n\n svg {\n margin-left: .75rem;\n }\n }\n\n .form-group .input-wrapper {\n display: flex;\n }\n }\n }\n}",".edit-dns {\n .label-wrapper {\n span {\n text-transform: uppercase !important;\n }\n }\n}",".edit-web {\n .web-stat-additional {\n transform: translateX(3rem);\n }\n\n #c-panel-modal {\n padding: 2rem;\n\n form .form-group input[type=\"text\"] {\n width: 90% !important;\n }\n\n label {\n color: white;\n }\n\n .form-group {\n padding-left: 1.5rem;\n\n textarea {\n width: 90% !important;\n }\n }\n\n .l-col {\n display: none;\n }\n }\n}","$secondary: #fcac04;\n$secondaryLight: #f8b014;\n$textColor: #555;\n\n.content .edit-template.edit-php {\n .toolbar {\n .search-toolbar-name {\n width: fit-content;\n color: $textColor;\n }\n \n .search-toolbar-name,\n .link {\n width: fit-content;\n\n a {\n text-decoration: none;\n font-size: 12px;\n text-transform: uppercase;\n color: $textColor;\n font-weight: 700;\n\n &:hover {\n color: $secondaryLight;\n }\n }\n }\n\n .link {\n margin-left: 15px;\n\n a {\n color: $secondary;\n\n &:hover {\n color: $textColor;\n }\n }\n }\n }\n\n textarea {\n width: 75%;\n }\n\n .checkbox-wrapper label {\n text-transform: capitalize;\n }\n\n svg {\n margin-left: 5px;\n }\n}",".r-menu {\n > div {\n > button {\n font-size: 13px;\n background: white;\n border-color: white;\n color: gray;\n\n &:hover {\n background: white;\n border-color: white;\n color: gray;\n }\n }\n }\n}",".firewalls .list-item {\n .l-col .date {\n display: none;\n }\n\n .r-col .stats {\n margin-top: 15px;\n\n .cron-col {\n div span {\n font-weight: unset;\n font-size: 13px;\n }\n\n div span.stat {\n font-weight: bold;\n }\n }\n }\n}",".firewalls-wrapper .r-col .stats > div {\n flex: none;\n width: 17%;\n}",".content .edit-template.edit-bind9 {\n .toolbar {\n .search-toolbar-name {\n width: fit-content;\n }\n }\n\n textarea {\n width: 75%;\n }\n\n .checkbox-wrapper label {\n text-transform: capitalize;\n }\n}",".content .edit-template.edit-mysql {\n .toolbar {\n .search-toolbar-name {\n width: fit-content;\n }\n }\n\n textarea {\n width: 75%;\n }\n\n .checkbox-wrapper label {\n text-transform: capitalize;\n }\n\n svg {\n margin-left: 5px;\n }\n}",".add-dns form .advanced-options-button {\n svg {\n margin-left: 5px;\n }\n}","@import 'src/utils/scss/variables';\n\n.backups-restore-settings {\n .list-item {\n .r-col {\n .stats {\n .c-1 {\n margin: 12px 0 0;\n }\n }\n }\n\n .actions {\n > div {\n font-weight: bolder;\n text-transform: uppercase;\n height: 38px;\n \n a, button {\n display: flex;\n justify-content: center;\n align-items: center;\n color: $textColor;\n padding: 10px 15px;\n text-decoration: none;\n \n &:hover {\n background: $whiteBackground;\n color: white;\n \n svg {\n color: white;\n }\n }\n }\n \n svg {\n color: $textColor;\n }\n }\n\n .link-restore {\n svg {\n color: white;\n }\n\n &:hover {\n color: $hoverButtonText;\n background-color: $primaryLight;\n }\n \n &:hover {\n color: $activeButtonText;\n background-color: $primaryActive;\n }\n }\n }\n }\n}\n",".backups-restore-settings {\n .toolbar {\n .backup-details-icon {\n svg {\n transform: translateX(2px);\n }\n }\n }\n\n .mail-accounts-wrapper {\n .list-item {\n .l-col {\n .star {\n .checkbox + div {\n display: none;\n }\n }\n }\n }\n }\n}\n",".backups-wrapper .list-item .c-1 div > span {\n padding-left: 15px;\n}\n\n.backups-restore-details .list-item .star {\n display: none;\n}",".cron-jobs-list.r-col .name {\n font-size: 25px;\n}\n\n.cron-col > div {\n display: flex;\n flex-direction: column;\n\n span {\n font-size: 18px;\n font-weight: bolder;\n }\n}","@import 'src/utils/scss/variables';\n\n.r-menu {\n > div {\n > button {\n font-size: 13px;\n background: white;\n border-color: white;\n color: $textColor;\n\n &:hover {\n background: white;\n border-color: white;\n color: $textColor;\n }\n }\n }\n}\n\n.cron-wrapper {\n .r-col .stats > div {\n flex: none;\n width: 17%;\n }\n\n .actions {\n > div:nth-child(1) a:hover,\n > div:nth-child(1) button:hover {\n background: $primaryLight;\n }\n\n > div:nth-child(2) a:hover,\n > div:nth-child(2) button:hover {\n background: #ff3438;\n }\n }\n}",".packages {\n .r-col {\n .stats {\n .c-2 {\n padding-left: 2rem;\n\n div > span {\n width: 50%;\n }\n }\n\n .c-3 {\n margin-left: 0;\n\n div.ns {\n margin-top: 5px;\n }\n }\n }\n }\n}",".packages-wrapper {\n .r-col .stats {\n .c-1 .stat {\n margin-left: 1rem;\n }\n\n .c-2 {\n padding: 0;\n }\n }\n}","@import 'src/utils/scss/variables';\n\n.password-wrapper {\n display: flex;\n\n button {\n color: $primary;\n\n &:hover {\n color: $secondaryLight;\n }\n }\n\n span.eye {\n margin-left: 9px;\n }\n\n span.eye-slash {\n margin-left: 7px;\n }\n}\n\nbutton.generate-password {\n color:$primary;\n font-weight: bold;\n\n &:hover {\n color: $secondaryLight;\n }\n\n &:active {\n color: $secondaryActive;\n }\n}\n\ninput {\n color: $textColor;\n}\n\nlabel[for=email] {\n width: 100%;\n display: flex;\n align-items: center;\n\n > div {\n display: flex;\n align-items: center;\n\n input {\n height: fit-content;\n margin: 0 10px;\n }\n\n label {\n margin: 0;\n font-size: 12px;\n }\n }\n}",".statistics-list.updates {\n .text-status {\n display: flex;\n margin-top: 20px;\n\n > div.checkbox {\n margin-bottom: 0;\n margin-right: 10px;\n }\n }\n\n .list-item .star {\n display: none;\n }\n\n .r-col .c-1 {\n margin-right: 10px;\n }\n}",".statistics-list.updates .toolbar {\n height: 44px;\n}",".servers-list {\n .servers-wrapper .list-item.sys-info {\n .r-col {\n padding: 0;\n\n .name {\n font-size: 35px;\n }\n\n .c-2 span > span.stat {\n margin-left: 10px;\n }\n\n .c-3 {\n padding-right: 0;\n\n > div > span {\n width: 100%;\n }\n }\n }\n }\n\n .actions a.link-gray.restart svg,\n .actions button.link-gray.restart svg {\n width: 1rem;\n height: 1rem;\n }\n}",".servers-list .list-item .star {\n display: none;\n}\n\n.servers-list .r-col .stats .c-2 {\n padding: 0;\n}\n\n.servers-wrapper .list-item .r-col .stats .c-3 {\n padding: 0;\n\n span.stat {\n margin-left: 0;\n }\n}\n\n.servers-wrapper .r-col {\n padding-left: 2rem;\n\n .server-name {\n color: black;\n font-size: 28px;\n }\n}\n\n.servers-wrapper .list-item .r-col {\n .c-3 > div > span {\n transform: translateX(-10px);\n }\n\n .stats div>span {\n width: 100%;\n }\n}",".servers-list .l-col {\n .text-status {\n display: block;\n }\n\n div.star {\n display: none;\n }\n\n .servers-wrapper {\n .list-item:first-child {\n margin-top: 0;\n }\n\n .l-col {\n width: 16.3%;\n\n .server-name {\n font-size: 28px;\n }\n }\n }\n}","@import 'src/utils/scss/variables';\n@import 'src/utils/scss/breakpoints';\n\n.mobile-top-nav-wrapper.hide {\n opacity: 0;\n}\n\n.mobile-top-nav-wrapper.show {\n z-index: 5;\n opacity: 1;\n position: fixed;\n width: 100%;\n height: 111px;\n background: white;\n display: flex;\n flex-direction: column;\n animation: showMobileNav forwards .3s;\n margin-top: 82px;\n\n .mobile-menu {\n padding: 0 10%;\n flex-wrap: wrap;\n margin-top: 15px;\n }\n\n > div .top-link {\n display: flex;\n font-size: 14px;\n padding: 4px 0;\n\n &:hover {\n background: $secondaryLight;\n \n a, button {\n color: $white;\n }\n }\n }\n\n div {\n display: flex;\n \n a, button {\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 0 10px !important;\n width: fit-content;\n height: 100%;\n text-decoration: none;\n color: $black;\n }\n\n button {\n background: none;\n border: none;\n }\n\n &:hover {\n cursor: pointer;\n }\n }\n\n div.active {\n background: white;\n \n a, button {\n color: $secondary;\n font-weight: bold;\n\n &:hover {\n color: white;\n }\n\n &:active {\n background: $secondaryActive;\n color: white;\n }\n }\n\n &:hover {\n color: white;\n background: $secondaryLight;\n }\n }\n\n .toolbar {\n margin: 0;\n position: relative;\n border: none;\n }\n\n\n .mobile-stat-menu {\n box-shadow: 0 5px 3px 0 hsla(0,0%,78.4%,.5);\n\n .menu-wrapper {\n position: relative;\n height: auto;\n min-height: auto;\n padding: 0;\n margin-top: 9px;\n\n .menu-stat {\n margin: 0;\n\n .stat {\n text-align: left;\n flex: 1 1 auto;\n margin-bottom: 15px;\n }\n }\n }\n }\n}\n\n@media (max-width: 1066px) {\n .mobile-stat-menu .menu-wrapper .menu-stat {\n margin-top: 40px;\n\n .stat {\n .stats {\n display: none;\n }\n }\n }\n}\n\n@media (max-width: 900px) {\n .mobile-toolbar .toolbar {\n padding: 0 1%;\n }\n}\n\n@media (max-width: 725px) {\n .mobile-top-nav-wrapper.show {\n .menu-stat {\n display: flex;\n flex-wrap: wrap;\n }\n }\n\n .mobile-menu {\n padding: 0 10%;\n }\n}\n\n@keyframes showMobileNav {\n from {\n opacity: 0;\n }\n\n to {\n opacity: 1;\n }\n}\n","$whiteBackground: #ececec;\n$primary: #2c54ac;\n$primaryLight: #d7dcef;\n$primaryActive: #1e5cb2;\n$secondary: #fcac04;\n$secondaryLight: #f8b014;\n$secondaryActive: #fdb51c;\n$hoverButtonText: #2c54ac;\n$activeButtonText: #fff;\n$notifications: #e49d45;\n$notificationsLight: #de9234;\n$notificationsActive: #6f4e2b;\n$textColor: #555;\n\n.top-panel .profile-menu {\n div {\n width: auto;\n height: auto;\n }\n\n button {\n cursor: default;\n background: none;\n box-shadow: unset;\n width: 100%;\n height: 100%;\n\n &:hover {\n background: none;\n }\n\n &:active, &:focus {\n outline: none;\n border: unset;\n background: unset;\n background-color: unset;\n border-color: unset;\n }\n }\n\n .btn-danger:not(:disabled):not(.disabled).active,\n .btn-danger:not(:disabled):not(.disabled):active,\n .show>.btn-danger.dropdown-toggle {\n background-color: unset;\n border-color: unset;\n box-shadow: unset;\n }\n\n .dropdown-menu {\n display: none;\n height: auto;\n max-height: 75vh;\n overflow: auto;\n cursor: default;\n background: #222e44;\n border: 1px solid #fcac04;\n border-width: 1px 0 0 0;\n box-shadow: rgb(34, 46, 68) 0px 0px 10px -1px;\n\n > div {\n cursor: default;\n }\n }\n \n .dropdown-menu.show {\n display: flex;\n flex-direction: column;\n width: auto;\n width: 340px;\n margin: 0;\n\n .dropdown-item {\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n padding-left: 0;\n padding-right: 5px;\n\n span.title {\n display: block;\n width: 100%;\n padding: 10px 0 0 10px;\n text-align: left;\n color: $secondary;\n }\n\n span.delete-notification {\n width: 10px;\n height: 10px;\n background: $secondary;\n border-radius: 50%;\n cursor: pointer;\n\n &:hover {\n border: 2px solid $secondaryLight;\n background: transparent;\n }\n }\n\n &:hover {\n background: none;\n }\n }\n\n .dropdown-item + div {\n text-align: left;\n width: 100%;\n padding: 0 10px 20px 10px;\n color: #ABABAB;\n\n a {\n display: contents;\n color: $notifications;\n\n &:hover {\n color: $notificationsLight;\n }\n }\n }\n\n .dropdown-divider {\n margin: 0;\n border-color: #555;\n width: 100%;\n\n &:last-child {\n display: none;\n }\n }\n }\n}","@import 'src/utils/scss/variables';\n@import 'src/utils/scss/breakpoints';\n\n.top-panel.small-device {\n display: none;\n}\n\n.top-panel {\n display: flex;\n flex-direction: row;\n font-size: 12px;\n position: fixed;\n width: 100%;\n text-align: center;\n color: white;\n background: #222e44;\n height: 34px;\n align-items: center;\n justify-content: space-between;\n padding: 0 13%;\n z-index: 2;\n\n .container {\n display: flex;\n flex-direction: row;\n width: 80%;\n height: 100%;\n\n .logo div {\n img {\n width: 82%;\n }\n\n &:hover {\n background-color: transparent;\n }\n }\n\n div {\n display: flex;\n justify-content: center;\n align-items: center;\n \n a, button {\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 0 10px !important;\n width: fit-content;\n height: 100%;\n text-decoration: none;\n color: white;\n }\n\n button {\n background: none;\n border: none;\n }\n\n &:hover {\n cursor: pointer;\n }\n }\n\n div.active {\n background: white;\n \n a, button {\n color: $secondary;\n font-weight: bold;\n\n &:hover {\n color: white;\n }\n\n &:active {\n background: $secondaryActive;\n color: white;\n }\n }\n\n &:hover {\n background: $secondaryLight;\n }\n }\n }\n\n .left-menu {\n width: 75%;\n margin: 0;\n padding: 0;\n justify-content: space-between;\n\n div.top-link,\n div.nav-link {\n flex: 1 1 auto;\n height: 100%;\n transform: translateX(-5px);\n\n &:hover {\n background: $secondaryLight;\n }\n }\n\n div.logo {\n width: 7rem;\n padding-left: 0;\n\n a {\n div {\n padding: 0;\n width: 6rem;\n flex: none;\n\n img {\n width: 90%;\n }\n }\n }\n\n &:hover {\n background: transparent;\n }\n }\n\n div.fm {\n width: 10rem;\n }\n\n .top-link.focus {\n a, button {\n color: $secondaryActive;\n }\n }\n }\n\n .profile-menu {\n width: 25%;\n margin: 0;\n padding: 0;\n justify-content: flex-end;\n\n div {\n height: 100%;\n }\n\n div.bell {\n width: auto;\n color: $secondary;\n padding: 3px 0;\n\n svg {\n border-radius: 30px;\n width: 40px;\n height: 30px;\n padding: 3px;\n\n &:hover {\n background: #79522294;\n }\n\n &:active {\n background: #866032;\n }\n }\n }\n\n .edit-user a {\n color: #a4abad;\n font-weight: 700;\n \n &:hover {\n color: $secondaryLight;\n }\n\n &:active {\n color: $secondaryActive;\n }\n }\n\n .logout-button a,\n .logout-button button {\n color: white;\n cursor: pointer;\n font-weight: 100;\n\n &:hover {\n color: $secondaryLight;\n }\n\n &:active {\n color: $secondaryActive;\n }\n }\n }\n}\n\n.top-panel.long-profile {\n .left-menu {\n justify-content: start;\n\n > div {\n width: fit-content;\n flex: unset;\n padding: 0 1rem;\n }\n\n .logo {\n width: 7rem;\n padding: 0;\n margin-right: 1rem;\n }\n }\n\n .profile-menu {\n align-items: center;\n\n > .edit-user {\n width: fit-content;\n }\n\n .long-username {\n display: flex;\n justify-content: center;\n align-items: center;\n width: auto;\n\n > span:nth-child(1) {\n margin-right: 5px;\n }\n\n > span:nth-child(3) {\n margin-left: 5px;\n }\n }\n }\n}\n\n@media screen and (max-width: 1350px) {\n .top-panel {\n padding: 0 10%;\n }\n}\n\n@media screen and (max-width: $desktopMin) {\n .top-panel {\n padding: 0 8%;\n }\n}\n\n@media (max-width: 900px) {\n .top-panel {\n display: none;\n }\n\n .top-panel.small-device {\n display: flex;\n justify-content: space-between;\n padding: 0 10%;\n\n > .container {\n align-items: center;\n width: auto;\n }\n\n .hamburger {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n\n .bar {\n height: 2px;\n margin: 2px;\n width: 20px;\n background: white;\n }\n }\n }\n}\n\n@media (max-width: $phoneMax) {\n .top-panel.small-device {\n padding: 0;\n }\n\n .top-panel .left-menu div.logo {\n width: unset;\n\n a div {\n width: 5rem;\n }\n }\n}\n",".main-nav {\n width: 100%;\n height: 249px;\n\n .nav-wrapper {\n position: fixed;\n width: 100%;\n animation: toggleNav .75s forwards;\n z-index: 1;\n }\n}\n\n// Small Devices\n@media (max-width: 900px) {\n .main-nav {\n height: 0;\n }\n\n @keyframes toggleNav {\n from {\n transform: translateY(-150px);\n }\n \n to {\n transform: translateY(50px);\n }\n }\n}","@import 'src/utils/scss/variables';\n\n.mail-accounts {\n div.subtitle {\n color: $primary;\n font-size: 12px;\n margin: 30px 0 18px 14.3%;\n text-transform: uppercase;\n font-weight: bold;\n }\n\n .mail-accounts-wrapper {\n > div:nth-child(2) {\n border-top: 1px solid #ddd;\n }\n\n div.list-item {\n .r-col {\n .stat.email {\n width: fit-content;\n text-transform: none;\n }\n }\n }\n }\n\n .footer-actions-wrapper {\n display: flex;\n align-items: center;\n margin-top: 2rem;\n padding-bottom: 1.5rem;\n\n .total {\n margin: 0 3.5rem 0 14.3%;\n }\n\n .back {\n a {\n padding: 8px 38px;\n color: #777;\n background: #DFDEDD;\n border: 1px solid #DFDEDD;\n border-radius: 3px;\n font-size: 13px;\n font-weight: bold;\n }\n }\n }\n}",".crossed {\n text-decoration: line-through;\n}\n\n.catchall-mail {\n text-transform: none;\n}\n","@import 'src/utils/scss/variables';\n\n.dns-records {\n div.subtitle {\n color: $primary;\n font-size: 12px;\n margin: 30px 0 18px 14.3%;\n text-transform: uppercase;\n font-weight: bold;\n }\n\n .dns-records-wrapper {\n > div:nth-child(2) {\n border-top: 1px solid #ddd;\n }\n\n div.list-item {\n .r-col {\n .stats {\n > div {\n flex: unset;\n }\n\n .c-1 {\n width: 14.3%;\n }\n\n .c-2 {\n margin-left: 10px;\n width: 14.3%;\n }\n\n .c-3 {\n margin-left: 0;\n width: 14.3%;\n\n span {\n color: #888;\n font-weight: normal;\n }\n }\n\n .c-4 {\n width: 550px;\n\n .stat {\n display: block;\n white-space: normal;\n overflow: hidden;\n width: 100%;\n text-overflow: ellipsis;\n }\n }\n }\n }\n }\n }\n\n .footer-actions-wrapper {\n display: flex;\n align-items: center;\n margin-top: 2rem;\n padding-bottom: 1.5rem;\n\n .total {\n margin: 0 3.5rem 0 14.3%;\n }\n\n .back {\n a {\n padding: 8px 38px;\n color: #777;\n background: #DFDEDD;\n border: 1px solid #DFDEDD;\n border-radius: 3px;\n font-size: 13px;\n font-weight: bold;\n }\n }\n }\n}","span.dns-records {\n padding-left: 25px;\n font-size: 18px;\n font-weight: normal;\n font-style: italic;\n color: gray;\n}\n\n.r-col {\n .stats {\n .c-2.w-30 {\n padding-left: 0;\n }\n }\n}",".statistic-item {\n display: flex;\n justify-content: center;\n padding: 25px 0;\n border-bottom: 1px solid #eee;\n\n .l-col {\n .date {\n font-size: 13px;\n margin-top: 3rem;\n }\n }\n\n .r-col {\n .name {\n font-size: 32px;\n }\n\n .c-1 {\n .bandwidth, .disk {\n width: 220px;\n }\n\n div.sub-disk-stats {\n width: 250px;\n }\n }\n\n .c-2 {\n margin-right: 0;\n\n div>span:nth-child(2) {\n margin: 0;\n padding: 0;\n }\n }\n\n .c-3.w-35 {\n span.stat {\n width: 80px;\n }\n\n \n div > span {\n width: 50%;\n text-align: left;\n }\n\n div>span:nth-child(2) {\n width: 100px;\n }\n }\n }\n}",".statistics-list {\n color: #686868;\n\n .toolbar {\n padding: 6px 13%;\n }\n\n .l-col {\n width: 14.3%;\n\n div.date {\n margin-top: 25px;\n }\n }\n}\n\n.total {\n margin-top: 25px;\n margin-left: 15%;\n font-size: 12px;\n color: #929292;\n}\n\n.statistic-item.focused {\n border-left: 2px solid #5edad0;\n transform: translateX(-2px);\n\n .r-col .date {\n color: #5edad0;\n }\n}\n\n@media (max-width: 1350px) {\n .statistics-list .toolbar {\n padding: 6px 9.5%;\n }\n}","@import 'src/utils/scss/variables';\n\n.checkbox {\n margin-bottom: 10px;\n}\n\n.date {\n margin: 10px 0;\n}\n\n.l-col div.star {\n text-align: center;\n\n div > svg {\n cursor: pointer;\n opacity: 0;\n color: gray;\n padding: 8px;\n width: 35px;\n height: 35px;\n border-radius: 50%;\n\n &:hover {\n background: #b4b4b478;\n color: $primary;\n }\n }\n}\n\nspan.stat.email{\n display: block;\n width: fit-content;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n\n.r-col {\n .name {\n font-size: 35px;\n margin-bottom: 5px;\n color: black;\n }\n \n > div:nth-child(2) {\n text-transform: capitalize;\n }\n\n .stats {\n display: flex;\n justify-content: flex-start;\n align-items: flex-start;\n\n .c-1, .c-2, .c-3 {\n width: 32%;\n\n > div {\n display: flex;\n margin: 5px 0;\n }\n\n .bandwidth,\n .disk {\n width: 200px;\n justify-content: space-between;\n margin-bottom: 25px;\n border-bottom: 1px dotted gray;\n position: relative;\n\n .percent {\n position: absolute;\n left: 0px;\n bottom: -1px;\n height: 2px;\n background: $primary;\n width: 0%;\n }\n }\n\n .sub-disk-stats {\n width: 250px;\n\n > div {\n width: 50%;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n font-size: 11px;\n\n span:nth-child(1) {\n width: 40px;\n }\n }\n\n > div:nth-child(2) {\n width: 70%;\n justify-content: flex-end;\n\n span:nth-child(1) {\n width: 80px;\n }\n }\n }\n }\n\n .c-1 {\n margin: 0;\n margin-top: 15px;\n }\n\n .c-2 {\n margin: 15px 20px;\n\n div {\n > span:nth-child(1) {\n width: 120px;\n }\n\n > span:nth-child(2) {\n width: 150px;\n padding-left: 15px;\n }\n }\n }\n\n .c-3 {\n div {\n > span:nth-child(1) {\n width: 120px;\n }\n\n > span:nth-child(2) {\n width: 200px; \n }\n }\n\n div.ns {\n margin-top: 20px;\n }\n }\n\n > div {\n margin: 15px 0;\n flex: 1 1 0;\n }\n\n .stat {\n font-weight: bold;\n color: #5f5f5f;\n }\n }\n}\n\n.actions {\n position: absolute;\n top: 0;\n right: 0;\n opacity: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 12px;\n background: #dfdedd;\n\n > div {\n font-weight: bolder;\n text-transform: uppercase;\n height: 38px;\n\n a, button {\n display: flex;\n justify-content: center;\n align-items: center;\n color: #777;\n padding: 10px 15px;\n text-decoration: none;\n\n &:hover {\n background: rgb(145, 145, 145);\n color: white;\n\n svg {\n color: white;\n }\n }\n }\n\n svg {\n color: #777;\n }\n }\n\n > div:nth-child(2) a:hover {\n background: $primary;\n }\n\n > div:nth-child(4) a:hover {\n background: $danger;\n }\n\n svg {\n margin-left: 12px;\n }\n\n @media (max-width: 1066px) {\n opacity: 1;\n }\n\n @media (max-width: 850px) {\n > div {\n width: fit-content;\n\n a, button {\n width: 100%;\n }\n }\n }\n}\n\n.list-item.focused .r-col .name {\n color: $secondaryLight;\n}\n\n@media (max-width: 1066px) {\n div.star div > svg {\n opacity: 1 !important;\n }\n}\n",".content .Toastify__toast-container {\n bottom: 1em !important;\n top: unset;\n}",".timer-wrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n\n button {\n border: none;\n background: none;\n\n &:active, &:focus {\n outline: none;\n }\n }\n\n .circle-wrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 30px;\n height: 30px;\n\n span.seconds {\n &:hover, &:active {\n background: unset;\n }\n }\n\n svg {\n height: 30px;\n width: 30px;\n\n circle {\n stroke: black;\n fill: white;\n stroke-width: 3%;\n stroke-dasharray: 72;\n stroke-dashoffset: 9;\n transform-box: fill-box;\n transform-origin: center;\n transform: rotate(270deg);\n transition: all 1s linear;\n }\n }\n }\n}",".rrd-item {\n display: flex;\n justify-content: center;\n align-items: center;\n border-bottom: 1px solid #eee;\n position: relative;\n\n .l-col {\n .date {\n font-size: 13px;\n margin-top: 3rem;\n }\n\n .time {\n font-size: 13px;\n margin-top: 2rem;\n text-align: left;\n }\n }\n\n .r-col {\n .name {\n font-size: 32px;\n }\n\n .rrd-image {\n font-size: 20px;\n text-transform: lowercase;\n }\n }\n}\n\n.rrd-item.focused {\n border-left: 2px solid #5edad0;\n\n .l-col {\n padding-left: 11px;\n }\n\n div.actions {\n opacity: 1;\n }\n}","@import 'src/utils/scss/variables';\n\ndiv.content {\n margin-top: 0;\n}\n\n.rrd-list {\n color: $textColor;\n\n .toolbar {\n padding: 6px 13%;\n }\n\n .rrd-item {\n padding: 25px 0;\n align-items: flex-start;\n\n .actions {\n opacity: 0;\n }\n\n .l-col {\n display: flex;\n flex-direction: column;\n margin: 15px 40px 0 0;\n\n .date {\n margin: 0;\n }\n }\n\n &:hover {\n .actions {\n opacity: 1;\n }\n }\n }\n}\n\n.periods-wrapper {\n display: flex;\n align-items: center;\n\n > div:nth-child(1) {\n margin-left: 8px;\n }\n\n > div {\n cursor: pointer;\n margin: 0 15px;\n font-size: 14px;\n\n &:hover {\n color: $secondaryLight;\n }\n\n &:active {\n color: $primaryActive;\n }\n }\n\n .timer-wrapper {\n > button svg {\n\n &:hover {\n color: $secondaryLight;\n }\n\n &:active {\n color: $primaryActive;\n }\n }\n\n > div.circle-wrapper {\n cursor: default;\n }\n }\n\n > div.active {\n color: $secondaryActive;\n }\n}\n\n@media (max-width: 1350px) {\n .rrd-list .toolbar {\n padding: 6px 9.5%;\n }\n}\n",".App .service-info {\n @media screen and (max-width: 1066px) {\n .top-panel {\n display: flex;\n }\n }\n\n @media screen and (min-width: 1200px) {\n .top-panel {\n padding: 0 13%;\n }\n }\n\n .content {\n font-size: 14px;\n color: #555;\n padding-top: 4rem;\n\n @media screen and (min-width: 1067px) {\n padding-top: 5rem !important;\n margin-top: 0px !important;\n }\n\n @media screen and (max-width: 1066px) {\n padding-top: 5rem !important;\n margin-top: 0px !important;\n }\n\n table {\n td,th {\n padding: 5px 10px;\n border: 1px solid black;\n }\n }\n }\n}\n",".web-stats,\n.add-ftp {\n text-decoration: line-through;\n}\n\n.r-col {\n .stats {\n .c-2 {\n margin-left: 20px;\n }\n }\n}\n\n.r-col {\n .c-2 span.stat,\n .c-3 span.stat {\n margin-left: 1rem;\n }\n\n .name {\n display: flex;\n\n > div:nth-child(1) {\n margin-right: 2rem;\n }\n\n > div + div {\n line-height: 10px;\n margin-top: .75rem;\n }\n\n .dns-name-span {\n font-style: italic;\n color: #858585;\n font-size: 14px;\n }\n }\n}\n\ndiv.crossed {\n text-decoration: line-through;\n}","$secondary: #fcac04;\n\n.content {\n .toolbar {\n .search-toolbar-name {\n font-size: 12px;\n text-transform: uppercase;\n color: $secondary;\n font-weight: bold;\n margin-left: 14.3%;\n padding-left: 7px;\n align-self: center;\n }\n\n .search-toolbar-right {\n display: flex;\n justify-content: center;\n align-items: center;\n\n .btn-group {\n button {\n border: none;\n background: none;\n box-shadow: none;\n\n &:focus, &:active, &:hover {\n background: none;\n box-shadow: none;\n outline: none;\n border: none;\n color: #686868;\n }\n }\n }\n\n .search-input-form {\n padding-top: 2px;\n }\n }\n }\n\n .statistics-wrapper {\n > .list-item:first-child {\n margin-top: 0;\n }\n\n .list-item {\n .l-col {\n > .star {\n display: none;\n }\n }\n\n .r-col {\n div.object {\n text-transform: uppercase;\n }\n\n .c-2 .owner span,\n .c-3 .status span {\n text-align: center;\n font-weight: bold;\n text-transform: lowercase;\n }\n }\n }\n }\n}",".logs-list {\n .toolbar {\n padding: 6px 13%;\n }\n\n .statistic-item {\n .l-col {\n font-size: 13px;\n color: #888;\n \n .date {\n margin: 1rem 0;\n margin-bottom: 1.5rem;\n }\n }\n \n .r-col {\n .name {\n margin-top: .7rem;\n font-size: 18px;\n }\n }\n }\n\n .statistic-item.focused {\n border-left: 2px solid #5edad0;\n\n div.name {\n color: #5edad0;\n }\n }\n}\n\n@media (max-width: 1350px) {\n .logs-list .toolbar {\n padding: 6px 9.5%;\n }\n}",".logs-list .toolbar .search-input-form input {\n margin-bottom: 5px;\n}\n\n.logs-list .l-col {\n width: 14%;\n}","@import 'src/utils/scss/variables';\n\n.content {\n padding: 0 13%;\n padding-bottom: 1%;\n margin-top: 5px;\n\n > div > div.total {\n margin-top: 25px;\n margin-left: 14%;\n font-size: 12px;\n color: #929292;\n }\n}\n\n@media (max-width: 1350px) {\n .content {\n padding: 0 10%;\n }\n}\n\n@media (max-width: 1066px) {\n .content {\n padding: 5% 10%;\n }\n}\n\n@media (max-width: 900px) {\n .content {\n margin-top: 40px;\n }\n}\n\n@media (max-width: 800px) {\n .content {\n padding-top: 5%;\n }\n}\n\n.fixed-buttons {\n position: fixed;\n right: 15px;\n bottom: 15px;\n display: flex;\n justify-content: space-around;\n align-items: center;\n\n > div {\n width: 40px;\n height: 40px;\n padding: 5px;\n margin: 5px;\n border-radius: 50%;\n background: #c3c3c3;\n display: flex;\n justify-content: center;\n align-items: center;\n \n &:hover {\n color: $hoverButtonText;\n background: $primaryLight;\n }\n \n &:active {\n color: $activeButtonText;\n background: $primaryActive;\n }\n \n button {\n display: flex;\n justify-content: center;\n align-items: center;\n background: none;\n border: none;\n width: 100%;\n height: 100%;\n border-radius: 50%;\n transform: scale(1.32);\n \n svg {\n color: white;\n height: 70%;\n }\n }\n }\n\n > div:first-child {\n color: #c3c3c3;\n background: none;\n\n &:hover {\n background: $primaryLight;\n\n button svg {\n color: $activeButtonText;\n }\n }\n\n &:active {\n color: $activeButtonText;\n background: $primaryActive;\n }\n\n button {\n padding: 0;\n\n svg {\n color: #c3c3c3;\n }\n }\n }\n}\n\n@media screen and (max-width: 1066px) {\n .fixed-buttons > div:first-child {\n display: none;\n }\n}\n\n@media screen and (max-width: 450px) {\n .content {\n padding: 5% 1%;\n }\n}\n","@import 'src/utils/scss/variables';\n\n.panel-wrapper {\n .logo-img {\n img {\n width: 82%;\n }\n\n &:hover {\n background-color: transparent;\n }\n }\n\n .nav-link {\n padding: 0;\n }\n\n .left-menu {\n justify-content: unset;\n\n .logo {\n width: fit-content;\n flex: unset;\n }\n\n .scrollbar-container {\n &:hover {\n background: none;\n }\n\n .nav-link {\n flex: unset;\n padding: 0 5px;\n }\n }\n\n a, button {\n padding: 0 !important;\n outline: none;\n }\n \n > div.nav-link {\n padding: 0;\n }\n }\n\n .profile-menu {\n > div:nth-child(1) a {\n &:hover {\n color: $secondaryLight;\n }\n\n &:active {\n color: $secondaryActive;\n }\n }\n\n > div:nth-child(2) a {\n &:hover {\n color: $secondaryActive;\n }\n\n &:active {\n color: $secondaryActive;\n }\n }\n\n .user {\n color: #a4abad;\n font-weight: 700;\n \n &:hover {\n color: $secondaryLight;\n }\n\n &:active {\n color: $secondaryActive;\n }\n }\n\n .log-out {\n color: white;\n cursor: pointer;\n font-weight: 100;\n\n &:hover {\n color: $primaryLight;\n }\n\n &:active {\n color: $secondaryActive;\n }\n }\n }\n}\n",".App .web-logs {\n .top-panel {\n .left-menu {\n .logo {\n justify-content: start;\n margin: 0;\n \n a {\n padding: 0 !important;\n }\n }\n }\n }\n\n .content {\n font-size: 14px;\n color: #555;\n padding-top: 4rem;\n\n @media screen and (min-width: 1067px) {\n padding-top: 5rem !important;\n margin-top: 0px !important;\n }\n\n @media screen and (max-width: 1066px) {\n padding-top: 5rem !important;\n margin-top: 0px !important;\n }\n }\n}\n",".login-layout {\n margin-top: 1rem;\n padding: 2rem 3rem;\n}","@import 'src/utils/scss/variables';\n@import 'src/utils/scss/breakpoints';\n\n.login-page {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n height: 100vh;\n background-color: #eee;\n\n .login-form-wrapper {\n background-color: #fff;\n box-shadow: 0 2px 6px rgba(100, 100, 100, 0.3);\n font-family: Arial,Helvetica,sans-serif;\n margin: 0;\n padding: 0;\n text-align: left;\n width: 575px;\n\n .login-layout {\n position: relative;\n\n > span {\n position: absolute;\n bottom: 0;\n right: 20px;\n font-size: 11px;\n \n a {\n color: #505050;\n }\n }\n }\n\n form {\n display: flex;\n position: relative;\n\n > div {\n input[type=\"text\"],\n input[type=\"password\"] {\n width: 100%;\n }\n }\n\n .c1 {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 35%;\n\n img {\n width: 110%;\n }\n }\n\n .c2 {\n width: 65%;\n margin-left: 3.5rem;\n\n .forgot-password {\n font-size: 11px;\n text-transform: uppercase;\n letter-spacing: .75px;\n text-decoration: none;\n }\n\n button[type=\"submit\"] {\n background-color: $primary;\n border: 1px solid $primary;\n padding: 1px 16px 3px;\n font-size: 13px;\n height: 35px;\n color: #fafafa;\n border-radius: 3px;\n\n &:hover {\n color: $primary;\n border: 1px solid $primaryLight;\n background-color: $primaryLight;\n }\n\n &:active {\n color: #fafafa;\n border: 1px solid $primary;\n background-color: $primary;\n }\n\n .disabled {\n cursor: not-allowed;\n }\n }\n\n div.error-message {\n margin-top: 1rem;\n color: #BE5ABF;\n }\n }\n }\n }\n\n @media (max-width: $tabletMax) {\n .login-form-wrapper {\n margin: 2rem;\n\n .login-layout {\n form {\n flex-direction: column;\n justify-content: center;\n align-items: center;\n\n .c1 {\n width: 100%;\n margin-bottom: 1.5rem;\n\n a {\n text-align: center;\n\n img {\n width: 75%;\n }\n }\n }\n\n .c2 {\n margin: 0;\n width: 100%;\n }\n\n .buttons-wrapper {\n .add {\n margin-bottom: 10px;\n }\n }\n }\n }\n }\n }\n}\n"]} \ No newline at end of file diff --git a/web/static/css/main.9f0c683e.chunk.css b/web/static/css/main.9f0c683e.chunk.css new file mode 100644 index 000000000..e8b1f965e --- /dev/null +++ b/web/static/css/main.9f0c683e.chunk.css @@ -0,0 +1,2 @@ +body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,"Courier New",monospace}.spinner-wrapper{position:absolute;bottom:5px;width:150px;left:42%;height:10px}.dropdown-menu ul{height:150px}.dropdown-menu ul li{display:inline-flex}.lists-container .dropdown-menu.show{-webkit-transform:translate3d(-57%,39px,0)!important;transform:translate3d(-57%,39px,0)!important}.path{display:flex;justify-content:space-between;font-size:15px;padding:1px 0 0 5px;height:40px;background:#222e44;color:#999;box-shadow:0 2px 10px -4px #222e44}.path .btn-group{width:75px;margin-left:15px;background:none;box-shadow:none}.path .btn-group .btn-secondary:not(:disabled):not(.disabled).active,.path .btn-group .btn-secondary:not(:disabled):not(.disabled):active,.path .btn-group .show>.btn-secondary.dropdown-toggle{background:#222e44;border:#222e44}.path .btn-group button{padding-left:0;padding-right:5px;color:#999;background:#222e44;border:#222e44;transition:none}.path .btn-group button span{color:#999;padding:0 0 0 5px}.path .btn-group button:active,.path .btn-group button:focus{background:#222e44;border:#222e44}.path .btn-group .btn.active.focus,.path .btn-group .btn.active:focus,.path .btn-group .btn.focus,.path .btn-group .btn:active.focus,.path .btn-group .btn:active:focus,.path .btn-group .btn:focus{box-shadow:none;outline:none;background:#222e44;border:#222e44}.path .btn-group .btn-secondary{display:flex;justify-content:center;align-items:center}.path .clickable{padding-top:8px;cursor:pointer}.active-path{display:flex;justify-content:space-between;font-size:15px;padding:1px 0 0 5px;height:40px;background:#d7dcef;color:#fff;box-shadow:0 2px 6px -2px #d7dcef}.active-path .clickable-wrapper{display:flex;flex-wrap:nowrap;overflow:auto}.active-path .btn-group{width:75px;background:none;box-shadow:none}.active-path .btn-group .btn-secondary:not(:disabled):not(.disabled).active,.active-path .btn-group .btn-secondary:not(:disabled):not(.disabled):active,.active-path .btn-group .show>.btn-secondary.dropdown-toggle{border-color:#d7dcef;background:#d7dcef}.active-path .btn-group button{padding-left:0;padding-right:5px;color:#fff;border-color:#d7dcef;background:#d7dcef;transition:none}.active-path .btn-group button span{color:#fff;padding:0 0 0 5px}.active-path .btn-group button:active,.active-path .btn-group button:focus{border-color:#d7dcef;background:#d7dcef}.active-path .btn-group .btn.active.focus,.active-path .btn-group .btn.active:focus,.active-path .btn-group .btn.focus,.active-path .btn-group .btn:active.focus,.active-path .btn-group .btn:active:focus,.active-path .btn-group .btn:focus{box-shadow:none;outline:none;border-color:#d7dcef;background:#d7dcef}.active-path .btn-group .btn-secondary{display:flex;justify-content:center;align-items:center;color:#2c54ac}.active-path .btn-group .btn-secondary span{color:#2c54ac}.active-path .btn-group .btn-secondary:hover{color:#1c3876;border-color:#d7dcef;background:#d7dcef}.active-path .btn-group .btn-secondary:hover span{color:#1c3876}.active-path .clickable{color:#2c54ac;padding-top:8px;cursor:pointer}.active-path .clickable:hover{color:#1c3876}.active-path .clickable:active{color:#2c54ac}.clickable-path{display:flex;float:0 0 auto}.list .list-container ul li svg{width:25px;vertical-align:top;margin-top:9px;margin-left:10px}.html5{color:#f16529}.file-alt{color:#20d2d1}.list .list-container ul li .marker{float:left;width:4px;height:34px;margin-right:5px}.list .list-container ul li .js{width:16px;color:#f7df1c;background:#000;margin:9px 4px 0 15px}.php{color:#777bb3}.css3{color:#0079cb}.sass{color:#cd6699}.image{color:#36afae}.folder-open{color:#e29741}.file{color:#11b1b1}.archive{color:#d1ce2b}.download{color:#929ca3}.fDate,.fOwner,.fPermissions,.fSize,.fTime{font-size:14px;float:right;width:60px;padding-top:2px}.list .list-container ul li .fName{margin-left:5px;width:260px;display:inline-block;overflow:hidden;text-overflow:clip}.list .list-container ul li .fName .name{padding:0 5px;float:left;margin-left:5px;line-height:34px;font-size:15px;white-space:nowrap;transition:all .3s ease-out}.list .list-container ul li .fName .name:hover{transition:all .2s ease-out;background:#c9c7c7;border-radius:4px;cursor:pointer}.list .list-container ul li.active .fName .name:hover{background:#f0b607;color:#000}.list .list-container ul li .fPermissions{margin-left:35px;width:50px;color:#727272;font-size:11px}.list .list-container ul li .fDate .date{color:#727272;font-size:11px}.list .list-container ul li .fTime{color:#727272;font-size:11px;width:54px}.fSize{padding-right:15px;text-align:right;width:95px}.list .list-container ul li .fOwner{color:#896417;font-style:italic;width:50px;font-size:12px;margin-right:5px}.value{color:#2c54ac}.unit{font-weight:bolder;color:#727272}li.inactive{background:#c9c7c7}li.inactive .marker{float:left;width:4px;height:34px;margin-right:5px;background:#a3a3a3}.inactive-selected{background:#dcdcdc}@media (max-width:1320px){.list .list-container ul li .fName{width:210px}.list .list-container ul li .fSize{width:75px}.list .list-container ul li .fDate{width:40px}.list .list-container ul li .fTime{width:50px}.list .list-container ul li .fPermissions{margin:0}}.list{width:50%;height:100vh;flex:1 1 50%}.list .list-container{margin-top:10px;height:calc(100% - 100px);overflow:auto}.list .list-container ul{margin-top:5px;padding:0;color:#3a3a3a}.list .list-container ul li{display:block;height:34px;line-height:30px;font-size:15px;margin-top:2px;list-style:none}.list .list-container ul li span{font-size:13px}.list .list-container ul li:hover{background:#dedede}.list .list-container ul li.active{background:#ffdc5a}.list .list-container ul li.active .marker{float:left;width:4px;height:34px;margin-right:5px;background:#79641a}.list .list-container ul li.selected{background:#fdfdbb}@media screen and (max-width:1200px){.owner,.permissions{display:none}}.progress.upload{left:0;top:0;z-index:9999;height:5px;position:fixed;width:100%;margin:0;display:inline-table;background:transparent}.progress.upload .progress-bar{height:5px}.modal{display:block;text-align:center;position:fixed;z-index:1;padding-top:200px;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#000;background-color:rgba(0,0,0,.4)}.modal .modal-content{box-shadow:0 2px 11px 0 rgba(0,0,0,.5);background:#222e44;border:1px solid #111824;width:25%;height:auto;color:#fff;margin:100px auto auto}.modal .modal-content .modal-body{display:flex;flex-direction:column;justify-content:center;align-items:center;overflow-wrap:anywhere;font-size:17px;margin-bottom:40px}.modal .modal-content .modal-body small{margin-top:5px;font-size:13px}.modal .modal-content .modal-body small.error{color:red}.modal .modal-content .modal-body input{background:#333;border:1px solid #111;color:#fff;margin-top:10px;width:85%}.modal .modal-content .modal-header{border-bottom:none;padding-bottom:0;word-break:break-word}.modal .modal-content .modal-header h3{font-size:20px;color:#f8b014}.modal .modal-content .modal-header .replace{position:absolute;top:10px;right:10px}.modal .modal-content .modal-header .quot{color:#fdb51c}.modal .modal-content .modal-footer{border-top:1px solid #555}.modal .modal-content .modal-footer button{color:#fff;border-color:none;background:none;text-transform:uppercase;font-size:11px}.modal .modal-content .modal-footer button:focus{outline:none;box-shadow:none}.modal .modal-content .modal-footer button.btn-danger{border-color:transparent}.modal .modal-content .modal-footer button.btn-danger:focus{outline:none;border:none}.modal .modal-content .modal-footer button.btn-danger:hover{background:#b00e5b;border-color:#b00e5b}.modal .modal-content .modal-footer button+button{padding:6px 30px;background:#fcac04;border-color:#fcac04}.modal .modal-content .modal-footer button+button:hover{background:#d7dcef;border-color:#d7dcef;color:#2c54ac}.modal .modal-content .modal-footer button+button:hover{background:#1e5cb2;border-color:#1e5cb2;color:#fff}.modal .modal-content .header .quot{color:#fdb51c}.modal .modal-content .close{top:0;right:0;color:#000}.modal .nothing-selected h3{padding:15px}.modal .nothing-selected .modal-footer{margin-top:20px}.modal .nothing-selected .modal-footer button{background:#d9534f;border-color:#d9534f;color:#fff}.modal .delete .modal-header{border-bottom:none;padding-bottom:30px}.modal .delete .modal-header .close{position:absolute;top:15px;right:15px}.modal .permissions{height:auto;width:30%;margin-top:0}.modal .permissions .error,.modal .permissions:focus{border:1px solid red}.modal .permissions input[type=text]{size:40px;width:60px;margin:auto auto 10px;display:inline-block}.modal .permissions .header h3{margin-bottom:40px;font-size:30px}.modal .permissions form{margin-top:20px}.modal .permissions form div{display:flex;flex-direction:column;justify-content:space-between;margin-bottom:30px;margin-left:40px}.modal .permissions form div label{display:inherit;cursor:pointer;font-size:18px}.modal .permissions form div label input{margin-top:6px;margin-right:5px}.menu{display:flex;background:#f8f9fa;height:40px}.menu .logo{width:7rem;padding-left:5px;display:flex;justify-content:center;align-items:center}.menu .logo img{width:82%}.menu .btn-group{padding:0 0 0 10px;margin:0;font-size:17px;border-radius:0;background:#f8f9fa}.menu .btn-group .small{display:none}.menu .btn-group #upload{line-height:0;margin-top:7px;margin-bottom:7px;padding-top:8px;padding-bottom:7px;margin-left:2px;color:#fff;border-radius:4px;background:#2c54ac}.menu .btn-group #upload:hover{color:#2c54ac;background:#d7dcef}.menu .btn-group button{text-transform:uppercase;font-size:12px;padding-top:11px;padding-bottom:12px;margin:0 25px 0 2px;text-align:center}.menu .btn-group button:hover{color:#2c54ac}.menu .btn-group button:focus{box-shadow:none;outline:none}.menu .btn-group .btn-hidden,.menu .btn-group .upload{display:none}.menu .btn-group .delete:hover{color:#dd3939}@media screen and (max-width:1200px){.menu .btn-group .small{font-size:18px;padding-top:8px;display:inline-block}.menu .btn-group .icon{color:#777}.menu .btn-group .small:hover .copy,.menu .btn-group .small:hover .download,.menu .btn-group .small:hover .file,.menu .btn-group .small:hover .folder-close{color:#2c54ac}.menu .btn-group .small:hover .italic,.menu .btn-group .small:hover .paste,.menu .btn-group .small:hover .user{color:#2c54ac}.menu .btn-group .small:hover .trash{color:#dd3939}.menu .btn-group .small:hover .book{color:#2c54ac}.big{display:none}}html{overflow-y:scroll}.App{font-size:25px;font-family:Arial}.window{background:#ececec;height:100vh;width:100%;display:flex;flex-direction:column;overflow:hidden}.window .lists-container{display:flex;flex-direction:row}.active{background:#fff}.progress{height:10px;transition:all .1s ease-out}.Toastify__toast-body{font-size:20px;word-break:break-word}.Toastify__toast-container{top:15em}.actions div a.link-download:hover,.actions div a.link-edit:hover,.actions div button.link-download:hover,.actions div button.link-edit:hover{background:#2c54ac!important}.actions div a.link-list:hover,.actions div button.link-list:hover{background:#2c54ac!important}.actions div a.link-delete:hover,.actions div button.link-delete:hover{background:#b00e5b!important}.actions div a.link-gray:hover,.actions div button.link-gray:hover{background:#afafac!important}.actions div button{text-transform:inherit;font-weight:bolder;background:#dfdedd;border:none}@media screen and (max-width:700px){.actions{background:unset!important;flex-wrap:wrap;justify-content:flex-end!important}.actions div{height:30px!important}.actions div a,.actions div button{background:#dfdedd!important;padding:0 10px!important;height:100%!important;font-size:10px!important}}.period:active,a:active,button:active{color:#1e5cb2}.list-item:first-child{margin-top:5px}.list-item .text-status{display:none}button:active,button:focus,button:hover{outline:none}.fixed-buttons.fm{position:fixed;right:15px;bottom:15px;display:flex;justify-content:space-around;align-items:center}.fixed-buttons.fm>div{width:40px;height:40px;padding:5px;margin:5px;border-radius:50%;background:#c3c3c3;display:flex;justify-content:center;align-items:center}.fixed-buttons.fm>div:hover{color:#2c54ac;background:#d7dcef}.fixed-buttons.fm>div:active{color:#fff;background:#1e5cb2}.fixed-buttons.fm>div button{display:flex;justify-content:center;align-items:center;background:none;border:none;width:100%;height:100%;border-radius:50%;-webkit-transform:scale(1.32);transform:scale(1.32)}.fixed-buttons.fm>div button svg{color:#fff;height:70%}.fixed-buttons.fm>div:first-child{background:#2c54ac}.fixed-buttons.fm>div:first-child:hover{color:#2c54ac;background:#d7dcef}.fixed-buttons.fm>div:first-child:hover button svg{color:#2c54ac}.fixed-buttons.fm>div:first-child:active{color:#fff;background:#1e5cb2}.fixed-buttons.fm>div:first-child:active button svg{color:#fff}.fixed-buttons.fm>div:first-child button{padding:0}.fixed-buttons.fm>div:first-child button svg{color:#fff}@media (min-width:1067px){.App div.content{padding-top:0!important;margin-top:-20px!important}}@media (max-width:1066px){.App div.content{padding-top:0!important;margin-top:-20px!important}.content>div .l-col{margin-top:2rem;padding-left:5px}.content>div .r-col{margin-top:1rem}.content>div .r-col .name{margin-top:2rem}.content>div .r-col .stats{flex-wrap:wrap}.content>div .r-col .stats>div{margin:1rem 0!important;padding:0!important;width:100%!important}.content .servers-list .servers-wrapper .l-col{display:flex;align-items:center;height:55px;margin-top:.75rem}.content .servers-list .servers-wrapper .l-col .checkbox{margin:0}}@media (max-width:900px){.App div.content{padding-top:77px!important;margin-top:0!important}.content>div .l-col{padding-left:5px}.content>div .r-col{padding-left:2rem}}@media (max-width:725px){.content .r-col{padding-left:3.5rem}}.editor{width:100%}.editor .panel-editor{display:flex;justify-content:flex-end;width:100%;height:40px;position:absolute;padding:3px;margin:0;background:rgba(0,0,0,.75);z-index:4;transition:all .5s ease-in-out;border-bottom:1px solid #000;border-radius:0}.editor .panel-editor button{font-size:17px;height:98%;margin:0 0 0 30px;padding:0 10px}.editor .panel-editor button:focus{outline:none;box-shadow:none}.editor .close{z-index:4;position:absolute;top:5px;right:5px;font-size:40px;opacity:1;color:#000}.editor .close:hover{color:#8b8b8b}.editor .CodeMirror{height:100vh;padding-top:4vh}.editor .CodeMirror .CodeMirror-selected{background:#accef7}.editor .CodeMirror .CodeMirror-scroll{font-size:14px}.editor .save{font-size:20px;left:95%;bottom:10px;position:absolute}.carousel{width:100%;position:relative}.carousel a{width:5%}.carousel .carousel-inner .carousel-item{background:#000;width:100%;height:100vh}.carousel .carousel-inner .carousel-item .gif{height:50%;width:50%}.carousel .carousel-inner .carousel-item .img{width:90%}.carousel .carousel-indicators .indicator{margin:0 15px;width:80px;height:80px}.carousel .carousel-indicators .indicator .control-photo{width:100px;height:80px}.carousel .carousel-indicators .indicator:hover{cursor:pointer}.carousel .carousel-indicators .indicator.active>img{border:3px solid #3cc3f0}.carousel .carousel-indicators .indicator .active{border:3px solid #3cc3f0}span.close{z-index:10;font-size:30px;position:absolute;top:5px;right:10px;opacity:1;color:#fff;cursor:pointer}span.close:hover{color:#fff}.video-preview{padding-bottom:17px;width:100%;background:#000}.video-preview .close{z-index:1;font-size:30px;position:absolute;top:5px;right:2px;opacity:1;color:#fff}.video-preview .close:hover{color:#000}.video-preview .video{width:100%;height:auto}.video-preview .video:focus{outline:none}.l-col{padding-left:15px}.r-col{font-size:13px}.w-14{width:14.3%}.w-20{width:20%}.w-25{width:25%}.w-30{width:30%}.w-35{width:35%}.w-40{width:40%}.w-45{width:45%}.w-50{width:50%}.w-60{width:60%}.w-85{width:85%}.content .edit-template{padding-bottom:2rem}.content .edit-template .toolbar{justify-content:unset}.content .edit-template .toolbar>div{width:14.3%;display:flex;align-items:center}.content .edit-template .toolbar div.error,.content .edit-template .toolbar div.success{width:-webkit-fit-content!important;width:fit-content!important}.content .edit-template .toolbar div.error span,.content .edit-template .toolbar div.success span{font-weight:700;font-size:14px}.content .edit-template .toolbar div.error span svg,.content .edit-template .toolbar div.success span svg{font-size:13px;margin-right:10px}.content .edit-template .toolbar div.error span.error-message,.content .edit-template .toolbar div.success span.error-message{color:#be5abf}.content .edit-template .toolbar div.error span.error-message svg,.content .edit-template .toolbar div.success span.error-message svg{margin-right:7px;font-size:13px;color:#be5abf}.content .edit-template .toolbar div.error span.ok-message,.content .edit-template .toolbar div.error span.ok-message svg,.content .edit-template .toolbar div.success span.ok-message,.content .edit-template .toolbar div.success span.ok-message svg{color:#2c54ac}.content .edit-template .toolbar .search-toolbar-name{width:auto!important;padding:10px 0;margin-left:0;margin-right:10px}.show{display:flex}.edit-item,.login-layout{display:flex;font-size:15px;margin-top:3rem;margin-bottom:1rem}.edit-item .l-col,.login-layout .l-col{margin-right:1.75%}.edit-item form,.login-layout form{width:100%}.edit-item form a,.edit-item form button,.login-layout form a,.login-layout form button{color:#2c54ac;font-weight:700}.edit-item form a:hover,.edit-item form button:hover,.login-layout form a:hover,.login-layout form button:hover{color:#f8b014}.edit-item form a:active,.edit-item form button:active,.login-layout form a:active,.login-layout form button:active{color:#fdb51c}.edit-item form button.optional:hover,.login-layout form button.optional:hover{color:#2c54ac}.edit-item form button.optional:active,.login-layout form button.optional:active{color:#d7dcef}.edit-item form button.delete:hover,.login-layout form button.delete:hover{color:#b00e5b}.edit-item form button.delete:active,.login-layout form button.delete:active{color:#b11661}.edit-item form .form-group input[type=email],.edit-item form .form-group input[type=password],.edit-item form .form-group input[type=text],.edit-item form .form-group select,.edit-item form .form-group textarea,.login-layout form .form-group input[type=email],.login-layout form .form-group input[type=password],.login-layout form .form-group input[type=text],.login-layout form .form-group select,.login-layout form .form-group textarea{width:50%}@media screen and (max-width:900px){.edit-item form .form-group input[type=email],.edit-item form .form-group input[type=password],.edit-item form .form-group input[type=text],.edit-item form .form-group select,.edit-item form .form-group textarea,.login-layout form .form-group input[type=email],.login-layout form .form-group input[type=password],.login-layout form .form-group input[type=text],.login-layout form .form-group select,.login-layout form .form-group textarea{width:100%}}.edit-item form .form-group select,.edit-item form .form-group textarea,.login-layout form .form-group select,.login-layout form .form-group textarea{border-radius:0}.edit-item form .form-group select:hover,.edit-item form .form-group textarea:hover,.login-layout form .form-group select:hover,.login-layout form .form-group textarea:hover{border-color:#909090}.edit-item form .form-group select:active,.edit-item form .form-group select:focus,.edit-item form .form-group textarea:active,.edit-item form .form-group textarea:focus,.login-layout form .form-group select:active,.login-layout form .form-group select:focus,.login-layout form .form-group textarea:active,.login-layout form .form-group textarea:focus{outline:none;border-color:#1e5cb2;box-shadow:unset}.edit-item form input:-webkit-autofill,.edit-item form input:-webkit-autofill:active,.edit-item form input:-webkit-autofill:focus,.edit-item form input:-webkit-autofill:hover,.login-layout form input:-webkit-autofill,.login-layout form input:-webkit-autofill:active,.login-layout form input:-webkit-autofill:focus,.login-layout form input:-webkit-autofill:hover{background:#d7dcef;border-color:#1e5cb2;-webkit-filter:none;filter:none;box-shadow:none}.edit-item form input:autofill,.edit-item form input:autofill:active,.edit-item form input:autofill:focus,.edit-item form input:autofill:hover,.login-layout form input:autofill,.login-layout form input:autofill:active,.login-layout form input:autofill:focus,.login-layout form input:autofill:hover{background:#d7dcef;border-color:#1e5cb2;-webkit-filter:none;filter:none;box-shadow:none}.edit-item form button,.login-layout form button{background:unset;border:none;box-shadow:unset}.edit-item form button:active,.edit-item form button:focus,.login-layout form button:active,.login-layout form button:focus{outline:none}.edit-item form input,.login-layout form input{height:calc(1.5em + .75rem + 6px);border-radius:0}.edit-item form input:hover,.login-layout form input:hover{border-color:#909090}.edit-item form input:active,.edit-item form input:focus,.login-layout form input:active,.login-layout form input:focus{box-shadow:unset;border-color:#1e5cb2;background:rgba(215,220,239,.62)}.edit-item form label,.login-layout form label{color:#555;font-weight:700}.edit-item form label.label-wrapper,.login-layout form label.label-wrapper{display:flex;align-items:flex-end;width:-webkit-fit-content;width:fit-content}.edit-item form label.label-wrapper span,.login-layout form label.label-wrapper span{font-weight:400;text-transform:uppercase;margin-left:5px;font-size:12px}.edit-item form .checkbox-wrapper,.login-layout form .checkbox-wrapper{display:flex;align-items:center}.edit-item form .checkbox-wrapper label,.login-layout form .checkbox-wrapper label{margin:0 12px}.edit-item form input,.login-layout form input{color:#555}.edit-item form .buttons-wrapper,.login-layout form .buttons-wrapper{margin-top:2.5rem}.edit-item form .buttons-wrapper button,.login-layout form .buttons-wrapper button{font-weight:700;font-size:13px;margin-right:10px;padding:.35rem 2.25rem;border-radius:4px;transition:all .2s cubic-bezier(.4,.1,.5,.85)}.edit-item form .buttons-wrapper .add,.login-layout form .buttons-wrapper .add{color:#fff;background:#2c54ac}.edit-item form .buttons-wrapper .add:hover,.login-layout form .buttons-wrapper .add:hover{color:#2c54ac;background:#d7dcef}.edit-item form .buttons-wrapper .add:active,.login-layout form .buttons-wrapper .add:active{color:#fff;background:#1e5cb2}.edit-item form .buttons-wrapper .back,.login-layout form .buttons-wrapper .back{color:#777;background:#dfdedd}.edit-item form .buttons-wrapper .back:hover,.login-layout form .buttons-wrapper .back:hover{color:#fff;background:#999}.edit-item .l-col,.login-layout .l-col{padding:20px 0 0}.edit-item .l-col .date,.edit-item .l-col .time,.login-layout .l-col .date,.login-layout .l-col .time{margin:10px 0 0;color:#777;font-size:12px;letter-spacing:1px}.edit-item .l-col .time,.login-layout .l-col .time{margin:6px 0 10px}.edit-item .l-col .status,.login-layout .l-col .status{color:#2c54ac;font-size:11px;letter-spacing:1px;text-transform:uppercase;font-weight:700}@media screen and (max-width:1066px){.form-group input[type=email],.form-group input[type=password],.form-group input[type=text],.form-group select,.form-group textarea{width:75%}}.toolbar{display:flex;flex-direction:row;justify-content:space-between;background:#fff;position:fixed;top:0;left:0;width:100%;z-index:1;padding:3px 13% 1px;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0}.toolbar .r-menu{display:flex;align-items:center}.toolbar .r-menu>div{display:flex;flex-wrap:unset;width:100%;align-items:center;justify-content:flex-end}.toolbar .r-menu a.button-extra,.toolbar .r-menu button.button-extra{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;justify-content:flex-start;padding:5px 10px;background:none;border:none;text-decoration:none;color:#817d7d;font-size:14px;display:flex;align-items:center;margin-right:10px;border-radius:3px}.toolbar .r-menu a.button-extra:hover,.toolbar .r-menu button.button-extra:hover{background:#d7dcef;color:#2c54ac}.toolbar .r-menu a.button-extra:active,.toolbar .r-menu button.button-extra:active{background:#1e5cb2;color:#fff}.toolbar .r-menu .input-group .input-group-prepend{height:30px;margin-right:15px}.toolbar .r-menu .input-group .input-group-prepend div,.toolbar .r-menu .input-group .input-group-prepend span{padding-left:0;background:none;border:none}.toolbar .r-menu .input-group .input-group-prepend label{margin-bottom:0}.toolbar .r-menu #inputGroupSelect04{height:30px;padding-top:2px;outline:none}.toolbar .r-menu #inputGroupSelect04:focus{outline:none;box-shadow:none}.toolbar .r-menu select+div:focus{outline:none}.toolbar .r-menu select+div:hover{background:#b3b8bd}.toolbar .r-menu select+div button{border-color:#ced4da}.toolbar .r-menu .input-group-append{height:30px}.toolbar .r-menu .input-group-append button{padding-top:3px}.toolbar .r-menu .btn:focus,.toolbar .r-menu .button:focus,.toolbar .r-menu button:focus{outline:none;box-shadow:none;border-color:none}.toolbar .r-menu .btn.btn-sm{height:30px;margin-left:15px}.toolbar .r-menu .btn.btn-sm:hover{color:#212529;background-color:#fff;border-color:none}.toolbar .r-menu .btn.btn-sm:active{background:#fff}.toolbar .r-menu .btn.btn-sm div{padding-top:3px}.toolbar .r-menu .btn-group.show .btn-outline-secondary{background-color:#fff;color:#212529}.toolbar .r-menu .btn-group.show .btn-outline-secondary:hover{background-color:#fff}.toolbar.justify-right{justify-content:flex-end}.toolbar.justify-right .r-menu>div>*{margin:0 10px}.toolbar.t-shadow{box-shadow:0 5px 3px 0 hsla(0,0%,78.4%,.5)}@media (max-width:1390px){.toolbar{padding:3px 10% 1px}}@media (max-width:1250px){.toolbar .r-menu a.button-extra,.toolbar .r-menu button.button-extra{max-width:30%}}@media (max-width:900px){.toolbar .r-menu{overflow:scroll}.toolbar .r-menu a.button-extra,.toolbar .r-menu button.button-extra{overflow:unset;max-width:100%}.toolbar .r-menu>div{margin-left:3rem;position:relative;display:flex;flex-wrap:unset;width:100%;align-items:center;justify-content:flex-start}.toolbar .r-menu .select-wrapper+div{display:none}}@media (max-width:450px){.toolbar{padding:3px 1% 1px}}@media (max-width:450px){.mobile-toolbar .toolbar{display:flex;flex-direction:column-reverse;padding-bottom:5px;height:100%}.mobile-toolbar .toolbar .r-menu{height:50%;margin-top:15px}.mobile-toolbar .toolbar .r-menu .input-group>div:first-child{width:100%;display:flex;justify-content:center;margin:15px 0}.mobile-toolbar .toolbar .r-menu .input-group select{margin-left:100px}.mobile-toolbar .toolbar .r-menu .input-group select+div{margin-right:85px}.mobile-toolbar .toolbar .r-menu .input-group>.btn-group{width:60%;margin-left:75px;margin-top:15px}.mobile-toolbar .toolbar .l-menu{display:flex;flex-direction:column-reverse;justify-content:flex-end;align-items:center;-webkit-transform:none;transform:none;height:50%;margin-top:40px}.mobile-toolbar .toolbar .l-menu button{width:30px;height:30px}.mobile-toolbar .toolbar .l-menu button svg{width:17px;height:30px}}.edit-ip form .dedicated-form-group{-webkit-transform:translateX(3rem);transform:translateX(3rem);margin-bottom:2rem}div.edit-item form label.label-wrapper{align-items:center}div.edit-item form label.label-wrapper span{text-transform:lowercase}div.edit-item form div.assigned-user{padding-left:25px}div.edit-item form div.assigned-user select{width:48.4%}.content .edit-template.edit-nginx .toolbar .search-toolbar-name{width:-webkit-fit-content;width:fit-content}.content .edit-template.edit-nginx .toolbar .link{width:-webkit-fit-content;width:fit-content;margin-left:15px}.content .edit-template.edit-nginx .toolbar .link a{text-decoration:none;font-size:12px;text-transform:uppercase;color:#777;font-weight:700}.content .edit-template.edit-nginx .toolbar .link a:hover{color:#f8b014}.content .edit-template.edit-nginx textarea{width:75%}.content .edit-template.edit-nginx .checkbox-wrapper label{text-transform:capitalize}.content .edit-template.edit-nginx svg{margin-left:5px}.content .edit-template.edit-pgsql .toolbar .search-toolbar-name{width:-webkit-fit-content;width:fit-content}.content .edit-template.edit-pgsql textarea{width:75%}.content .edit-template.edit-pgsql .checkbox-wrapper label{text-transform:capitalize}.content .edit-backup-exclusions .toolbar .search-toolbar-name{width:auto}.btn-group button{border:0}.btn-group button>span{display:inline-block;vertical-align:bottom;margin-left:5px;height:100%;width:auto}.btn-group button:after{display:none}.dropdown-menu{padding:0;border-radius:0;font-size:13px;width:200px}.dropdown-menu ul{padding:0;margin:0;display:inline-block;list-style:none;height:auto;width:100%;color:#333}.dropdown-menu ul li{display:flex;width:100%;height:37.5px;border-top:1px solid #dbdbdb}.dropdown-menu ul li .arrow-down{float:right}.dropdown-menu ul li .dropdown-item:hover{background:#bdbdbd}.dropdown-menu ul li>span:first-child{width:75%;padding:0 5px}.dropdown-menu ul li>span:nth-child(2){display:flex;justify-content:center;align-items:center;width:25%}.dropdown-menu ul li span{padding:0 5px 0 10px;line-height:38px}.dropdown-menu ul li span.active{background:#ffc900}.dropdown-menu ul li span+span{text-align:center}.dropdown-menu ul li:first-child{border-width:0 0 1px}.search-input-form{display:flex;width:180px}.search-input-form input{height:30px;margin-left:10px;border-radius:0}.search-input-form button{display:flex;align-items:center;justify-content:center;border-radius:0;border:1px groove #fff;height:30px}.list-item{display:flex;justify-content:flex-start;align-items:flex-start;font-size:18px;position:relative;padding:25px 0;border-left:2px solid #fff;border-bottom:1px solid #ddd;color:#686868}.list-item:hover .actions,.list-item:hover .l-col div.star div svg{opacity:1}.list-item .l-col .suspended{letter-spacing:3px}.list-item .l-col .text-status{font-size:10px}.list-item .l-col div.star{display:flex;align-items:center}.list-item .l-col div.star div.checkbox{margin:0 25% 4px 0}.list-item .r-col .stats div>span{width:50%;text-align:left}.list-item .r-col .stats .c-2 div>span{width:50%}.list-item .r-col div.bandwidth span,.list-item .r-col div.disk span{width:auto}.list-item .date{font-size:13px;margin:20px 0 10px}.list-item.toggled{background:#feef9a}.list-item.starred{border-left:2px solid #2c54ac}.list-item.starred .l-col div.star div>svg{opacity:1;color:#2c54ac}.list-item.suspended{background:#eaeaea;color:silver}.list-item.suspended .r-col div,.list-item.suspended .r-col span{color:silver!important}.list-item.suspended.toggled{background:#f2eab8;color:#b2ac87}.list-item.suspended.toggled .l-col,.list-item.suspended.toggled .r-col .name,.list-item.suspended.toggled .r-col .stats{color:#b2ac87!important}.list-item.outdated{background:#ffcaca;border-left:5px solid #ff6f6f}.list-item.toggled.outdated{background:#755d5d;color:#000}.list-item.toggled.outdated .stat{color:#000}.list-item.stopped{background:#eaeaea}.list-item.focused{border-left:2px solid #f8b014}.list-item.focused .l-col div.star div>svg{color:#f8b014}.list-item.focused .actions{opacity:1}.list-item.focused .actions div>a,.list-item.focused .actions div>button{padding-top:6.5px;padding-bottom:6.5px}.list-item.focused .actions div>a .shortcut-button,.list-item.focused .actions div>button .shortcut-button{border-radius:50%;width:25px;height:25px;margin-left:15px;background:#f8b014;color:#fff;display:flex;justify-content:center;align-items:center;font-size:14px}.list-item.focused .actions div>a .shortcut-button.html-unicode,.list-item.focused .actions div>button .shortcut-button.html-unicode{align-items:flex-end}.list-item.focused .actions div>a .shortcut-button.del,.list-item.focused .actions div>button .shortcut-button.del{text-transform:capitalize;font-size:10px}.internetProtocols .ip-wrapper .name svg{margin:0 10px;font-size:20px}.l-menu{-webkit-transform:translate(35px,50%);transform:translate(35px,50%)}.l-menu a,.l-menu button{display:flex;justify-content:center;align-items:center;background:#2c54ac;border-radius:100%;color:#fff;width:45px;height:43px;outline:none;border:none;text-decoration:none}.l-menu a:hover,.l-menu button:hover{background:#d7dcef}.l-menu a:hover span.add,.l-menu button:hover span.add{display:block;color:#2c54ac;background:#d7dcef}.l-menu a:hover svg,.l-menu button:hover svg{color:#2c54ac}@media screen and (max-width:900px){.l-menu a span.add,.l-menu button span.add{display:none!important}}.l-menu a:active,.l-menu button:active{background:#2c54ac}.l-menu a:active span.add,.l-menu button:active span.add{display:block;color:#fff;background:#2c54ac}.l-menu a:active svg,.l-menu button:active svg{color:#fff}.l-menu a span.add,.l-menu button span.add{width:-webkit-max-content;width:max-content;display:none;padding:4px 10px 4px 25px;background:#2c54ac;border-radius:15px;color:#fff;font-size:15px;position:absolute;left:25px;z-index:-1;text-align:right}.l-menu a svg,.l-menu button svg{width:31px;height:21px}@media screen and (max-width:900px){.l-menu{-webkit-transform:unset;transform:unset}}.l-menu.none{display:none}.exclusions-list .l-menu.backup-details-icon,.servers-list .l-menu.backup-details-icon{-webkit-transform:translateX(2px);transform:translateX(2px)}input{border-radius:0}.select-wrapper{display:flex}.select-wrapper select{width:auto}.select-wrapper button,.select-wrapper select{border-radius:0}div.modal{z-index:2}div.content .modal .modal-content{width:75%}div.content .modal .modal-content .modal-header button.close{color:#fff}div.content .modal .modal-content .modal-footer .btn-primary{background:#2c54ac;border:1px solid #2c54ac}.edit-web .additional-ftp .title .indexed-name{font-weight:700}.additional-ftp .title span:first-child{color:#555;font-size:15px;font-weight:700}.additional-ftp .form-transform{margin-top:15px;-webkit-transform:translateX(3rem);transform:translateX(3rem)}.additional-ftp .form-transform .form-group.username{display:flex;flex-direction:column}.additional-ftp .form-transform .form-group.username label{margin:0}.additional-ftp .form-transform .form-group.username span{font-size:10pt;color:#777;font-weight:700;margin-bottom:10px}.additional-ftp .form-transform .form-group.username .input-wrapper{display:flex;align-items:center}.additional-ftp .form-transform .form-group.username .input-wrapper span{color:#777;font-size:15px;font-style:italic;font-weight:400;margin-left:15px}.additional-ftp .path-note{font-weight:700;color:#555}.ssl-support{-webkit-transform:translateX(3rem);transform:translateX(3rem)}.ssl-support .lets-encrypt-span{font-style:italic;color:#89a40a}.statistics-authorization,.web-stats-wrapper{-webkit-transform:translateX(3rem);transform:translateX(3rem)}.web-stats-wrapper{display:flex;flex-direction:column}.add-web form .form-group .checkbox-wrapper{display:flex;align-items:center}.add-web form .form-group .checkbox-wrapper label{margin:0 10px}.add-web form .advanced-options-button button{display:flex;align-items:center;padding:0}.add-web form .advanced-options-button button svg{margin-left:10px}.add-web #c-panel-modal{padding:2rem}.add-web #c-panel-modal form .form-group input[type=text]{width:90%!important}.add-web #c-panel-modal label{color:#fff}.add-web #c-panel-modal .form-group{padding-left:1.5rem}.add-web #c-panel-modal .form-group textarea{width:90%!important}.add-web #c-panel-modal .l-col{display:none}.form-group.text-on-the-right .input-wrapper{display:flex;align-items:center}.form-group.text-on-the-right .input-wrapper span{margin-left:15px;color:#777}.input-wrapper{display:flex;align-items:center}.input-wrapper span.italic{margin-left:15px;color:#777}.edit-firewall form .form-group .label-wrapper span{text-transform:none}.hotkeys-list{position:fixed;bottom:0;right:0;display:flex;flex-direction:column;-webkit-transform:translateX(-45%);transform:translateX(-45%);width:53%;background:rgba(34,46,68,.87);font-size:13px}.hotkeys-list .head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #fcac04}.hotkeys-list .head .name{text-transform:uppercase;font-size:12px;font-weight:700;color:#fcac04;letter-spacing:2px;padding:15px}.hotkeys-list .head .close{padding:12px;opacity:1!important}.hotkeys-list .head .close svg{color:#fcac04}.hotkeys-list .head .close:hover{cursor:pointer;background:#222e44}.hotkeys-list .body{display:flex}.hotkeys-list .body ul{padding:25px 10px;width:50%;list-style:none;margin:0 0 0 3rem}.hotkeys-list .body ul li{padding:5px}.hotkeys-list .body ul li span.name{margin-right:15px;color:#fcac04;font-weight:700}.hotkeys-list .body ul li span.description{color:#fff}.hotkeys-list .body ul li.space-top{padding-top:30px}.hide{display:none}.edit-template.add-db form span.italic{font-style:italic}.edit-template.add-db form .form-group .label-wrapper{display:flex}.edit-template.add-db form .form-group .label-wrapper span.italic{margin-left:1.5rem;color:#555}.edit-template.add-db form .form-group .input-wrapper{display:flex;align-items:center}.edit-template.add-db form .form-group .input-wrapper span.italic{font-size:15px;font-weight:700;margin-left:1.5rem;color:#777;font-weight:400}.edit-template.add-db form .form-group.database{margin-top:1rem}.edit-template.add-db form span.prefix{color:#777;font-style:italic}.content .edit-template.add-firewall .toolbar .search-toolbar-name{width:-webkit-fit-content;width:fit-content}.content .edit-template.add-firewall label.label-wrapper[for=ip] span{text-transform:unset!important}.cron-form-body .fourth-tab-selects,.cron-form-body .third-tab-selects{display:flex}.cron-form-body .fourth-tab-selects div.hour select,.cron-form-body .third-tab-selects div.hour select{width:70px;margin-left:4.8rem}.cron-form-body .fourth-tab-selects div.minute label,.cron-form-body .fourth-tab-selects div.minute select,.cron-form-body .third-tab-selects div.minute label,.cron-form-body .third-tab-selects div.minute select{margin:0}.cron-form-body .fifth-tab-selects{display:flex}.cron-form-body .fifth-tab-selects>div{width:10%}.cron-form-body .fifth-tab-selects>div select{width:70px}.cron-form-body .fifth-tab-selects>div.date{margin:0 0 1rem}.cron-form-body .fifth-tab-selects>div.minute{width:200px}.cron-form-body .fifth-tab-selects>div.hour{width:155px;margin-left:1rem}.cron-form-body .fifth-tab-selects>div.hour select{margin-left:.75rem}.cron-form-body .fifth-tab-selects>div.date{width:240px}.cron-form-body .fifth-tab-selects>div.date select{margin-left:5.85rem}.cron-job-generator{border:1px solid #d9d9d9;padding:1rem 1.5rem;margin-left:2rem;width:90%}.cron-job-generator .header{display:flex;padding:.4rem 0}.cron-job-generator .header a{color:#222;text-transform:uppercase;font-size:11px;font-weight:bolder;margin-right:2.3rem;text-decoration:none}.cron-job-generator .header a:hover{color:#f8b014}.cron-job-generator .header a:active{color:#1e5cb2}.cron-job-generator .header a.active{color:#fdb51c}.cron-job-generator .body{padding:2rem 0 .4rem}.cron-job-generator .body form .form-group{display:flex;align-items:center}.cron-job-generator .body form .form-group label{width:26%;font-size:13px;margin:0}.cron-job-generator .body form .form-group input{width:auto}.cron-job-generator .body form .form-group.minute select{width:70px}.cron-job-generator .body form .form-group select,.cron-job-generator .body form .form-group textarea{border-radius:0}.cron-job-generator .body form .form-group select:hover,.cron-job-generator .body form .form-group textarea:hover{border-color:#909090}.cron-job-generator .body form .form-group select:active,.cron-job-generator .body form .form-group select:focus,.cron-job-generator .body form .form-group textarea:active,.cron-job-generator .body form .form-group textarea:focus{outline:none;border-color:#1e5cb2;box-shadow:unset}.cron-job-generator .body form .form-group select{padding:.4rem .25rem;border-color:#d9d9d9;color:#555}.cron-job-generator .body form .form-actions button{background:#2c54ac;color:#fff;border-radius:3px;padding:.35rem 1.1rem;font-size:14px}.cron-job-generator .body form .form-actions button:hover{color:#2c54ac;background:#d7dcef}.cron-job-generator .body form .form-actions button:active{color:#fff;background:#1e5cb2}.cron-job-generator .body form .form-group.show{display:block}.cron-job-generator .body form .form-group.hide{display:none}.edit-cron form .form-group{width:100%}.edit-cron form .form-group input{width:inherit}.edit-cron form .form-group.command{width:100%}.edit-cron form .cron-form-body{display:flex}.edit-cron form .cron-form-body .body-col-1{width:30%}.edit-cron form .cron-form-body .body-col-1 input{width:100%}.edit-cron form .cron-form-body .body-col-2{display:flex;justify-content:flex-start;align-items:flex-start;padding:1.7rem 1rem;width:70%}#edit-cron>.form-group input{width:95%!important}.edit-package form .form-group .input-wrapper{display:flex;align-items:center}.edit-package form .form-group .input-wrapper button{-webkit-transform:translateX(5px);transform:translateX(5px)}.content .edit-template.edit-httpd .toolbar .search-toolbar-name{width:-webkit-fit-content;width:fit-content}.content .edit-template.edit-httpd .toolbar .search-toolbar-name a{color:#fcac04;text-decoration:none}.content .edit-template.edit-httpd .toolbar .search-toolbar-name a:hover{color:#777}.content .edit-template.edit-httpd .toolbar .link{width:-webkit-fit-content;width:fit-content;margin-left:15px}.content .edit-template.edit-httpd .toolbar .link a{text-decoration:none;font-size:12px;text-transform:uppercase;color:#777;font-weight:700}.content .edit-template.edit-httpd .toolbar .link a:hover{color:#f8b014}.content .edit-template.edit-httpd textarea{width:75%}.content .edit-template.edit-httpd .checkbox-wrapper label{text-transform:capitalize}.content .edit-template.edit-httpd svg{margin-left:5px}.edit-template.add-cron form .form-group{width:100%}.edit-template.add-cron form .form-group input{width:inherit}.edit-template.add-cron form .form-group.command{width:100%}.edit-template.add-cron form .cron-form-body{display:flex}.edit-template.add-cron form .cron-form-body .body-col-1{width:30%}.edit-template.add-cron form .cron-form-body .body-col-2{display:flex;justify-content:flex-start;align-items:flex-start;padding:1.7rem 1rem;width:70%}.edit-template.add-package form label.label-wrapper{display:flex;align-items:flex-end;width:-webkit-fit-content;width:fit-content}.edit-template.add-package form label.label-wrapper span{font-weight:400;text-transform:uppercase;margin-left:5px;font-size:12px}.edit-template.add-package form label.label-wrapper span.lowercase{text-transform:lowercase}.edit-template.add-package form .input-wrapper{display:flex;align-items:center}.edit-template.add-package form .input-wrapper svg{cursor:pointer;color:#bec4ca;margin-left:10px}.edit-template.add-package form .input-wrapper svg:hover{color:#abb1b6}.edit-server .modules{display:flex;flex-direction:column;align-items:flex-start}.edit-server .modules>div{display:flex;align-items:center;width:100%;margin:5px 0}.edit-server .modules>button{margin:15px 0}.edit-server .modules>button svg{margin-left:10px}.edit-server .modules .form-group a{text-decoration:none;color:#2c54ac;font-weight:700;font-size:14px}.edit-server .modules .form-group a:hover{color:#d7dcef}.edit-server .modules .additional-info{margin-top:10px;-webkit-transform:translateX(3rem);transform:translateX(3rem)}.edit-server .modules .additional-info>div{display:flex;margin:5px 0}.edit-server .modules .additional-info>div span{font-size:12px;color:#555}.edit-server .modules .additional-info>div span:first-child{width:180px}.edit-server .modules .server-dns-option,.edit-server .modules .server-mail-option,.edit-server .modules .server-mail-option .hosts,.edit-server .modules .server-mail-option .mail-cert-info,.edit-server .modules .server-plugins-option,.edit-server .modules .server-plugins-option .fm-module,.edit-server .modules .server-plugins-option .sftp-module,.edit-server .modules .server-plugins-option .soft-module,.edit-server .modules .server-ssl-option,.edit-server .modules .server-ssl-option .domain-group,.edit-server .modules .server-web-option{-webkit-transform:translateX(3rem);transform:translateX(3rem)}.edit-server .modules .server-plugins-option .fm-module,.edit-server .modules .server-plugins-option .sftp-module{font-size:15px;color:#555}.edit-server .modules .server-plugins-option .buy-license{display:flex;margin:5px 0}.edit-server .modules .server-plugins-option .buy-license a{color:#fff;background:#2c54ac;border:none;border-radius:3px;font-size:13px;font-weight:700;padding:7px 15px;text-transform:capitalize;text-decoration:none;width:-webkit-fit-content;width:fit-content;margin-right:10px}.edit-server .modules .server-plugins-option .buy-license a:hover{color:#2c54ac;background:#d7dcef}.edit-server .modules .server-plugins-option .buy-license a:hover{color:#fff;background:#1e5cb2}.edit-server .modules .server-plugins-option .buy-license+span{display:block;margin-top:15px;font-style:italic;font-size:12px}.edit-server .modules .server-plugins-option .license-description{display:flex;align-items:center;margin:1rem 0}.edit-server .modules .server-plugins-option .license-description>span{color:#2c54ac}.edit-server .modules .server-plugins-option .license-description .form-group{margin:0 0 0 20px;width:60%}.edit-server .modules .server-plugins-option .license-description .form-group label{display:none}.mail-info-block .select-group select{margin-bottom:10px;margin-top:5px;padding:0;border:none;color:#2c54ac;text-transform:uppercase;font-size:11px;font-weight:700;cursor:pointer}.mail-info-block .select-group .details{font-size:14px;color:#777}.mail-info-block .select-group .details>div{display:flex}.mail-info-block .select-group .details>div span:first-child{width:50%}.content .edit-template.edit-service .toolbar .search-toolbar-name{width:-webkit-fit-content;width:fit-content}.content .edit-template.edit-service textarea{width:75%}.content .edit-template.edit-service .checkbox-wrapper label{text-transform:capitalize}.content .edit-template.add-mail-account .search-toolbar-name{width:-webkit-fit-content;width:fit-content}.content .edit-template.add-mail-account form .r-1{display:flex}.content .edit-template.add-mail-account form .r-1 .c-1{width:55%}.content .edit-template.add-mail-account form .r-1 .c-1 .form-group>*{width:85%}.content .edit-template.add-mail-account form .r-1 .c-1 .form-group .password-wrapper input{width:100%}.content .edit-template.add-mail-account form .r-1 .c-1 .form-group:nth-child(3)>div{display:flex}.content .edit-template.add-mail-account form .r-1 .c-1 .form-group:nth-child(3)>div input{width:100%}.content .edit-template.add-mail-account form .r-1 .c-1 .form-group:nth-child(3)>div input+button{padding-left:10px}.content .edit-template.add-mail-account form .r-1 .c-2{width:45%;height:100%;border:1px solid #d9d9d9;padding:0 5px 12px 20px}.content .edit-template.add-mail-account form .r-2>button{padding-left:0;margin-bottom:1.5rem}.content .edit-template.add-mail-account form .r-2>button svg{margin-left:.75rem}.content .edit-template.add-mail-account form .r-2 .form-group .input-wrapper{display:flex}.edit-dns .label-wrapper span{text-transform:uppercase!important}.edit-web .ssl-support .additional-info{display:flex;flex-direction:column}.edit-web .ssl-support .additional-info span:first-child{width:120px;display:inline-block}.edit-web .ssl-support .additional-info span:nth-child(2){width:-webkit-fit-content;width:fit-content}.edit-web .ssl-support a.generate-csr{text-transform:none;text-decoration:none;color:#2c54ac;font-weight:700}.edit-web .ssl-support a.generate-csr:hover{color:#f8b014}.edit-web .web-stat-additional{-webkit-transform:translateX(3rem);transform:translateX(3rem)}.edit-web #c-panel-modal{padding:2rem}.edit-web #c-panel-modal form .form-group input[type=text]{width:90%!important}.edit-web #c-panel-modal label{color:#fff}.edit-web #c-panel-modal .form-group{padding-left:1.5rem}.edit-web #c-panel-modal .form-group textarea{width:90%!important}.edit-web #c-panel-modal .l-col{display:none}.content .edit-template.edit-php .toolbar .search-toolbar-name{width:-webkit-fit-content;width:fit-content;color:#555}.content .edit-template.edit-php .toolbar .link,.content .edit-template.edit-php .toolbar .search-toolbar-name{width:-webkit-fit-content;width:fit-content}.content .edit-template.edit-php .toolbar .link a,.content .edit-template.edit-php .toolbar .search-toolbar-name a{text-decoration:none;font-size:12px;text-transform:uppercase;color:#555;font-weight:700}.content .edit-template.edit-php .toolbar .link a:hover,.content .edit-template.edit-php .toolbar .search-toolbar-name a:hover{color:#f8b014}.content .edit-template.edit-php .toolbar .link{margin-left:15px}.content .edit-template.edit-php .toolbar .link a{color:#fcac04}.content .edit-template.edit-php .toolbar .link a:hover{color:#555}.content .edit-template.edit-php textarea{width:75%}.content .edit-template.edit-php .checkbox-wrapper label{text-transform:capitalize}.content .edit-template.edit-php svg{margin-left:5px}.r-menu>div>button{color:grey}.r-menu>div>button:hover{color:grey}.firewalls .list-item .l-col .date{display:none}.firewalls .list-item .r-col .stats{margin-top:15px}.firewalls .list-item .r-col .stats .cron-col div span{font-weight:unset;font-size:13px}.firewalls .list-item .r-col .stats .cron-col div span.stat{font-weight:700}.firewalls-wrapper .r-col .stats>div{flex:none;width:17%}.content .edit-template.edit-bind9 .toolbar .search-toolbar-name{width:-webkit-fit-content;width:fit-content}.content .edit-template.edit-bind9 textarea{width:75%}.content .edit-template.edit-bind9 .checkbox-wrapper label{text-transform:capitalize}.content .edit-template.edit-mysql .toolbar .search-toolbar-name{width:-webkit-fit-content;width:fit-content}.content .edit-template.edit-mysql textarea{width:75%}.content .edit-template.edit-mysql .checkbox-wrapper label{text-transform:capitalize}.add-dns form .advanced-options-button svg,.content .edit-template.edit-mysql svg{margin-left:5px}.edit-item form div.name-server-input-wrapper{display:flex;align-items:center;margin:10px 0}.edit-item form div.name-server-input-wrapper button{margin-left:10px}.edit-item form .exp-date .optional{font-size:12px;padding:0 0 0 6px;font-weight:400}.backups-restore-settings .list-item .r-col .stats .c-1{margin:12px 0 0}.backups-restore-settings .list-item .actions>div{font-weight:bolder;text-transform:uppercase;height:38px}.backups-restore-settings .list-item .actions>div a,.backups-restore-settings .list-item .actions>div button{display:flex;justify-content:center;align-items:center;color:#555;padding:10px 15px;text-decoration:none}.backups-restore-settings .list-item .actions>div a:hover,.backups-restore-settings .list-item .actions>div button:hover{background:#ececec;color:#fff}.backups-restore-settings .list-item .actions>div a:hover svg,.backups-restore-settings .list-item .actions>div button:hover svg{color:#fff}.backups-restore-settings .list-item .actions>div svg{color:#555}.backups-restore-settings .list-item .actions .link-restore svg{color:#fff}.backups-restore-settings .list-item .actions .link-restore:hover{color:#2c54ac;background-color:#d7dcef}.backups-restore-settings .list-item .actions .link-restore:hover{color:#fff;background-color:#1e5cb2}.backups-restore-settings .toolbar .backup-details-icon svg{-webkit-transform:translateX(2px);transform:translateX(2px)}.backups-restore-settings .mail-accounts-wrapper .list-item .l-col .star .checkbox+div{display:none}.backups-wrapper .list-item .c-1 div>span{padding-left:15px}.backups-restore-details .list-item .star{display:none}.cron-jobs-list.r-col .name{font-size:25px}.cron-col>div{display:flex;flex-direction:column}.cron-col>div span{font-size:18px;font-weight:bolder}.r-menu>div>button{font-size:13px;background:#fff;border-color:#fff;color:#555}.r-menu>div>button:hover{background:#fff;border-color:#fff;color:#555}.cron-wrapper .r-col .stats>div{flex:none;width:17%}.cron-wrapper .actions>div:first-child a:hover,.cron-wrapper .actions>div:first-child button:hover{background:#d7dcef}.cron-wrapper .actions>div:nth-child(2) a:hover,.cron-wrapper .actions>div:nth-child(2) button:hover{background:#ff3438}.packages .r-col .stats .c-2{padding-left:2rem}.packages .r-col .stats .c-2 div>span{width:50%}.packages .r-col .stats .c-3{margin-left:0}.packages .r-col .stats .c-3 div.ns{margin-top:5px}.packages-wrapper .r-col .stats .c-1 .stat{margin-left:1rem}.packages-wrapper .r-col .stats .c-2{padding:0}.password-wrapper{display:flex}.password-wrapper button{color:#2c54ac}.password-wrapper button:hover{color:#f8b014}.password-wrapper span.eye{margin-left:9px}.password-wrapper span.eye-slash{margin-left:7px}button.generate-password{color:#2c54ac;font-weight:700}button.generate-password:hover{color:#f8b014}button.generate-password:active{color:#fdb51c}input{color:#555}label[for=email]{width:100%;display:flex;align-items:center}label[for=email]>div{display:flex;align-items:center}label[for=email]>div input{height:-webkit-fit-content;height:fit-content;margin:0 10px}label[for=email]>div label{margin:0;font-size:12px}.statistics-list.updates .text-status{display:flex;margin-top:20px}.statistics-list.updates .text-status>div.checkbox{margin-bottom:0;margin-right:10px}.statistics-list.updates .list-item .star{display:none}.statistics-list.updates .r-col .c-1{margin-right:10px}.statistics-list.updates .toolbar{height:44px}.servers-list .servers-wrapper .list-item.sys-info .r-col{padding:0}.servers-list .servers-wrapper .list-item.sys-info .r-col .name{font-size:35px}.servers-list .servers-wrapper .list-item.sys-info .r-col .c-2 span>span.stat{margin-left:10px}.servers-list .servers-wrapper .list-item.sys-info .r-col .c-3{padding-right:0}.servers-list .servers-wrapper .list-item.sys-info .r-col .c-3>div>span{width:100%}.servers-list .actions a.link-gray.restart svg,.servers-list .actions button.link-gray.restart svg{width:1rem;height:1rem}.servers-list .list-item .star{display:none}.servers-list .r-col .stats .c-2,.servers-wrapper .list-item .r-col .stats .c-3{padding:0}.servers-wrapper .list-item .r-col .stats .c-3 span.stat{margin-left:0}.servers-wrapper .l-col{display:flex;align-items:center;height:55px}.servers-wrapper .l-col .checkbox{margin:0}.servers-wrapper .r-col{padding-left:2rem}.servers-wrapper .r-col .server-name{color:#000;font-size:28px}.servers-wrapper .list-item .r-col .c-3>div>span{-webkit-transform:translateX(-10px);transform:translateX(-10px)}.servers-wrapper .list-item .r-col .stats div>span{width:100%}.servers-list .l-col .text-status{display:block}.servers-list .l-col div.star{display:none}.servers-list .l-col .servers-wrapper .list-item:first-child{margin-top:0}.servers-list .l-col .servers-wrapper .l-col{width:16.3%}.servers-list .l-col .servers-wrapper .l-col .server-name{font-size:28px}.menu-wrapper{position:fixed;width:100%;font-size:15px;background:#fff}.menu-wrapper .menu-stat{display:flex;flex-direction:row;margin-top:50px;min-height:45px;max-height:135px;height:145px;width:100%;padding:0 13%}.menu-wrapper .menu-stat>div{border-bottom:3px solid #fff;overflow:hidden;width:14.3%}.menu-wrapper .menu-stat>div div,.menu-wrapper .menu-stat>div h3{width:100%}.menu-wrapper .menu-stat>div h3{font-weight:700;font-size:14px;text-transform:uppercase;margin-bottom:30px}.menu-wrapper .menu-stat>div div{display:flex;justify-content:space-between;font-size:12px;color:#a0a0a0;text-align:left}.menu-wrapper .menu-stat>div div>span:first-child{width:120px}.menu-wrapper .menu-stat>div div>span:nth-child(2){width:80px;padding-left:10px}.menu-wrapper .menu-stat .stat a,.menu-wrapper .menu-stat .stat button{display:flex;flex-direction:column;width:100%;height:100%;color:#000;text-decoration:none;text-align:left}.menu-wrapper .menu-stat .stat button{background:none;border:none;padding:0}.menu-wrapper .menu-stat .stat h3{font-size:14px}.menu-wrapper .menu-stat .stat:hover{cursor:pointer;border-bottom:3px solid #f8b014}.menu-wrapper .menu-stat .stat:hover h3{color:#fcac04}.menu-wrapper .menu-stat .stat:hover .stats{overflow:hidden}.menu-wrapper .menu-stat .stat:active{border-color:#fdb51c}.menu-wrapper .menu-stat .stat:active h3{color:#fcac04}.menu-wrapper .menu-stat .stat .stats{display:flex;flex-direction:column;padding-left:0}.menu-wrapper .menu-stat .l-active{border-bottom:3px solid #2c54ac}.menu-wrapper .menu-stat .l-active h3{color:#2c54ac;font-size:18px;margin-bottom:25px}.menu-wrapper .menu-stat .stat.focus{border-bottom:3px solid #f8b014!important}.menu-wrapper .menu-stat .stat.focus a,.menu-wrapper .menu-stat .stat.focus h3{color:#f8b014!important}.menu-wrapper.shadow{box-shadow:hsla(0,0%,78.4%,.5)}@media (max-width:1350px){.menu-wrapper .menu-stat{padding:0 10%}}@media screen and (max-width:1200px){.menu-wrapper{padding:0 10%}.menu-wrapper .menu-stat{padding:0}}@media screen and (max-width:1066px){.menu-wrapper .menu-stat{padding:0 10%;margin-top:40px}}@media screen and (max-width:1024px){.menu-wrapper .menu-stat{padding:0 10%}}@media (max-width:1066px){.menu-wrapper{padding:1%}.menu-wrapper .menu-stat{height:auto;min-height:auto}.menu-wrapper .menu-stat .stat h3{padding:0}}.mobile-top-nav-wrapper.hide{opacity:0}.mobile-top-nav-wrapper.show{z-index:5;opacity:1;position:fixed;width:100%;height:111px;background:#fff;display:flex;flex-direction:column;-webkit-animation:showMobileNav .3s forwards;animation:showMobileNav .3s forwards;margin-top:82px}.mobile-top-nav-wrapper.show .mobile-menu{padding:0 10%;flex-wrap:wrap;margin-top:15px}.mobile-top-nav-wrapper.show>div .top-link{display:flex;font-size:14px;padding:4px 0}.mobile-top-nav-wrapper.show>div .top-link:hover{background:#f8b014}.mobile-top-nav-wrapper.show>div .top-link:hover a,.mobile-top-nav-wrapper.show>div .top-link:hover button{color:#fff}.mobile-top-nav-wrapper.show div{display:flex}.mobile-top-nav-wrapper.show div a,.mobile-top-nav-wrapper.show div button{display:flex;justify-content:center;align-items:center;padding:0 10px!important;width:-webkit-fit-content;width:fit-content;height:100%;text-decoration:none;color:#000}.mobile-top-nav-wrapper.show div button{background:none;border:none}.mobile-top-nav-wrapper.show div:hover{cursor:pointer}.mobile-top-nav-wrapper.show div.active{background:#fff}.mobile-top-nav-wrapper.show div.active a,.mobile-top-nav-wrapper.show div.active button{color:#fcac04;font-weight:700}.mobile-top-nav-wrapper.show div.active a:hover,.mobile-top-nav-wrapper.show div.active button:hover{color:#fff}.mobile-top-nav-wrapper.show div.active a:active,.mobile-top-nav-wrapper.show div.active button:active{background:#fdb51c;color:#fff}.mobile-top-nav-wrapper.show div.active:hover{color:#fff;background:#f8b014}.mobile-top-nav-wrapper.show .toolbar{margin:0;position:relative;border:none}.mobile-top-nav-wrapper.show .mobile-stat-menu{box-shadow:0 5px 3px 0 hsla(0,0%,78.4%,.5)}.mobile-top-nav-wrapper.show .mobile-stat-menu .menu-wrapper{position:relative;height:auto;min-height:auto;padding:0;margin-top:9px}.mobile-top-nav-wrapper.show .mobile-stat-menu .menu-wrapper .menu-stat{margin:0}.mobile-top-nav-wrapper.show .mobile-stat-menu .menu-wrapper .menu-stat .stat{text-align:left;flex:1 1 auto;margin-bottom:15px}@media (max-width:1066px){.mobile-stat-menu .menu-wrapper .menu-stat{margin-top:40px}.mobile-stat-menu .menu-wrapper .menu-stat .stat .stats{display:none}}@media (max-width:900px){.mobile-toolbar .toolbar{padding:0 1%}}@media (max-width:725px){.mobile-top-nav-wrapper.show .menu-stat{display:flex;flex-wrap:wrap}.mobile-menu{padding:0 10%}}@-webkit-keyframes showMobileNav{0%{opacity:0}to{opacity:1}}@keyframes showMobileNav{0%{opacity:0}to{opacity:1}}.top-panel .profile-menu div{width:auto;height:auto}.top-panel .profile-menu button{cursor:default;background:none;box-shadow:unset;width:100%;height:100%}.top-panel .profile-menu button:hover{background:none}.top-panel .profile-menu button:active,.top-panel .profile-menu button:focus{outline:none;border:unset;background:unset;background-color:unset;border-color:unset}.top-panel .profile-menu .btn-danger:not(:disabled):not(.disabled).active,.top-panel .profile-menu .btn-danger:not(:disabled):not(.disabled):active,.top-panel .profile-menu .show>.btn-danger.dropdown-toggle{background-color:unset;border-color:unset;box-shadow:unset}.top-panel .profile-menu .dropdown-menu{display:none;height:auto;max-height:75vh;overflow:auto;cursor:default;background:#222e44;border:solid #fcac04;border-width:1px 0 0;box-shadow:0 0 10px -1px #222e44}.top-panel .profile-menu .dropdown-menu>div{cursor:default}.top-panel .profile-menu .dropdown-menu.show{display:flex;flex-direction:column;width:auto;width:340px;margin:0}.top-panel .profile-menu .dropdown-menu.show .dropdown-item{display:flex;justify-content:space-between;align-items:center;width:100%;padding-left:0;padding-right:5px}.top-panel .profile-menu .dropdown-menu.show .dropdown-item span.title{display:block;width:100%;padding:10px 0 0 10px;text-align:left;color:#fcac04}.top-panel .profile-menu .dropdown-menu.show .dropdown-item span.delete-notification{width:10px;height:10px;background:#fcac04;border-radius:50%;cursor:pointer}.top-panel .profile-menu .dropdown-menu.show .dropdown-item span.delete-notification:hover{border:2px solid #f8b014;background:transparent}.top-panel .profile-menu .dropdown-menu.show .dropdown-item:hover{background:none}.top-panel .profile-menu .dropdown-menu.show .dropdown-item+div{text-align:left;width:100%;padding:0 10px 20px;color:#ababab}.top-panel .profile-menu .dropdown-menu.show .dropdown-item+div a{display:contents;color:#e49d45}.top-panel .profile-menu .dropdown-menu.show .dropdown-item+div a:hover{color:#de9234}.top-panel .profile-menu .dropdown-menu.show .dropdown-divider{margin:0;border-color:#555;width:100%}.top-panel .profile-menu .dropdown-menu.show .dropdown-divider:last-child{display:none}.top-panel.small-device{display:none}.top-panel{display:flex;flex-direction:row;font-size:12px;position:fixed;width:100%;text-align:center;color:#fff;background:#222e44;height:34px;align-items:center;justify-content:space-between;padding:0 13%;z-index:2}.top-panel .container{display:flex;flex-direction:row;width:80%;height:100%}.top-panel .container .logo div img{width:82%}.top-panel .container .logo div:hover{background-color:transparent}.top-panel .container div{display:flex;justify-content:center;align-items:center}.top-panel .container div a,.top-panel .container div button{display:flex;justify-content:center;align-items:center;padding:0 10px!important;width:-webkit-fit-content;width:fit-content;height:100%;text-decoration:none;color:#fff}.top-panel .container div button{background:none;border:none}.top-panel .container div:hover{cursor:pointer}.top-panel .container div.active{background:#fff}.top-panel .container div.active a,.top-panel .container div.active button{color:#fcac04;font-weight:700}.top-panel .container div.active a:hover,.top-panel .container div.active button:hover{color:#fff}.top-panel .container div.active a:active,.top-panel .container div.active button:active{background:#fdb51c;color:#fff}.top-panel .container div.active:hover{background:#f8b014}.top-panel .left-menu{width:75%;margin:0;padding:0;justify-content:space-between}.top-panel .left-menu div.nav-link,.top-panel .left-menu div.top-link{flex:1 1 auto;height:100%;-webkit-transform:translateX(-5px);transform:translateX(-5px)}.top-panel .left-menu div.nav-link:hover,.top-panel .left-menu div.top-link:hover{background:#f8b014}.top-panel .left-menu div.logo{width:7rem;padding-left:0}.top-panel .left-menu div.logo a div{padding:0;width:6rem;flex:none}.top-panel .left-menu div.logo a div img{width:90%}.top-panel .left-menu div.logo:hover{background:transparent}.top-panel .left-menu div.fm{width:10rem}.top-panel .left-menu .top-link.focus a,.top-panel .left-menu .top-link.focus button{color:#fdb51c}.top-panel .profile-menu{width:25%;margin:0;padding:0;justify-content:flex-end}.top-panel .profile-menu div{height:100%}.top-panel .profile-menu div.bell{width:auto;color:#fcac04;padding:3px 0}.top-panel .profile-menu div.bell svg{border-radius:30px;width:40px;height:30px;padding:3px}.top-panel .profile-menu div.bell svg:hover{background:rgba(121,82,34,.58)}.top-panel .profile-menu div.bell svg:active{background:#866032}.top-panel .profile-menu .edit-user a{color:#a4abad;font-weight:700}.top-panel .profile-menu .edit-user a:hover{color:#f8b014}.top-panel .profile-menu .edit-user a:active{color:#fdb51c}.top-panel .profile-menu .logout-button a,.top-panel .profile-menu .logout-button button{color:#fff;cursor:pointer;font-weight:100}.top-panel .profile-menu .logout-button a:hover,.top-panel .profile-menu .logout-button button:hover{color:#f8b014}.top-panel .profile-menu .logout-button a:active,.top-panel .profile-menu .logout-button button:active{color:#fdb51c}.top-panel.long-profile .left-menu{justify-content:start}.top-panel.long-profile .left-menu>div{width:-webkit-fit-content;width:fit-content;flex:unset;padding:0 1rem}.top-panel.long-profile .left-menu .logo{width:7rem;padding:0;margin-right:1rem}.top-panel.long-profile .profile-menu{align-items:center}.top-panel.long-profile .profile-menu>.edit-user{width:-webkit-fit-content;width:fit-content}.top-panel.long-profile .profile-menu .long-username{display:flex;justify-content:center;align-items:center;width:auto}.top-panel.long-profile .profile-menu .long-username>span:first-child{margin-right:5px}.top-panel.long-profile .profile-menu .long-username>span:nth-child(3){margin-left:5px}@media screen and (max-width:1350px){.top-panel{padding:0 10%}}@media screen and (max-width:1025px){.top-panel{padding:0 8%}}@media (max-width:900px){.top-panel{display:none}.top-panel.small-device{display:flex;justify-content:space-between;padding:0 10%}.top-panel.small-device>.container{align-items:center;width:auto}.top-panel.small-device .hamburger{display:flex;flex-direction:column;justify-content:center;align-items:center;cursor:pointer}.top-panel.small-device .hamburger .bar{height:2px;margin:2px;width:20px;background:#fff}}@media (max-width:480px){.top-panel.small-device{padding:0}.top-panel .left-menu div.logo{width:unset}.top-panel .left-menu div.logo a div{width:5rem}}.main-nav{width:100%;height:249px}.main-nav .nav-wrapper{position:fixed;width:100%;-webkit-animation:toggleNav .75s forwards;animation:toggleNav .75s forwards;z-index:1}@media (max-width:900px){.main-nav{height:0}@-webkit-keyframes toggleNav{0%{-webkit-transform:translateY(-150px);transform:translateY(-150px)}to{-webkit-transform:translateY(50px);transform:translateY(50px)}}@keyframes toggleNav{0%{-webkit-transform:translateY(-150px);transform:translateY(-150px)}to{-webkit-transform:translateY(50px);transform:translateY(50px)}}}.statistic-item{flex:1 1 auto}.statistic-item .l-col{padding-left:0;flex-basis:14.3%}.statistic-item .r-col{flex-basis:85.7%}.statistic-item .r-col .stats{align-items:center}.statistic-item .r-col .stats .name{font-size:24px;color:#111}.statistic-item .r-col .stats .exclusion-items{flex-basis:83.4%}.statistic-item .r-col .stats>div{flex:unset;flex-basis:16.6%}.mail-accounts div.subtitle{color:#2c54ac;font-size:12px;margin:30px 0 18px 14.3%;text-transform:uppercase;font-weight:700}.mail-accounts .mail-accounts-wrapper>div:nth-child(2){border-top:1px solid #ddd}.mail-accounts .mail-accounts-wrapper div.list-item .r-col .stat.email{width:-webkit-fit-content;width:fit-content;text-transform:none}.mail-accounts .footer-actions-wrapper{display:flex;align-items:center;margin-top:2rem;padding-bottom:1.5rem}.mail-accounts .footer-actions-wrapper .total{margin:0 3.5rem 0 14.3%}.mail-accounts .footer-actions-wrapper .back a{padding:8px 38px;color:#777;background:#dfdedd;border:1px solid #dfdedd;border-radius:3px;font-size:13px;font-weight:700}.crossed{text-decoration:line-through}.catchall-mail{text-transform:none}.dns-records div.subtitle{color:#2c54ac;font-size:12px;margin:30px 0 18px 14.3%;text-transform:uppercase;font-weight:700}.dns-records .dns-records-wrapper>div:nth-child(2){border-top:1px solid #ddd}.dns-records .dns-records-wrapper div.list-item .r-col .stats>div{flex:unset}.dns-records .dns-records-wrapper div.list-item .r-col .stats .c-1{width:14.3%}.dns-records .dns-records-wrapper div.list-item .r-col .stats .c-2{margin-left:10px;width:14.3%}.dns-records .dns-records-wrapper div.list-item .r-col .stats .c-3{margin-left:0;width:14.3%}.dns-records .dns-records-wrapper div.list-item .r-col .stats .c-3 span{color:#888;font-weight:400}.dns-records .dns-records-wrapper div.list-item .r-col .stats .c-4{width:550px}.dns-records .dns-records-wrapper div.list-item .r-col .stats .c-4 .stat{display:block;white-space:normal;overflow:hidden;width:100%;text-overflow:ellipsis}.dns-records .footer-actions-wrapper{display:flex;align-items:center;margin-top:2rem;padding-bottom:1.5rem}.dns-records .footer-actions-wrapper .total{margin:0 3.5rem 0 14.3%}.dns-records .footer-actions-wrapper .back a{padding:8px 38px;color:#777;background:#dfdedd;border:1px solid #dfdedd;border-radius:3px;font-size:13px;font-weight:700}span.dns-records{padding-left:25px;font-size:18px;font-weight:400;font-style:italic;color:grey}.r-col .stats .c-2.w-30{padding-left:0}.statistic-item{display:flex;justify-content:center;padding:25px 0;border-bottom:1px solid #eee}.statistic-item .l-col .date{font-size:13px;margin-top:3rem}.statistic-item .r-col .name{font-size:32px}.statistic-item .r-col .c-1 .bandwidth,.statistic-item .r-col .c-1 .disk{width:220px}.statistic-item .r-col .c-1 div.sub-disk-stats{width:250px}.statistic-item .r-col .c-2{margin-right:0}.statistic-item .r-col .c-2 div>span:nth-child(2){margin:0;padding:0}.statistic-item .r-col .c-3.w-35 span.stat{width:80px}.statistic-item .r-col .c-3.w-35 div>span{width:50%;text-align:left}.statistic-item .r-col .c-3.w-35 div>span:nth-child(2){width:100px}.statistics-list{color:#686868}.statistics-list .toolbar{padding:6px 13%}.statistics-list .l-col{width:14.3%}.statistics-list .l-col div.date,.total{margin-top:25px}.total{margin-left:15%;font-size:12px;color:#929292}.statistic-item.focused{border-left:2px solid #5edad0;-webkit-transform:translateX(-2px);transform:translateX(-2px)}.statistic-item.focused .r-col .date{color:#5edad0}@media (max-width:1350px){.statistics-list .toolbar{padding:6px 9.5%}}.checkbox{margin-bottom:10px}.date{margin:10px 0}.l-col div.star{text-align:center}.l-col div.star div>svg{cursor:pointer;opacity:0;color:grey;padding:8px;width:35px;height:35px;border-radius:50%}.l-col div.star div>svg:hover{background:hsla(0,0%,70.6%,.47);color:#2c54ac}span.stat.email{display:block;width:-webkit-fit-content;width:fit-content;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.r-col .name{font-size:35px;margin-bottom:5px;color:#000}.r-col>div:nth-child(2){text-transform:capitalize}.r-col .stats{display:flex;justify-content:flex-start;align-items:flex-start}.r-col .stats .c-1,.r-col .stats .c-2,.r-col .stats .c-3{width:32%}.r-col .stats .c-1>div,.r-col .stats .c-2>div,.r-col .stats .c-3>div{display:flex;margin:5px 0}.r-col .stats .c-1 .bandwidth,.r-col .stats .c-1 .disk,.r-col .stats .c-2 .bandwidth,.r-col .stats .c-2 .disk,.r-col .stats .c-3 .bandwidth,.r-col .stats .c-3 .disk{width:200px;justify-content:space-between;margin-bottom:25px;border-bottom:1px dotted grey;position:relative}.r-col .stats .c-1 .bandwidth .percent,.r-col .stats .c-1 .disk .percent,.r-col .stats .c-2 .bandwidth .percent,.r-col .stats .c-2 .disk .percent,.r-col .stats .c-3 .bandwidth .percent,.r-col .stats .c-3 .disk .percent{position:absolute;left:0;bottom:-1px;height:2px;background:#2c54ac;width:0}.r-col .stats .c-1 .sub-disk-stats,.r-col .stats .c-2 .sub-disk-stats,.r-col .stats .c-3 .sub-disk-stats{width:250px}.r-col .stats .c-1 .sub-disk-stats>div,.r-col .stats .c-2 .sub-disk-stats>div,.r-col .stats .c-3 .sub-disk-stats>div{width:50%;display:flex;flex-direction:column;justify-content:space-between;font-size:11px}.r-col .stats .c-1 .sub-disk-stats>div span:first-child,.r-col .stats .c-2 .sub-disk-stats>div span:first-child,.r-col .stats .c-3 .sub-disk-stats>div span:first-child{width:40px}.r-col .stats .c-1 .sub-disk-stats>div:nth-child(2),.r-col .stats .c-2 .sub-disk-stats>div:nth-child(2),.r-col .stats .c-3 .sub-disk-stats>div:nth-child(2){width:70%;justify-content:flex-end}.r-col .stats .c-1 .sub-disk-stats>div:nth-child(2) span:first-child,.r-col .stats .c-2 .sub-disk-stats>div:nth-child(2) span:first-child,.r-col .stats .c-3 .sub-disk-stats>div:nth-child(2) span:first-child{width:80px}.r-col .stats .c-1{margin:15px 0 0}.r-col .stats .c-2{margin:15px 20px}.r-col .stats .c-2 div>span:first-child{width:120px}.r-col .stats .c-2 div>span:nth-child(2){width:150px;padding-left:15px}.r-col .stats .c-3 div>span:first-child{width:120px}.r-col .stats .c-3 div>span:nth-child(2){width:200px}.r-col .stats .c-3 div.ns{margin-top:20px}.r-col .stats>div{margin:15px 0;flex:1 1}.r-col .stats .stat{font-weight:700;color:#5f5f5f}.actions{position:absolute;top:0;right:0;opacity:0;display:flex;justify-content:center;align-items:center;font-size:12px;background:#dfdedd}.actions>div{font-weight:bolder;text-transform:uppercase;height:38px}.actions>div a,.actions>div button{display:flex;justify-content:center;align-items:center;color:#777;padding:10px 15px;text-decoration:none}.actions>div a:hover,.actions>div button:hover{background:#919191;color:#fff}.actions>div a:hover svg,.actions>div button:hover svg{color:#fff}.actions>div svg{color:#777}.actions>div:nth-child(2) a:hover{background:#2c54ac}.actions>div:nth-child(4) a:hover{background:#b00e5b}.actions svg{margin-left:12px}@media (max-width:1066px){.actions{opacity:1}}@media (max-width:850px){.actions>div{width:-webkit-fit-content;width:fit-content}.actions>div a,.actions>div button{width:100%}}.list-item.focused .r-col .name{color:#f8b014}@media (max-width:1066px){div.star div>svg{opacity:1!important}}.content .Toastify__toast-container{bottom:1em!important;top:unset}.timer-wrapper{display:flex;justify-content:center;align-items:center}.timer-wrapper button{border:none;background:none}.timer-wrapper button:active,.timer-wrapper button:focus{outline:none}.timer-wrapper .circle-wrapper{display:flex;justify-content:center;align-items:center;width:30px;height:30px}.timer-wrapper .circle-wrapper span.seconds:active,.timer-wrapper .circle-wrapper span.seconds:hover{background:unset}.timer-wrapper .circle-wrapper svg{height:30px;width:30px}.timer-wrapper .circle-wrapper svg circle{stroke:#000;fill:#fff;stroke-width:3%;stroke-dasharray:72;stroke-dashoffset:9;transform-box:fill-box;-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate(270deg);transform:rotate(270deg);transition:all 1s linear}.rrd-item{display:flex;justify-content:center;align-items:center;border-bottom:1px solid #eee;position:relative}.rrd-item .l-col .date{font-size:13px;margin-top:3rem}.rrd-item .l-col .time{font-size:13px;margin-top:2rem;text-align:left}.rrd-item .r-col .name{font-size:32px}.rrd-item .r-col .rrd-image{font-size:20px;text-transform:lowercase}.rrd-item.focused{border-left:2px solid #5edad0}.rrd-item.focused .l-col{padding-left:11px}.rrd-item.focused div.actions{opacity:1}div.content{margin-top:0}.rrd-list{color:#555}.rrd-list .toolbar{padding:6px 13%}.rrd-list .rrd-item{padding:25px 0;align-items:flex-start}.rrd-list .rrd-item .actions{opacity:0}.rrd-list .rrd-item .l-col{display:flex;flex-direction:column;margin:15px 40px 0 0}.rrd-list .rrd-item .l-col .date{margin:0}.rrd-list .rrd-item:hover .actions{opacity:1}.periods-wrapper{display:flex;align-items:center}.periods-wrapper>div:first-child{margin-left:8px}.periods-wrapper>div{cursor:pointer;margin:0 15px;font-size:14px}.periods-wrapper>div:hover{color:#f8b014}.periods-wrapper>div:active{color:#1e5cb2}.periods-wrapper .timer-wrapper>button svg:hover{color:#f8b014}.periods-wrapper .timer-wrapper>button svg:active{color:#1e5cb2}.periods-wrapper .timer-wrapper>div.circle-wrapper{cursor:default}.periods-wrapper>div.active{color:#fdb51c}@media (max-width:1350px){.rrd-list .toolbar{padding:6px 9.5%}}.banlist-wrapper{display:flex;flex-direction:column}.banlist-wrapper>div{margin-right:15px}.banlist-wrapper .list-item .l-col div.star .checkbox+div{display:none}.banlist-wrapper .buttons-wrapper{width:100%;display:flex;margin-top:4rem;align-items:center}.banlist-wrapper .buttons-wrapper .total{margin-right:15px;margin-top:0}.banlist-wrapper .buttons-wrapper button.back{font-weight:700;font-size:13px;margin-right:10px;padding:.35rem 2.25rem;border-radius:4px;transition:all .2s cubic-bezier(.4,.1,.5,.85);color:#777;background:#dfdedd;border:none;box-shadow:unset}.banlist-wrapper .buttons-wrapper button.back:hover{color:#fff;background:#999}.add-ftp,.web-stats{text-decoration:line-through}.r-col .stats .c-2{margin-left:20px}.r-col .c-2 span.stat,.r-col .c-3 span.stat{margin-left:1rem}.r-col .name{display:flex}.r-col .name>div:first-child{margin-right:2rem}.r-col .name>div+div{line-height:10px;margin-top:.75rem}.r-col .name .dns-name-span{font-style:italic;color:#858585;font-size:14px}div.crossed{text-decoration:line-through}.content .toolbar .search-toolbar-name{font-size:12px;text-transform:uppercase;color:#fcac04;font-weight:700;margin-left:14.3%;padding-left:7px;align-self:center}.content .toolbar .search-toolbar-right{display:flex;justify-content:center;align-items:center}.content .toolbar .search-toolbar-right .btn-group button{border:none;background:none;box-shadow:none}.content .toolbar .search-toolbar-right .btn-group button:active,.content .toolbar .search-toolbar-right .btn-group button:focus,.content .toolbar .search-toolbar-right .btn-group button:hover{background:none;box-shadow:none;outline:none;border:none;color:#686868}.content .toolbar .search-toolbar-right .search-input-form{padding-top:2px}.content .statistics-wrapper>.list-item:first-child{margin-top:0}.content .statistics-wrapper .list-item .l-col>.star{display:none}.content .statistics-wrapper .list-item .r-col div.object{text-transform:uppercase}.content .statistics-wrapper .list-item .r-col .c-2 .owner span,.content .statistics-wrapper .list-item .r-col .c-3 .status span{text-align:center;font-weight:700;text-transform:lowercase}.logs-list .toolbar{padding:6px 13%}.logs-list .statistic-item .l-col{font-size:13px;color:#888}.logs-list .statistic-item .l-col .date{margin:1rem 0 1.5rem}.logs-list .statistic-item .r-col .name{margin-top:.7rem;font-size:18px}.logs-list .statistic-item.focused{border-left:2px solid #5edad0}.logs-list .statistic-item.focused div.name{color:#5edad0}@media (max-width:1350px){.logs-list .toolbar{padding:6px 9.5%}}.logs-list .toolbar .search-input-form input{margin-bottom:5px}.logs-list .l-col{width:14%}.content{padding:0 13% 1%;margin-top:5px}.content>div>div.total{margin-top:25px;margin-left:14%;font-size:12px;color:#929292}@media (max-width:1350px){.content{padding:0 10%}}@media (max-width:1066px){.content{padding:5% 10%}}@media (max-width:900px){.content{margin-top:40px}}@media (max-width:800px){.content{padding-top:5%}}.fixed-buttons{position:fixed;right:15px;bottom:15px;display:flex;justify-content:space-around;align-items:center}.fixed-buttons>div{width:40px;height:40px;padding:5px;margin:5px;border-radius:50%;background:#c3c3c3;display:flex;justify-content:center;align-items:center}.fixed-buttons>div:hover{color:#2c54ac;background:#d7dcef}.fixed-buttons>div:active{color:#fff;background:#1e5cb2}.fixed-buttons>div button{display:flex;justify-content:center;align-items:center;background:none;border:none;width:100%;height:100%;border-radius:50%;-webkit-transform:scale(1.32);transform:scale(1.32)}.fixed-buttons>div button svg{color:#fff;height:70%}.fixed-buttons>div:first-child{color:#c3c3c3;background:none}.fixed-buttons>div:first-child:hover{background:#d7dcef}.fixed-buttons>div:first-child:hover button svg{color:#fff}.fixed-buttons>div:first-child:active{color:#fff;background:#1e5cb2}.fixed-buttons>div:first-child button{padding:0}.fixed-buttons>div:first-child button svg{color:#c3c3c3}@media screen and (max-width:1066px){.fixed-buttons>div:first-child{display:none}}@media screen and (max-width:450px){.content{padding:5% 1%}}.panel-wrapper .logo-img img{width:82%}.panel-wrapper .logo-img:hover{background-color:transparent}.panel-wrapper .nav-link{padding:0}.panel-wrapper .left-menu{justify-content:unset}.panel-wrapper .left-menu .logo{width:-webkit-fit-content;width:fit-content;flex:unset}.panel-wrapper .left-menu .scrollbar-container:hover{background:none}.panel-wrapper .left-menu .scrollbar-container .nav-link{flex:unset;padding:0 5px}.panel-wrapper .left-menu a,.panel-wrapper .left-menu button{padding:0!important;outline:none}.panel-wrapper .left-menu>div.nav-link{padding:0}.panel-wrapper .profile-menu>div:first-child a:hover{color:#f8b014}.panel-wrapper .profile-menu>div:first-child a:active{color:#fdb51c}.panel-wrapper .profile-menu>div:nth-child(2) a:hover{color:#fdb51c}.panel-wrapper .profile-menu>div:nth-child(2) a:active{color:#fdb51c}.panel-wrapper .profile-menu .user{color:#a4abad;font-weight:700}.panel-wrapper .profile-menu .user:hover{color:#f8b014}.panel-wrapper .profile-menu .user:active{color:#fdb51c}.panel-wrapper .profile-menu .log-out{color:#fff;cursor:pointer;font-weight:100}.panel-wrapper .profile-menu .log-out:hover{color:#d7dcef}.panel-wrapper .profile-menu .log-out:active{color:#fdb51c}.App .web-logs .top-panel .left-menu .logo{justify-content:start;margin:0}.App .web-logs .top-panel .left-menu .logo a{padding:0!important}.App .web-logs .content{font-size:14px;color:#555;padding-top:4rem}@media screen and (min-width:1067px){.App .web-logs .content{padding-top:5rem!important;margin-top:0!important}}@media screen and (max-width:1066px){.App .web-logs .content{padding-top:5rem!important;margin-top:0!important}}.login-layout{margin-top:1rem;padding:2rem 3rem}.login-page{display:flex;justify-content:center;align-items:center;width:100%;height:100vh;background-color:#eee}.login-page .login-form-wrapper{background-color:#fff;box-shadow:0 2px 6px hsla(0,0%,39.2%,.3);font-family:Arial,Helvetica,sans-serif;margin:0;padding:0;text-align:left;width:575px}.login-page .login-form-wrapper .login-layout{position:relative}.login-page .login-form-wrapper .login-layout>span{position:absolute;bottom:0;right:20px;font-size:11px}.login-page .login-form-wrapper .login-layout>span a{color:#505050}.login-page .login-form-wrapper form{display:flex;position:relative}.login-page .login-form-wrapper form>div input[type=password],.login-page .login-form-wrapper form>div input[type=text]{width:100%}.login-page .login-form-wrapper form .c1{display:flex;justify-content:center;align-items:center;width:35%}.login-page .login-form-wrapper form .c1 img{width:110%}.login-page .login-form-wrapper form .c2{width:65%;margin-left:3.5rem}.login-page .login-form-wrapper form .c2 .forgot-password{font-size:11px;text-transform:uppercase;letter-spacing:.75px;text-decoration:none}.login-page .login-form-wrapper form .c2 button[type=submit]{background-color:#2c54ac;border:1px solid #2c54ac;padding:1px 16px 3px;font-size:13px;height:35px;color:#fafafa;border-radius:3px}.login-page .login-form-wrapper form .c2 button[type=submit]:hover{color:#2c54ac;border:1px solid #d7dcef;background-color:#d7dcef}.login-page .login-form-wrapper form .c2 button[type=submit]:active{color:#fafafa;border:1px solid #2c54ac;background-color:#2c54ac}.login-page .login-form-wrapper form .c2 button[type=submit] .disabled{cursor:not-allowed}.login-page .login-form-wrapper form .c2 div.error-message{margin-top:1rem;color:#be5abf}@media (max-width:768px){.login-page .login-form-wrapper{margin:2rem}.login-page .login-form-wrapper .login-layout form{flex-direction:column;justify-content:center;align-items:center}.login-page .login-form-wrapper .login-layout form .c1{width:100%;margin-bottom:1.5rem}.login-page .login-form-wrapper .login-layout form .c1 a{text-align:center}.login-page .login-form-wrapper .login-layout form .c1 a img{width:75%}.login-page .login-form-wrapper .login-layout form .c2{margin:0;width:100%}.login-page .login-form-wrapper .login-layout form .buttons-wrapper .add{margin-bottom:10px}}@media screen and (max-width:1066px){.App .service-info .top-panel{display:flex}}@media screen and (min-width:1200px){.App .service-info .top-panel{padding:0 13%}}.App .service-info .content{font-size:14px;color:#555;padding-top:4rem}@media screen and (min-width:1067px){.App .service-info .content{padding-top:5rem!important;margin-top:0!important}}@media screen and (max-width:1066px){.App .service-info .content{padding-top:5rem!important;margin-top:0!important}}.App .service-info .content table td,.App .service-info .content table th{padding:5px 10px;border:1px solid #000} +/*# sourceMappingURL=main.9f0c683e.chunk.css.map */ \ No newline at end of file diff --git a/web/static/css/main.9f0c683e.chunk.css.map b/web/static/css/main.9f0c683e.chunk.css.map new file mode 100644 index 000000000..476eaaf52 --- /dev/null +++ b/web/static/css/main.9f0c683e.chunk.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["index.css","Spinner.scss","Dropdown.scss","Path.scss","../../utils/scss/_variables.scss","Row.scss","../../../utils/scss/_variables.scss","List.scss","ProgressBar.scss","Modal.scss","Menu.scss","App.scss","Editor.scss","Photo.scss","Video.scss","Container.scss","AddItemLayout.scss","Toolbar.scss","EditInternetProtocol.scss","AddInternetProtocol.scss","EditServerNginx.scss","Postgresql.scss","style.scss","DropdownFilter.scss","SearchInput.scss","ListItem.scss","InternetProtocol.scss","LeftButton.scss","../../../../utils/scss/_variables.scss","Checkbox.scss","Select.scss","AdditionalFtpForEditing.scss","AdditionalFtpWrapper.scss","SslSupport.scss","AdvancedOptions.scss","AddWebDomain.scss","TextInputWithTextOnTheRight.scss","EditDatabase.scss","EditFirewall.scss","Hotkeys.scss","AddDatabase.scss","AddFirewall.scss","SelectsWrapper.scss","Generator.scss","EditCronJob.scss","EditPackage.scss","EditHttpd.scss","AddCronJob.scss","AddPackage.scss","EditServer.scss","MailInfoBlock.scss","Service.scss","AddMailAccount.scss","EditDomainNameSystem.scss","EditWeb.scss","EditPhp.scss","Databases.scss","Firewall.scss","Firewalls.scss","Bind9.scss","Mysql.scss","AddDomainNameSystem.scss","RestoreSetting.scss","BackupRestoreSettings.scss","Backup.scss","CronJob.scss","CronJobs.scss","Package.scss","Packages.scss","AddUser.scss","Update.scss","Updates.scss","ServerSys.scss","Server.scss","Servers.scss","MobileTopNav.scss","Notifications.scss","Panel.scss","MainNav.scss","MailAccounts.scss","Mail.scss","DNSRecords.scss","DomainNameSystem.scss","Statistic.scss","Statistics.scss","User.scss","Users.scss","Timer.scss","RRD.scss","RRDs.scss","styles.scss","WebDomain.scss","Search.scss","Log.scss","Logs.scss","ControlPanelContent.scss","TopPanel.scss","WebLogs.scss","LoginLayout.scss","Login.scss"],"names":[],"mappings":"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","file":"main.9f0c683e.chunk.css","sourcesContent":["body {\n margin: 0;\n padding: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Roboto\", \"Oxygen\",\n \"Ubuntu\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\",\n sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\ncode {\n font-family: source-code-pro, Menlo, Monaco, Consolas, \"Courier New\",\n monospace;\n}\n",".spinner-wrapper {\n position: absolute;\n bottom: 5px;\n width: 150px;\n left: 42%;\n height: 10px;\n}\n",".btn-group button {\n border: 0;\n}\n\n.dropdown-menu {\n padding: 0;\n\n ul {\n padding: 0;\n margin: 0;\n display: inline-block;\n list-style: none;\n height: 150px;\n width: 100%;\n color: #333;\n\n li {\n display: inline-flex;\n width: 100%;\n height: 37.5px;\n border-top: 1px solid #dbdbdb;\n\n .arrow-down {\n float: right;\n }\n\n .dropdown-item {\n &:hover {\n background: #bdbdbd;\n }\n }\n\n span {\n padding: 0 5px 0 10px;\n line-height: 38px;\n }\n\n span.active{\n background: #ffc900;\n }\n\n span + span {\n text-align: center;\n }\n }\n }\n}\n\n.lists-container .dropdown-menu.show{\n transform: translate3d(-57%, 39px, 0px)!important;\n}","@import 'src/utils/scss/variables';\n\n.path {\n display: flex;\n justify-content: space-between;\n font-size: 15px;\n padding: 1px 0 0 5px;\n height: 40px;\n background: #222e44;\n color: #999;\n box-shadow: 0 2px 10px -4px #222e44;\n\n .btn-group {\n width: 75px;\n margin-left: 15px;\n background: none;\n box-shadow: none;\n\n .btn-secondary:not(:disabled):not(.disabled).active, .btn-secondary:not(:disabled):not(.disabled):active, .show>.btn-secondary.dropdown-toggle {\n background: #222e44;\n border: #222e44;\n }\n\n button {\n padding-left: 0;\n padding-right: 5px;\n color: #999;\n background: #222e44;\n border: #222e44;\n transition: none;\n \n span {\n color: #999;\n padding: 0 0 0 5px;\n }\n\n &:active, &:focus {\n background: #222e44;\n border: #222e44;\n }\n }\n\n .btn.active.focus, .btn.active:focus, .btn.focus, .btn:active.focus, .btn:active:focus, .btn:focus {\n box-shadow: none;\n outline: none;\n background: #222e44;\n border: #222e44;\n }\n\n .btn-secondary {\n display: flex;\n justify-content: center;\n align-items: center;\n }\n }\n\n .clickable {\n padding-top: 8px;\n cursor: pointer;\n }\n}\n\n.active-path {\n display: flex;\n justify-content: space-between;\n font-size: 15px;\n padding: 1px 0 0 5px;\n height: 40px;\n background: #d7dcef;\n color: $white;\n box-shadow: 0 2px 6px -2px #d7dcef;\n\n .clickable-wrapper {\n display: flex;\n flex-wrap: nowrap;\n overflow: auto;\n }\n\n .btn-group {\n width: 75px;\n background: none;\n box-shadow: none;\n\n .btn-secondary:not(:disabled):not(.disabled).active, .btn-secondary:not(:disabled):not(.disabled):active, .show>.btn-secondary.dropdown-toggle {\n border-color: #d7dcef;\n background: #d7dcef;\n }\n\n button {\n padding-left: 0;\n padding-right: 5px;\n color: white;\n border-color: #d7dcef;\n background: #d7dcef;\n transition: none;\n\n span {\n color: #fff;\n padding: 0 0 0 5px;\n }\n\n &:active, &:focus {\n border-color: #d7dcef;\n background: #d7dcef;\n }\n }\n\n .btn.active.focus, .btn.active:focus, .btn.focus, .btn:active.focus, .btn:active:focus, .btn:focus {\n box-shadow: none;\n outline: none;\n border-color: #d7dcef;\n background: #d7dcef;\n }\n\n .btn-secondary {\n display: flex;\n justify-content: center;\n align-items: center;\n color: $primary;\n\n span {\n color: $primary;\n }\n\n &:hover {\n color: #1c3876;\n border-color: #d7dcef;\n background: #d7dcef;\n\n span {\n color: #1c3876;\n }\n }\n }\n }\n\n .clickable {\n color: $primary;\n padding-top: 8px;\n cursor: pointer;\n \n &:hover {\n color: #1c3876;\n }\n\n &:active {\n color: $primary;\n }\n }\n}\n\n.clickable-path {\n display: flex;\n float: 0 0 auto;\n}","$whiteBackground: #ececec;\n$primary: #2c54ac;\n$primaryLight: #d7dcef;\n$primaryActive: #1e5cb2;\n$secondary: #fcac04;\n$secondaryLight: #f8b014;\n$secondaryActive: #fdb51c;\n$hoverButtonText: #2c54ac;\n$activeButtonText: #fff;\n$textColor: #555;\n$danger: #b00e5b;\n$black: #000;\n$white: #fff;\n","@import 'src/utils/scss/variables';\n\n.list .list-container ul li svg {\n width: 25px;\n vertical-align: top;\n margin-top: 9px;\n margin-left: 10px;\n}\n\n.html5 {\n color: #f16529;\n}\n\n.file-alt {\n color: #20d2d1;\n}\n\n.list .list-container ul li {\n .marker {\n float: left;\n width: 4px;\n height: 34px;\n margin-right: 5px;\n }\n}\n\n.list .list-container ul li .js {\n width: 16px;\n color: #f7df1c;\n background: black;\n margin: 9px 4px 0 15px;\n}\n\n.php {\n color: #777bb3;\n}\n\n.css3 {\n color: #0079cb;\n}\n\n.sass {\n color: #cd6699;\n}\n\n.image {\n color: #36afae;\n}\n\n.folder-open {\n color: #e29741;\n}\n\n.file {\n color: #11b1b1;\n}\n\n.archive {\n color: rgb(209, 206, 43);\n}\n\n.download {\n color: #929ca3;\n}\n\n.fOwner,\n.fPermissions,\n.fSize,\n.fDate,\n.fTime {\n font-size: 14px;\n float: right;\n width: 60px;\n padding-top: 2px;\n}\n\n.list .list-container ul li .fName {\n margin-left: 5px;\n width: 260px;\n display: inline-block;\n overflow: hidden;\n text-overflow: clip;\n\n .name {\n padding: 0 5px;\n float: left;\n margin-left: 5px;\n line-height: 34px;\n font-size: 15px;\n white-space: nowrap;\n transition: all ease-out 0.3s;\n\n &:hover {\n transition: all ease-out 0.2s;\n background: rgb(201, 199, 199);\n border-radius: 4px;\n cursor: pointer;\n }\n }\n}\n\n.list .list-container ul li.active .fName .name:hover {\n background: #f0b607;\n color: black;\n}\n\n.list .list-container ul li .fPermissions {\n margin-left: 35px;\n width: 50px;\n color: #727272;\n font-size: 11px;\n}\n\n.list .list-container ul li .fDate .date {\n color: #727272;\n font-size: 11px;\n}\n.list .list-container ul li .fTime {\n color: #727272;\n font-size: 11px;\n width: 54px;\n}\n\n.fSize {\n padding-right: 15px;\n text-align: right;\n width: 95px;\n}\n\n.list .list-container ul li .fOwner {\n color: #896417;\n font-style: italic;\n width: 50px;\n font-size: 12px;\n margin-right: 5px;\n}\n\n.value {\n color: $primary;\n}\n\n.unit {\n font-weight: bolder;\n color: #727272;\n}\n\nli.inactive {\n .marker {\n float: left;\n width: 4px;\n height: 34px;\n margin-right: 5px;\n background: rgb(163, 163, 163);\n }\n\n background: rgb(201, 199, 199);\n}\n\n.inactive-selected {\n background: rgb(220, 220, 220);\n}\n\n@media (max-width: 1320px) {\n .list .list-container ul li {\n .fName {\n width: 210px;\n }\n .fSize {\n width: 75px;\n }\n .fDate {\n width: 40px;\n }\n .fTime {\n width: 50px;\n }\n .fPermissions {\n margin: 0;\n }\n }\n}\n","$whiteBackground: #ececec;\n$primary: #2c54ac;\n$primaryLight: #d7dcef;\n$primaryActive: #1e5cb2;\n$secondary: #fcac04;\n$secondaryLight: #f8b014;\n$secondaryActive: #fdb51c;\n$hoverButtonText: #2c54ac;\n$activeButtonText: #fff;\n$textColor: #555;\n$danger: #b00e5b;\n$black: #000;\n$white: #fff;\n",".list {\n width: 50%;\n height: 100vh;\n flex: 1 1 50%;\n\n .list-container {\n margin-top: 10px;\n height: calc(100% - 100px);\n overflow: auto;\n\n ul {\n margin-top: 5px;\n padding: 0;\n color: #3a3a3a;\n \n li {\n display: block;\n height: 34px;\n line-height: 30px;\n font-size: 15px;\n margin-top: 2px;\n list-style: none;\n\n span {\n font-size: 13px;\n }\n \n &:hover{\n background: #DEDEDE;\n }\n }\n \n li.active {\n background: #FFDC5A;\n\n .marker {\n float: left;\n width: 4px;\n height: 34px;\n margin-right: 5px;\n background: #79641a;\n }\n }\n \n li.selected {\n background: #fdfdbb;\n }\n }\n }\n}\n\n@media screen and (max-width: 1200px){\n .permissions, .owner {\n display: none;\n }\n}",".progress.upload {\n position: fixed;\n left: 0px;\n top: 0px;\n z-index: 9999;\n height: 5px;\n position: fixed;\n width: 100%;\n margin: 0;\n display: inline-table;\n background: transparent;\n\n .progress-bar {\n height: 5px;\n }\n}\n","@import 'src/utils/scss/variables';\n\ndiv.modal {\n z-index: 2;\n}\n\ndiv.content .modal .modal-content {\n width: 75%;\n\n .modal-header button.close {\n color: white;\n }\n\n .modal-footer {\n .btn-primary {\n background: $primary;\n border: 1px solid $primary;\n }\n }\n}\n","@import 'src/utils/scss/variables';\n\n.menu-wrapper {\n position: fixed;\n width: 100%;\n font-size: 15px;\n background: white;\n\n .menu-stat {\n display: flex;\n flex-direction: row;\n margin-top: 50px;\n min-height: 45px;\n max-height: 135px;\n height: 145px;\n width: 100%;\n padding: 0 13%;\n \n > div {\n border-bottom: 3px solid white;\n overflow: hidden;\n width: 14.3%;\n\n h3, div {\n width: 100%;\n }\n\n h3 {\n font-weight: bold;\n font-size: 14px;\n text-transform: uppercase;\n margin-bottom: 30px;\n }\n \n div {\n display: flex;\n justify-content: space-between;\n font-size: 12px;\n color: #a0a0a0;\n text-align: left;\n\n > span:nth-child(1) {\n width: 120px;\n }\n\n > span:nth-child(2) {\n width: 80px;\n padding-left: 10px;\n }\n }\n }\n\n .stat {\n a, button {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n color: black;\n text-decoration: none;\n text-align: left;\n }\n\n button {\n background: none;\n border: none;\n padding: 0;\n }\n\n h3 {\n font-size: 14px;\n }\n\n &:hover {\n cursor: pointer;\n border-bottom: 3px solid $secondaryLight;\n \n h3 {\n color: $secondary;\n }\n\n .stats {\n overflow: hidden;\n }\n }\n\n &:active {\n border-color: $secondaryActive;\n\n h3 {\n color: $secondary;\n }\n }\n\n .stats {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n }\n }\n\n .l-active {\n border-bottom: 3px solid $primary;\n\n h3 {\n color: $primary;\n font-size: 18px;\n margin-bottom: 25px;\n }\n }\n\n .stat.focus {\n border-bottom: 3px solid $secondaryLight !important;\n \n a, h3 {\n color: $secondaryLight !important;\n }\n }\n }\n}\n\n.menu-wrapper.shadow {\n box-shadow: rgba(200, 200, 200, 0.5);\n}\n\n@media (max-width: 1350px) {\n .menu-wrapper .menu-stat {\n padding: 0 10%;\n }\n}\n\n@media screen and (max-width: 1200px) {\n .menu-wrapper {\n padding: 0 10%;\n\n .menu-stat {\n padding: 0;\n }\n }\n}\n\n@media screen and (max-width: 1066px) {\n .menu-wrapper {\n .menu-stat {\n padding: 0 10%;\n margin-top: 40px;\n }\n }\n}\n\n@media screen and (max-width: 1024px) {\n .menu-wrapper {\n .menu-stat {\n padding: 0 10%;\n }\n }\n}\n\n@media (max-width: 1066px) {\n .menu-wrapper {\n padding: 1%;\n\n .menu-stat {\n height: auto;\n min-height: auto;\n\n .stat {\n h3 {\n padding: 0;\n }\n }\n }\n }\n}\n","@import 'src/utils/scss/variables';\n\nhtml {\n overflow-y: scroll;\n}\n\n.App {\n font-size: 25px;\n font-family: Arial;\n}\n\n.window {\n background: #ececec;\n height: 100vh;\n width: 100%;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n\n .lists-container {\n display: flex;\n flex-direction: row;\n }\n}\n\n.active {\n background: #fff;\n}\n\n.progress {\n height: 10px;\n transition: all ease-out 0.1s;\n}\n\n.Toastify__toast-body {\n font-size: 20px;\n word-break: break-word;\n}\n.Toastify__toast-container {\n top: 15em;\n}\n\n.actions {\n div {\n a.link-download:hover, button.link-download:hover,\n a.link-edit:hover, button.link-edit:hover {\n background: $primary !important;\n }\n \n a.link-list:hover,\n button.link-list:hover {\n background: $primary !important;\n }\n\n a.link-delete:hover,\n button.link-delete:hover {\n background: $danger !important;\n }\n\n a.link-gray:hover,\n button.link-gray:hover {\n background: #afafac !important;\n }\n\n button {\n text-transform: inherit;\n font-weight: bolder;\n background: #dfdedd;\n border: none;\n }\n }\n}\n\n@media screen and (max-width: 700px) {\n .actions {\n background: unset !important;\n flex-wrap: wrap;\n justify-content: flex-end !important;\n\n div {\n height: 30px !important;\n\n a,button {\n background: #dfdedd !important;\n padding: 0px 10px !important;\n height: 100% !important;\n font-size: 10px !important;\n }\n }\n }\n}\n\nbutton:active, a:active, .period:active {\n color: $primaryActive;\n}\n\n.list-item:first-child {\n margin-top: 5px;\n}\n\n.list-item .text-status {\n display: none;\n}\n\nbutton {\n &:hover, &:active, &:focus {\n outline: none;\n }\n}\n\n.fixed-buttons.fm {\n position: fixed;\n right: 15px;\n bottom: 15px;\n display: flex;\n justify-content: space-around;\n align-items: center;\n\n > div {\n width: 40px;\n height: 40px;\n padding: 5px;\n margin: 5px;\n border-radius: 50%;\n background: #c3c3c3;\n display: flex;\n justify-content: center;\n align-items: center;\n \n &:hover {\n color: $hoverButtonText;\n background: $primaryLight;\n }\n \n &:active {\n color: $activeButtonText;\n background: $primaryActive;\n }\n \n button {\n display: flex;\n justify-content: center;\n align-items: center;\n background: none;\n border: none;\n width: 100%;\n height: 100%;\n border-radius: 50%;\n transform: scale(1.32);\n \n svg {\n color: white;\n height: 70%;\n }\n }\n }\n\n > div:first-child {\n background: $primary;\n\n &:hover {\n color: $hoverButtonText;\n background: $primaryLight;\n\n button svg {\n color: $hoverButtonText;\n }\n }\n\n &:active {\n color: $activeButtonText;\n background: $primaryActive;\n\n button svg {\n color: $activeButtonText;\n }\n }\n\n button {\n padding: 0;\n\n svg {\n color: $activeButtonText;\n }\n }\n }\n}\n\n@media (min-width: 1067px) {\n .App div.content {\n padding-top: 0 !important;\n margin-top: -20px !important;\n }\n}\n\n@media (max-width: 1066px) {\n .App div.content {\n padding-top: 0 !important;\n margin-top: -20px !important;\n }\n\n .content > div {\n .l-col {\n margin-top: 2rem;\n padding-left: 5px;\n }\n\n .r-col {\n margin-top: 1rem;\n .name {\n margin-top: 2rem;\n }\n\n .stats {\n flex-wrap: wrap;\n\n > div {\n margin: 1rem 0 !important;\n padding: 0 !important;\n width: 100% !important;\n }\n }\n }\n }\n\n .content .servers-list .servers-wrapper .l-col {\n display: flex;\n align-items: center;\n height: 55px;\n margin-top: .75rem;\n\n .checkbox {\n margin: 0px;\n }\n }\n}\n\n@media (max-width: 900px) {\n .App div.content {\n padding-top: 77px !important;\n margin-top: 0 !important;\n }\n\n .content > div {\n .l-col {\n padding-left: 5px;\n }\n\n .r-col {\n padding-left: 2rem;\n }\n }\n}\n\n@media (max-width: 725px) {\n .content {\n .r-col {\n padding-left: 3.5rem;\n }\n }\n}\n",".editor {\n width: 100%;\n\n .panel-editor {\n display: flex;\n justify-content: flex-end;\n width: 100%;\n height: 40px;\n position: absolute;\n padding: 3px;\n margin: 0;\n background: #000000bf;\n z-index: 4;\n transition: 0.5s all ease-in-out;\n border-bottom: 1px solid black;\n border-radius: 0;\n\n button {\n font-size: 17px;\n height: 98%;\n margin: 0 0 0 30px;\n padding: 0 10px;\n\n &:focus {\n outline: none;\n box-shadow: none;\n }\n }\n }\n\n .close {\n z-index: 4;\n position: absolute;\n top: 5px;\n right: 5px;\n font-size: 40px;\n opacity: 1;\n color: #000;\n\n &:hover {\n color: rgb(139, 139, 139);\n }\n }\n\n .CodeMirror {\n height: 100vh;\n padding-top: 4vh;\n\n .CodeMirror-selected {\n background:#ACCEF7;\n }\n\n .CodeMirror-scroll {\n font-size: 14px;\n }\n }\n\n .save {\n font-size: 20px;\n left: 95%;\n bottom: 10px;\n position: absolute;\n }\n}",".carousel {\n width: 100%;\n position: relative;\n\n a {\n width: 5%;\n }\n\n .carousel-inner {\n .carousel-item {\n background: #000;\n width: 100%;\n height: 100vh;\n \n .gif {\n height: 50%;\n width: 50%;\n }\n\n .img {\n width: 90%;\n }\n }\n }\n\n .carousel-indicators {\n .indicator {\n margin: 0 15px;\n width: 80px;\n height: 80px;\n\n .control-photo {\n width: 100px;\n height: 80px;\n }\n \n &:hover {\n cursor: pointer;\n }\n\n &.active > img {\n border: 3px solid #3cc3f0;\n }\n\n .active {\n border: 3px solid #3cc3f0;\n }\n }\n }\n}\n\nspan.close {\n z-index: 10;\n font-size: 30px;\n position: absolute;\n top: 5px;\n right: 10px;\n opacity: 1;\n color: white;\n cursor: pointer;\n\n &:hover {\n color: white;\n }\n}",".video-preview {\n padding-bottom: 17px;\n width: 100%;\n background: #000;\n \n .close {\n z-index: 1;\n font-size: 30px;\n position: absolute;\n top: 5px;\n right: 2px;\n opacity: 1;\n color: #fff;\n\n &:hover {\n color: #000;\n }\n }\n\n .video {\n width: 100%;\n height: auto;\n\n &:focus {\n outline: none;\n }\n }\n}",".l-col {\n padding-left: 15px;\n}\n\n.r-col {\n font-size: 13px;\n}\n\n.w-14 {\n width: 14.3%;\n}\n\n.w-20 {\n width: 20%;\n}\n\n.w-25 {\n width: 25%;\n}\n\n.w-30 {\n width: 30%;\n}\n\n.w-35 {\n width: 35%;\n}\n\n.w-40 {\n width: 40%;\n}\n\n.w-45 {\n width: 45%;\n}\n\n.w-50 {\n width: 50%;\n}\n\n.w-60 {\n width: 60%;\n}\n\n.w-85 {\n width: 85%;\n}","@import 'src/utils/scss/variables';\n\n$optionalButtonHover: $primary;\n$optionalButtonActive: $primaryLight;\n$deleteButtonColorHover: #b00e5b;\n$deleteButtonColorActive: #b11661;\n$backButtonBackground: #DFDEDD;\n$backButtonBackgroundHover: #999;\n$transition: all 200ms cubic-bezier(0.4, 0.1, 0.5, 0.85);\n$errorColor: #BE5ABF;\n\n.content .edit-template {\n padding-bottom: 2rem;\n\n .toolbar {\n justify-content: unset;\n \n > div {\n width: 14.3%;\n display: flex;\n align-items: center;\n }\n \n div.error,\n div.success {\n width: fit-content !important;\n \n span {\n font-weight: bold;\n font-size: 14px;\n \n svg {\n font-size: 13px;\n margin-right: 10px;\n }\n }\n \n span.error-message {\n color: $errorColor;\n \n svg {\n margin-right: 7px;\n font-size: 13px;\n color: $errorColor;\n }\n }\n \n span.ok-message {\n color: $primary;\n \n svg {\n color: $primary;\n }\n }\n }\n \n .search-toolbar-name {\n width: auto !important;\n padding: 10px 0;\n margin-left: 0;\n margin-right: 10px;\n }\n }\n}\n\n.hide {\n display: none;\n}\n\n.show {\n display: flex;\n}\n\n.edit-item,\n.login-layout {\n display: flex;\n font-size: 15px;\n margin-top: 3rem;\n margin-bottom: 1rem;\n\n .l-col {\n margin-right: 1.75%;\n }\n\n form {\n button,\n a {\n color:$primary;\n font-weight: bold;\n \n &:hover {\n color: $secondaryLight;\n }\n \n &:active {\n color: $secondaryActive;\n }\n }\n\n button.optional {\n &:hover {\n color: $optionalButtonHover;\n }\n\n &:active {\n color: $optionalButtonActive;\n }\n }\n\n button.delete {\n &:hover {\n color: $deleteButtonColorHover;\n }\n\n &:active {\n color: $deleteButtonColorActive;\n }\n }\n\n .form-group {\n input[type=text],\n input[type=password],\n input[type=email],\n textarea,\n select {\n width: 50%;\n }\n }\n\n @media screen and (max-width: 900px) {\n .form-group {\n input[type=text],\n input[type=password],\n input[type=email],\n textarea,\n select {\n width: 100%;\n }\n }\n }\n\n width: 100%;\n\n .form-group select,\n .form-group textarea {\n border-radius: 0;\n\n &:hover {\n border-color: #909090;\n }\n\n &:focus,\n &:active {\n outline: none;\n border-color: $primaryActive;\n box-shadow: unset;\n }\n }\n\n input:-webkit-autofill,\n input:-webkit-autofill:hover,\n input:-webkit-autofill:focus,\n input:-webkit-autofill:active {\n background: $primaryLight;\n border-color: $primaryActive;\n filter: none;\n box-shadow: none;\n }\n\n input:autofill,\n input:autofill:hover,\n input:autofill:focus,\n input:autofill:active {\n background: $primaryLight;\n border-color: $primaryActive;\n filter: none;\n box-shadow: none;\n }\n\n button {\n background: unset;\n border: none;\n box-shadow: unset;\n \n &:focus,\n &:active {\n outline: none;\n }\n }\n \n input {\n height: calc(1.5em + 0.75rem + 6px);\n border-radius: 0;\n\n &:hover {\n border-color: #909090;\n }\n\n &:focus,\n &:active {\n box-shadow: unset;\n border-color: $primaryActive;\n background: #d7dcef9e;\n }\n }\n \n label {\n color: $textColor;\n font-weight: bold;\n }\n \n label.label-wrapper {\n display: flex;\n align-items: flex-end;\n width: fit-content;\n\n span {\n font-weight: normal;\n text-transform: uppercase;\n margin-left: 5px;\n font-size: 12px;\n }\n }\n\n .checkbox-wrapper {\n display: flex;\n align-items: center;\n\n label {\n margin: 0 12px;\n }\n }\n\n input {\n color: $textColor;\n }\n\n .buttons-wrapper {\n margin-top: 2.5rem;\n\n button {\n font-weight: bold;\n font-size: 13px;\n margin-right: 10px;\n padding: .35rem 2.25rem;\n border-radius: 4px;\n transition: $transition;\n }\n\n .add {\n color: $activeButtonText;\n background: $primary;\n\n &:hover {\n color: $hoverButtonText;\n background: $primaryLight;\n }\n \n &:active {\n color: $activeButtonText;\n background: $primaryActive;\n }\n }\n\n .back {\n color: #777;\n background: $backButtonBackground;\n\n &:hover {\n color: white;\n background: $backButtonBackgroundHover;\n }\n }\n }\n }\n\n .l-col {\n padding: 20px 0 0;\n\n .date,\n .time {\n margin: 10px 0 0;\n color: #777;\n font-size: 12px;\n letter-spacing: 1px;\n }\n\n .time {\n margin: 6px 0 10px;\n }\n\n .status {\n color: $primary;\n font-size: 11px;\n letter-spacing: 1px;\n text-transform: uppercase;\n font-weight: bold;\n }\n }\n}\n\n@media screen and (max-width: 1066px) {\n .form-group {\n input[type=text],\n input[type=password],\n input[type=email],\n textarea,\n select {\n width: 75%;\n }\n }\n}\n","@import 'src/utils/scss/variables';\n\n.toolbar {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n background: white;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n z-index: 1;\n padding: 3px 13% 1px;\n border-top: 1px solid #e0e0e0;\n border-bottom: 1px solid #e0e0e0;\n\n .r-menu {\n display: flex;\n align-items: center;\n\n > div {\n display: flex;\n flex-wrap: unset;\n width: 100%;\n align-items: center;\n justify-content: flex-end;\n }\n\n a.button-extra,\n button.button-extra {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 100%;\n justify-content: flex-start;\n padding: 5px 10px;\n background: none;\n border: none;\n text-decoration: none;\n color: rgb(129, 125, 125);\n font-size: 14px;\n display: flex;\n align-items: center;\n margin-right: 10px;\n border-radius: 3px;\n\n &:hover {\n background: $primaryLight;\n color: $hoverButtonText;\n }\n\n &:active {\n background: $primaryActive;\n color: $activeButtonText;\n }\n }\n \n .input-group .input-group-prepend {\n height: 30px;\n margin-right: 15px;\n\n div, span {\n padding-left: 0;\n background: none;\n border: none;\n }\n\n label {\n margin-bottom: 0;\n }\n }\n\n #inputGroupSelect04 {\n height: 30px;\n padding-top: 2px;\n outline: none;\n\n &:focus {\n outline: none;\n box-shadow: none;\n }\n }\n\n select + div {\n &:focus {\n outline: none;\n }\n\n &:hover {\n background: #b3b8bd;\n }\n \n button {\n border-color: #ced4da;\n }\n }\n\n .input-group-append {\n height: 30px;\n\n button {\n padding-top: 3px;\n }\n }\n\n .btn:focus, button:focus, .button:focus {\n outline: none;\n box-shadow: none;\n border-color: none;\n }\n\n .btn.btn-sm {\n height: 30px;\n margin-left: 15px;\n\n &:hover {\n color: #212529;\n background-color: white;\n border-color: none ;\n }\n\n &:active {\n background: white;\n }\n \n div {\n padding-top: 3px;\n }\n }\n\n .btn-group.show .btn-outline-secondary {\n background-color: white;\n color: #212529;\n\n &:hover {\n background-color: white;\n }\n }\n }\n}\n\n.toolbar.justify-right {\n justify-content: flex-end;\n\n .r-menu > div > * {\n margin: 0 10px;\n }\n}\n\n.toolbar.t-shadow {\n box-shadow: rgba(200, 200, 200, 0.5) 0px 5px 3px 0px;\n}\n\n@media (max-width: 1390px) {\n .toolbar {\n padding: 3px 10% 1px;\n }\n}\n\n@media (max-width: 1250px) {\n .toolbar {\n .r-menu {\n a.button-extra,\n button.button-extra {\n max-width: 30%;\n }\n }\n }\n}\n\n@media (max-width: 900px) {\n .toolbar {\n .r-menu {\n overflow: scroll;\n\n a.button-extra,\n button.button-extra {\n overflow: unset;\n max-width: 100%;\n }\n\n > div {\n margin-left: 3rem;\n position: relative;\n display: flex;\n flex-wrap: unset;\n width: 100%;\n align-items: center;\n justify-content: flex-start;\n }\n\n .select-wrapper + div {\n display: none;\n }\n }\n }\n}\n\n@media (max-width: 450px) {\n .toolbar {\n padding: 3px 1% 1px;\n }\n}\n\n@media (max-width: 450px) {\n .mobile-toolbar .toolbar {\n display: flex;\n flex-direction: column-reverse;\n padding-bottom: 5px;\n height: 100%;\n \n .r-menu {\n height: 50%;\n margin-top: 15px;\n\n .input-group {\n > div:nth-child(1) {\n width: 100%;\n display: flex;\n justify-content: center;\n margin: 15px 0;\n }\n\n select {\n margin-left: 100px;\n }\n\n select + div {\n margin-right: 85px;\n }\n\n > .btn-group {\n width: 60%;\n margin-left: 75px;\n margin-top: 15px;\n }\n }\n }\n\n .l-menu {\n display: flex;\n flex-direction: column-reverse;\n justify-content: flex-end;\n align-items: center;\n transform: none;\n height: 50%;\n margin-top: 40px;\n\n button {\n width: 30px;\n height: 30px;\n\n svg {\n width: 17px;\n height: 30px;\n }\n }\n }\n }\n}",".edit-ip {\n form {\n .dedicated-form-group {\n transform: translateX(3rem);\n margin-bottom: 2rem;\n }\n }\n}","div.edit-item {\n form {\n label.label-wrapper {\n align-items: center;\n\n span {\n text-transform: lowercase;\n }\n }\n\n div.assigned-user {\n padding-left: 25px;\n\n select {\n width: 48.4%;\n }\n }\n }\n}","$secondaryLight: #f8b014;\n\n.content .edit-template.edit-nginx {\n .toolbar {\n .search-toolbar-name {\n width: fit-content;\n }\n\n .link {\n width: fit-content;\n margin-left: 15px;\n\n a {\n text-decoration: none;\n font-size: 12px;\n text-transform: uppercase;\n color: rgb(119, 119, 119);\n font-weight: 700;\n\n &:hover {\n color: $secondaryLight;\n }\n }\n }\n }\n\n textarea {\n width: 75%;\n }\n\n .checkbox-wrapper label {\n text-transform: capitalize;\n }\n\n svg {\n margin-left: 5px;\n }\n}",".content .edit-template.edit-pgsql {\n .toolbar {\n .search-toolbar-name {\n width: fit-content;\n }\n }\n\n textarea {\n width: 75%;\n }\n\n .checkbox-wrapper label {\n text-transform: capitalize;\n }\n}",".statistic-item {\n display: flex;\n flex: 1 1 auto;\n padding: 25px 0;\n border-bottom: 1px solid #eee;\n\n .l-col {\n padding-left: 0;\n flex-basis: 14.3%;\n }\n\n .r-col {\n flex-basis: 85.7%;\n\n .stats {\n align-items: center;\n\n .name {\n font-size: 24px;\n color: #111;\n }\n\n .exclusion-items {\n flex-basis: 83.4%;\n }\n\n > div {\n flex: unset;\n flex-basis: 16.6%;\n }\n }\n }\n}\n",".btn-group button {\n border: 0;\n\n > span {\n display: inline-block;\n vertical-align: bottom;\n margin-left: 5px;\n height: 100%;\n width: auto;\n }\n\n &::after {\n display: none;\n }\n}\n\n.dropdown-menu {\n padding: 0;\n border-radius: 0;\n font-size: 13px;\n width: 200px;\n\n ul {\n padding: 0;\n margin: 0;\n display: inline-block;\n list-style: none;\n height: auto;\n width: 100%;\n color: #333;\n\n li {\n display: flex;\n width: 100%;\n height: 37.5px;\n border-top: 1px solid #dbdbdb;\n\n .arrow-down {\n float: right;\n }\n\n .dropdown-item {\n &:hover {\n background: #bdbdbd;\n }\n }\n\n > span:nth-child(1) {\n width: 75%;\n padding: 0 5px;\n }\n\n > span:nth-child(2) {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 25%;\n }\n\n span {\n padding: 0 5px 0 10px;\n line-height: 38px;\n }\n\n span.active{\n background: #ffc900;\n }\n\n span + span {\n text-align: center;\n }\n }\n\n li:nth-child(1) {\n border-width: 0 0 1px 0;\n }\n }\n}",".search-input-form {\n display: flex;\n width: 180px;\n\n input {\n height: 30px;\n margin-left: 10px;\n border-radius: 0;\n }\n\n button {\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 0;\n border: 1px groove #ffffff;\n height: 30px;\n }\n}","@import 'src/utils/scss/variables';\n\n.list-item {\n display: flex;\n justify-content: flex-start;\n align-items: flex-start;\n padding-left: 15px;\n font-size: 18px;\n position: relative;\n padding: 25px 0;\n border-left: 2px solid white;\n border-bottom: 1px solid #ddd;\n color: rgb(104, 104, 104);\n\n &:hover .l-col div.star div svg,\n &:hover .actions {\n opacity: 1;\n }\n\n .l-col {\n .suspended {\n letter-spacing: 3px;\n }\n \n .text-status {\n font-size: 10px;\n }\n\n div.star {\n display: flex;\n align-items: center;\n \n div.checkbox {\n margin: 0 25% 4px 0;\n }\n }\n }\n\n .r-col {\n .stats {\n div > span {\n width: 50%;\n text-align: left;\n }\n \n .c-2 div > span {\n width: 50%;\n }\n }\n\n div.bandwidth span,\n div.disk span {\n width: auto;\n }\n }\n\n .date {\n font-size: 13px;\n margin: 20px 0 10px;\n }\n}\n\n.list-item.toggled {\n background: #feef9a;\n}\n\n.list-item.starred {\n border-left: 2px solid $primary;\n\n .l-col div.star {\n div > svg {\n opacity: 1;\n color: $primary;\n }\n }\n}\n\n.list-item.suspended {\n background: #eaeaea;\n color: #c0c0c0;\n\n .r-col div, .r-col span {\n color: #c0c0c0 !important;\n }\n}\n\n.list-item.suspended.toggled {\n background: #f2eab8;\n color: #b2ac87;\n\n .l-col,\n .r-col .name,\n .r-col .stats {\n color: #b2ac87 !important;\n }\n}\n\n.list-item.outdated {\n background: #ffcaca;\n border-left: 5px solid #ff6f6f;\n}\n\n.list-item.toggled.outdated {\n background: #755d5d;\n color: black;\n\n .stat {\n color: black;\n }\n}\n\n.list-item.stopped {\n background: #eaeaea;\n}\n\n.list-item.focused {\n border-left: 2px solid $secondaryLight;\n\n .l-col div.star {\n div > svg {\n color: $secondaryLight;\n }\n }\n\n .actions {\n opacity: 1;\n\n div > a,\n div > button {\n padding-top: 6.5px;\n padding-bottom: 6.5px;\n\n .shortcut-button {\n border-radius: 50%;\n width: 25px;\n height: 25px;\n margin-left: 15px;\n background: $secondaryLight;\n color: white;\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 14px;\n }\n\n .shortcut-button.html-unicode {\n align-items: flex-end;\n }\n\n .shortcut-button.del {\n text-transform: capitalize;\n font-size: 10px;\n }\n }\n }\n}",".internetProtocols {\n .ip-wrapper {\n .name svg {\n margin: 0 10px;\n font-size: 20px;\n }\n }\n}\n","@import 'src/utils/scss/variables';\n\n.l-menu {\n transform: translate(35px, 50%);\n\n a, button {\n display: flex;\n justify-content: center;\n align-items: center;\n background: $primary;\n border-radius: 100%;\n color: white;\n width: 45px;\n height: 43px;\n outline: none;\n border: none;\n text-decoration: none;\n\n &:hover {\n background: $primaryLight;\n\n span.add {\n display: block;\n color: $hoverButtonText;\n background: $primaryLight;\n }\n\n svg {\n color: $hoverButtonText;\n }\n }\n\n @media screen and (max-width: 900px) {\n span.add {\n display: none !important;\n }\n }\n\n &:active {\n background: $primary;\n\n span.add {\n display: block;\n color: $activeButtonText;\n background: $primary;\n }\n\n svg {\n color: $activeButtonText;\n }\n }\n\n span.add {\n width: max-content;\n display: none;\n padding: 4px 10px 4px 25px;\n background: $primary;\n border-radius: 15px;\n color: white;\n font-size: 15px;\n position: absolute;\n left: 25px;\n z-index: -1;\n text-align: right;\n }\n\n svg {\n width: 31px;\n height: 21px;\n }\n }\n\n @media screen and (max-width: 900px) {\n transform: unset;\n }\n}\n\n.l-menu.none {\n display: none;\n}\n\n.servers-list,\n.exclusions-list {\n .l-menu {\n &.backup-details-icon {\n transform: translateX(2px);\n }\n }\n}\n","$whiteBackground: #ececec;\n$primary: #2c54ac;\n$primaryLight: #d7dcef;\n$primaryActive: #1e5cb2;\n$secondary: #fcac04;\n$secondaryLight: #f8b014;\n$secondaryActive: #fdb51c;\n$hoverButtonText: #2c54ac;\n$activeButtonText: #fff;\n$textColor: #555;\n$danger: #b00e5b;\n$black: #000;\n$white: #fff;\n","input {\n border-radius: 0;\n}",".select-wrapper {\n display: flex;\n\n select {\n width: auto;\n }\n\n select, button {\n border-radius: 0;\n }\n}",".edit-web {\n .additional-ftp {\n .title .indexed-name {\n font-weight: bold;\n }\n }\n}",".additional-ftp {\n .title {\n span:nth-child(1) {\n color: #555;\n font-size: 15px;\n font-weight: bold;\n }\n }\n\n .form-transform {\n margin-top: 15px;\n transform: translateX(3rem);\n\n .form-group.username {\n display: flex;\n flex-direction: column;\n \n label {\n margin: 0;\n }\n \n span {\n font-size: 10pt;\n color: #777;\n font-weight: bold;\n margin-bottom: 10px;\n }\n\n .input-wrapper {\n display: flex;\n align-items: center;\n\n span {\n color: #777;\n font-size: 15px;\n font-style: italic;\n font-weight: normal;\n margin-left: 15px;\n }\n }\n }\n }\n\n .path-note {\n font-weight: bold;\n color: #555;\n }\n}","@import 'src/utils/scss/variables';\n\n.edit-web {\n .ssl-support {\n .additional-info {\n display: flex;\n flex-direction: column;\n\n span {\n &:nth-child(1) {\n width: 120px;\n display: inline-block;\n }\n\n &:nth-child(2) {\n width: fit-content;\n }\n }\n }\n\n a.generate-csr {\n text-transform: initial;\n text-decoration: none;\n color: $primary;\n font-weight: bold;\n\n &:hover {\n color: $secondaryLight;\n }\n }\n }\n}",".edit-item form {\n div.name-server-input-wrapper {\n display: flex;\n align-items: center;\n margin: 10px 0;\n\n button {\n margin-left: 10px;\n }\n}\n\n.exp-date .optional {\n font-size: 12px;\n padding: 0 0 0 6px;\n font-weight: normal;\n}\n}",".add-web {\n form {\n .form-group {\n .checkbox-wrapper {\n display: flex;\n align-items: center;\n\n label {\n margin: 0 10px;\n };\n }\n }\n\n .advanced-options-button {\n button {\n display: flex;\n align-items: center; \n padding: 0; \n\n svg {\n margin-left: 10px;\n }\n }\n }\n }\n\n #c-panel-modal {\n padding: 2rem;\n\n form .form-group input[type=\"text\"] {\n width: 90% !important;\n }\n\n label {\n color: white;\n }\n\n .form-group {\n padding-left: 1.5rem;\n\n textarea {\n width: 90% !important;\n }\n }\n\n .l-col {\n display: none;\n }\n }\n}",".form-group.text-on-the-right {\n .input-wrapper {\n display: flex;\n align-items: center;\n\n span {\n margin-left: 15px;\n color: #777;\n }\n }\n}",".input-wrapper {\n display: flex;\n align-items: center;\n\n span.italic {\n margin-left: 15px;\n color: #777;\n }\n}",".edit-firewall {\n form {\n .form-group {\n .label-wrapper {\n span {\n text-transform: initial;\n }\n }\n }\n }\n}","$secondary: #fcac04;\n\n.hotkeys-list {\n position: fixed;\n bottom: 0;\n right: 0;\n display: flex;\n flex-direction: column;\n transform: translateX(-45%);\n width: 53%;\n background: #222e44de;\n font-size: 13px;\n\n .head {\n display: flex;\n justify-content: space-between;\n align-items: center;\n border-bottom: 1px solid $secondary;\n\n .name {\n text-transform: uppercase;\n padding: 5px 0 5px 10px;\n font-size: 12px;\n font-weight: bold;\n color: $secondary;\n letter-spacing: 2px;\n padding: 15px;\n }\n\n .close {\n padding: 12px;\n opacity: 1 !important;\n\n svg {\n color: $secondary;\n }\n\n &:hover {\n cursor: pointer;\n background: #222e44;\n }\n }\n }\n\n .body {\n display: flex;\n\n ul {\n padding: 25px 10px;\n margin: 0;\n width: 50%;\n list-style: none;\n margin-left: 3rem;\n\n li {\n padding: 5px;\n\n span.name {\n margin-right: 15px;\n color: $secondary;\n font-weight: bold;\n }\n \n span.description {\n color: white;\n }\n }\n\n li.space-top {\n padding-top: 30px;\n }\n }\n }\n}\n\n.hide {\n display: none;\n}",".edit-template.add-db {\n form {\n span.italic {\n font-style: italic;\n }\n\n .form-group {\n .label-wrapper {\n display: flex;\n\n span.italic {\n margin-left: 1.5rem;\n color: #555;\n }\n }\n\n .input-wrapper {\n display: flex;\n align-items: center;\n\n span.italic {\n font-size: 15px;\n font-weight: bold;\n margin-left: 1.5rem;\n color: #777;\n }\n }\n\n .input-wrapper {\n span.italic {\n font-weight: normal;\n }\n }\n }\n\n .form-group.database {\n margin-top: 1rem;\n }\n\n span.prefix {\n color: #777;\n font-style: italic;\n }\n }\n}",".content .edit-template.add-firewall {\n .toolbar .search-toolbar-name {\n width: fit-content;\n }\n\n label.label-wrapper[for=ip] span {\n text-transform: unset !important;\n }\n}",".cron-form-body {\n .third-tab-selects,\n .fourth-tab-selects {\n display: flex; \n\n div.hour {\n select {\n width: 70px;\n margin-left: 4.8rem;\n }\n }\n\n div.minute {\n label {\n margin: 0;\n }\n\n select {\n margin: 0;\n }\n }\n }\n\n .fifth-tab-selects {\n display: flex;\n\n > div {\n width: 10%;\n\n select {\n width: 70px;\n }\n }\n\n > div.date {\n margin: 0 0 1rem 0;\n }\n\n > div.minute {\n width: 200px;\n }\n\n > div.hour {\n width: 155px;\n margin-left: 1rem;\n\n select {\n margin-left: .75rem;\n }\n }\n\n > div.date {\n width: 240px;\n\n select {\n margin-left: 5.85rem;\n }\n }\n }\n}","@import 'src/utils/scss/variables';\n\n.cron-job-generator {\n border: 1px solid #d9d9d9;\n padding: 1rem 1.5rem;\n margin-left: 2rem;\n width: 90%;\n\n .header {\n display: flex;\n padding: .4rem 0;\n\n a {\n color: #222222;\n text-transform: uppercase;\n font-size: 11px;\n font-weight: bolder;\n margin-right: 2.3rem;\n text-decoration: none;\n\n &:hover {\n color: $secondaryLight;\n }\n\n &:active {\n color: $primaryActive;\n }\n }\n\n a.active {\n color: $secondaryActive;\n }\n }\n\n .body {\n padding: 2rem 0 .4rem;\n\n form {\n\n .form-group {\n display: flex;\n align-items: center;\n\n label {\n width: 26%;\n font-size: 13px;\n margin: 0;\n }\n\n input {\n width: auto;\n }\n }\n\n .form-group.minute select {\n width: 70px;\n }\n\n .form-group select,\n .form-group textarea {\n border-radius: 0;\n \n &:hover {\n border-color: #909090;\n }\n \n &:focus,\n &:active {\n outline: none;\n border-color: $primaryActive;\n box-shadow: unset;\n }\n }\n\n .form-group select {\n padding: .4rem .25rem;\n border-color: #d9d9d9;\n color: #555;\n }\n\n .form-actions { \n button {\n background: $primary;\n color: white;\n border-radius: 3px;\n padding: .35rem 1.1rem;\n font-size: 14px;\n \n &:hover {\n color: $hoverButtonText;\n background: $primaryLight;\n }\n \n &:active {\n color: $activeButtonText;\n background: $primaryActive;\n }\n }\n }\n\n .form-group.show {\n display: block;\n }\n \n .form-group.hide {\n display: none;\n }\n }\n }\n}",".edit-cron {\n form {\n .form-group {\n width: 100%;\n \n input {\n width: inherit;\n }\n }\n \n .form-group.command {\n width: 100%;\n }\n \n .cron-form-body {\n display: flex;\n \n .body-col-1 {\n width: 30%;\n\n input {\n width: 100%;\n }\n }\n \n .body-col-2 {\n display: flex;\n justify-content: flex-start;\n align-items: flex-start;\n padding: 1.7rem 1rem;\n width: 70%;\n }\n }\n }\n}\n\n#edit-cron > .form-group input {\n width: 95% !important;\n}",".edit-package {\n form {\n .form-group {\n .input-wrapper {\n display: flex;\n align-items: center;\n\n button {\n transform: translateX(5px);\n }\n }\n }\n }\n}","$secondary: #fcac04;\n$secondaryLight: #f8b014;\n\n.content .edit-template.edit-httpd {\n .toolbar {\n .search-toolbar-name {\n width: fit-content;\n\n a {\n color: $secondary;\n text-decoration: none;\n\n &:hover {\n color: rgb(119, 119, 119);\n }\n }\n }\n\n .link {\n width: fit-content;\n margin-left: 15px;\n\n a {\n text-decoration: none;\n font-size: 12px;\n text-transform: uppercase;\n color: rgb(119, 119, 119);\n font-weight: 700;\n\n &:hover {\n color: $secondaryLight;\n }\n }\n }\n }\n\n textarea {\n width: 75%;\n }\n\n .checkbox-wrapper label {\n text-transform: capitalize;\n }\n\n svg {\n margin-left: 5px;\n }\n}",".edit-template.add-cron {\n form {\n .form-group {\n width: 100%;\n\n input {\n width: inherit;\n }\n }\n\n .form-group.command {\n width: 100%;\n }\n\n .cron-form-body {\n display: flex;\n\n .body-col-1 {\n width: 30%;\n }\n\n .body-col-2 {\n display: flex;\n justify-content: flex-start;\n align-items: flex-start;\n padding: 1.7rem 1rem;\n width: 70%;\n }\n }\n }\n}",".edit-template.add-package {\n form {\n label.label-wrapper {\n display: flex;\n align-items: flex-end;\n width: fit-content;\n\n span {\n font-weight: normal;\n text-transform: uppercase;\n margin-left: 5px;\n font-size: 12px;\n }\n\n span.lowercase {\n text-transform: lowercase;\n }\n }\n\n .input-wrapper {\n display: flex;\n align-items: center;\n\n svg {\n cursor: pointer;\n color: #bec4ca;\n margin-left: 10px;\n\n &:hover {\n color: #abb1b6;\n }\n }\n }\n }\n}","@import 'src/utils/scss/variables';\n\n.edit-server {\n .modules {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n\n > div {\n display: flex;\n align-items: center;\n width: 100%;\n margin: 5px 0;\n }\n\n > button {\n margin: 15px 0;\n\n svg {\n margin-left: 10px;\n }\n }\n\n .form-group {\n a {\n text-decoration: none;\n color: $primary;\n font-weight: bold;\n font-size: 14px;\n\n &:hover {\n color: $primaryLight;\n }\n }\n }\n\n .additional-info {\n margin-top: 10px;\n transform: translateX(3rem);\n\n > div {\n display: flex;\n margin: 5px 0;\n\n span {\n font-size: 12px;\n color: #555;\n }\n\n span:nth-child(1) {\n width: 180px;\n }\n }\n }\n\n .server-web-option,\n .server-dns-option,\n .server-ssl-option,\n .server-mail-option {\n transform: translateX(3rem);\n }\n\n .server-mail-option {\n transform: translateX(3rem);\n\n .mail-cert-info {\n transform: translateX(3rem);\n }\n }\n\n .server-mail-option {\n .hosts {\n transform: translateX(3rem);\n }\n }\n\n .server-ssl-option {\n transform: translateX(3rem);\n\n .domain-group {\n transform: translateX(3rem);\n }\n }\n\n .server-plugins-option {\n transform: translateX(3rem);\n\n .sftp-module,\n .soft-module,\n .fm-module {\n transform: translateX(3rem);\n }\n\n .sftp-module,\n .fm-module {\n font-size: 15px;\n color: $textColor;\n }\n\n .buy-license {\n display: flex;\n margin: 5px 0;\n\n a {\n color: #FFF;\n background: $primary;\n border: none;\n border-radius: 3px;\n font-size: 13px;\n font-weight: bold;\n padding: 7px 15px;\n text-transform: capitalize;\n text-decoration: none;\n width: fit-content;\n margin-right: 10px;\n\n &:hover {\n color: $hoverButtonText;\n background: $primaryLight;\n }\n\n &:hover {\n color: $activeButtonText;\n background: $primaryActive;\n }\n }\n\n + span {\n display: block;\n margin-top: 15px;\n font-style: italic;\n font-size: 12px;\n }\n }\n\n .license-description {\n display: flex;\n align-items: center;\n margin: 1rem 0;\n\n > span {\n color: $primary;\n }\n\n .form-group {\n margin: 0 0 0 20px;\n width: 60%;\n\n label {\n display: none;\n }\n }\n }\n }\n }\n}","@import 'src/utils/scss/variables';\n\n.mail-info-block {\n .select-group {\n select {\n margin-bottom: 10px;\n margin-top: 5px;\n padding: 0;\n border: none;\n color: $primary;\n text-transform: uppercase;\n font-size: 11px;\n font-weight: bold;\n cursor: pointer;\n }\n\n .details {\n font-size: 14px;\n color: #777;\n\n > div {\n display: flex;\n\n span:nth-child(1) {\n width: 50%;\n }\n }\n }\n }\n}",".content .edit-template.edit-service {\n .toolbar {\n .search-toolbar-name {\n width: fit-content;\n }\n }\n\n textarea {\n width: 75%;\n }\n\n .checkbox-wrapper label {\n text-transform: capitalize;\n }\n}",".content .edit-template.add-mail-account {\n .search-toolbar-name {\n width: fit-content;\n }\n\n form {\n .r-1 {\n display: flex;\n\n .c-1 {\n width: 55%;\n\n .form-group {\n > * {\n width: 85%;\n }\n\n .password-wrapper {\n input {\n width: 100%;\n }\n }\n }\n\n .form-group:nth-child(3) {\n > div {\n display: flex;\n\n input {\n width: 100%;\n }\n\n input + button {\n padding-left: 10px;\n }\n }\n }\n }\n\n .c-2 {\n width: 45%;\n height: 100%;\n border: 1px solid #d9d9d9;\n padding: 0px 5px 12px 20px;\n }\n }\n\n .r-2 {\n > button {\n padding-left: 0;\n margin-bottom: 1.5rem;\n\n svg {\n margin-left: .75rem;\n }\n }\n\n .form-group .input-wrapper {\n display: flex;\n }\n }\n }\n}",".edit-dns {\n .label-wrapper {\n span {\n text-transform: uppercase !important;\n }\n }\n}",".edit-web {\n .web-stat-additional {\n transform: translateX(3rem);\n }\n\n #c-panel-modal {\n padding: 2rem;\n\n form .form-group input[type=\"text\"] {\n width: 90% !important;\n }\n\n label {\n color: white;\n }\n\n .form-group {\n padding-left: 1.5rem;\n\n textarea {\n width: 90% !important;\n }\n }\n\n .l-col {\n display: none;\n }\n }\n}","$secondary: #fcac04;\n$secondaryLight: #f8b014;\n$textColor: #555;\n\n.content .edit-template.edit-php {\n .toolbar {\n .search-toolbar-name {\n width: fit-content;\n color: $textColor;\n }\n \n .search-toolbar-name,\n .link {\n width: fit-content;\n\n a {\n text-decoration: none;\n font-size: 12px;\n text-transform: uppercase;\n color: $textColor;\n font-weight: 700;\n\n &:hover {\n color: $secondaryLight;\n }\n }\n }\n\n .link {\n margin-left: 15px;\n\n a {\n color: $secondary;\n\n &:hover {\n color: $textColor;\n }\n }\n }\n }\n\n textarea {\n width: 75%;\n }\n\n .checkbox-wrapper label {\n text-transform: capitalize;\n }\n\n svg {\n margin-left: 5px;\n }\n}",".r-menu {\n > div {\n > button {\n font-size: 13px;\n background: white;\n border-color: white;\n color: gray;\n\n &:hover {\n background: white;\n border-color: white;\n color: gray;\n }\n }\n }\n}",".firewalls .list-item {\n .l-col .date {\n display: none;\n }\n\n .r-col .stats {\n margin-top: 15px;\n\n .cron-col {\n div span {\n font-weight: unset;\n font-size: 13px;\n }\n\n div span.stat {\n font-weight: bold;\n }\n }\n }\n}",".firewalls-wrapper .r-col .stats > div {\n flex: none;\n width: 17%;\n}",".content .edit-template.edit-bind9 {\n .toolbar {\n .search-toolbar-name {\n width: fit-content;\n }\n }\n\n textarea {\n width: 75%;\n }\n\n .checkbox-wrapper label {\n text-transform: capitalize;\n }\n}",".content .edit-template.edit-mysql {\n .toolbar {\n .search-toolbar-name {\n width: fit-content;\n }\n }\n\n textarea {\n width: 75%;\n }\n\n .checkbox-wrapper label {\n text-transform: capitalize;\n }\n\n svg {\n margin-left: 5px;\n }\n}",".add-dns form .advanced-options-button {\n svg {\n margin-left: 5px;\n }\n}","@import 'src/utils/scss/variables';\n\n.backups-restore-settings {\n .list-item {\n .r-col {\n .stats {\n .c-1 {\n margin: 12px 0 0;\n }\n }\n }\n\n .actions {\n > div {\n font-weight: bolder;\n text-transform: uppercase;\n height: 38px;\n \n a, button {\n display: flex;\n justify-content: center;\n align-items: center;\n color: $textColor;\n padding: 10px 15px;\n text-decoration: none;\n \n &:hover {\n background: $whiteBackground;\n color: white;\n \n svg {\n color: white;\n }\n }\n }\n \n svg {\n color: $textColor;\n }\n }\n\n .link-restore {\n svg {\n color: white;\n }\n\n &:hover {\n color: $hoverButtonText;\n background-color: $primaryLight;\n }\n \n &:hover {\n color: $activeButtonText;\n background-color: $primaryActive;\n }\n }\n }\n }\n}\n",".backups-restore-settings {\n .toolbar {\n .backup-details-icon {\n svg {\n transform: translateX(2px);\n }\n }\n }\n\n .mail-accounts-wrapper {\n .list-item {\n .l-col {\n .star {\n .checkbox + div {\n display: none;\n }\n }\n }\n }\n }\n}\n",".backups-wrapper .list-item .c-1 div > span {\n padding-left: 15px;\n}\n\n.backups-restore-details .list-item .star {\n display: none;\n}",".cron-jobs-list.r-col .name {\n font-size: 25px;\n}\n\n.cron-col > div {\n display: flex;\n flex-direction: column;\n\n span {\n font-size: 18px;\n font-weight: bolder;\n }\n}","@import 'src/utils/scss/variables';\n\n.r-menu {\n > div {\n > button {\n font-size: 13px;\n background: white;\n border-color: white;\n color: $textColor;\n\n &:hover {\n background: white;\n border-color: white;\n color: $textColor;\n }\n }\n }\n}\n\n.cron-wrapper {\n .r-col .stats > div {\n flex: none;\n width: 17%;\n }\n\n .actions {\n > div:nth-child(1) a:hover,\n > div:nth-child(1) button:hover {\n background: $primaryLight;\n }\n\n > div:nth-child(2) a:hover,\n > div:nth-child(2) button:hover {\n background: #ff3438;\n }\n }\n}",".packages {\n .r-col {\n .stats {\n .c-2 {\n padding-left: 2rem;\n\n div > span {\n width: 50%;\n }\n }\n\n .c-3 {\n margin-left: 0;\n\n div.ns {\n margin-top: 5px;\n }\n }\n }\n }\n}",".packages-wrapper {\n .r-col .stats {\n .c-1 .stat {\n margin-left: 1rem;\n }\n\n .c-2 {\n padding: 0;\n }\n }\n}","@import 'src/utils/scss/variables';\n\n.password-wrapper {\n display: flex;\n\n button {\n color: $primary;\n\n &:hover {\n color: $secondaryLight;\n }\n }\n\n span.eye {\n margin-left: 9px;\n }\n\n span.eye-slash {\n margin-left: 7px;\n }\n}\n\nbutton.generate-password {\n color:$primary;\n font-weight: bold;\n\n &:hover {\n color: $secondaryLight;\n }\n\n &:active {\n color: $secondaryActive;\n }\n}\n\ninput {\n color: $textColor;\n}\n\nlabel[for=email] {\n width: 100%;\n display: flex;\n align-items: center;\n\n > div {\n display: flex;\n align-items: center;\n\n input {\n height: fit-content;\n margin: 0 10px;\n }\n\n label {\n margin: 0;\n font-size: 12px;\n }\n }\n}",".statistics-list.updates {\n .text-status {\n display: flex;\n margin-top: 20px;\n\n > div.checkbox {\n margin-bottom: 0;\n margin-right: 10px;\n }\n }\n\n .list-item .star {\n display: none;\n }\n\n .r-col .c-1 {\n margin-right: 10px;\n }\n}",".statistics-list.updates .toolbar {\n height: 44px;\n}",".servers-list {\n .servers-wrapper .list-item.sys-info {\n .r-col {\n padding: 0;\n\n .name {\n font-size: 35px;\n }\n\n .c-2 span > span.stat {\n margin-left: 10px;\n }\n\n .c-3 {\n padding-right: 0;\n\n > div > span {\n width: 100%;\n }\n }\n }\n }\n\n .actions a.link-gray.restart svg,\n .actions button.link-gray.restart svg {\n width: 1rem;\n height: 1rem;\n }\n}",".servers-list .list-item .star {\n display: none;\n}\n\n.servers-list .r-col .stats .c-2 {\n padding: 0;\n}\n\n.servers-wrapper .list-item .r-col .stats .c-3 {\n padding: 0;\n\n span.stat {\n margin-left: 0;\n }\n}\n\n.servers-wrapper .l-col {\n display: flex;\n align-items: center;\n height: 55px;\n\n .checkbox {\n margin: 0px;\n }\n}\n\n.servers-wrapper .r-col {\n padding-left: 2rem;\n\n .server-name {\n color: black;\n font-size: 28px;\n }\n}\n\n.servers-wrapper .list-item .r-col {\n .c-3 > div > span {\n transform: translateX(-10px);\n }\n\n .stats div > span {\n width: 100%;\n }\n}\n",".servers-list .l-col {\n .text-status {\n display: block;\n }\n\n div.star {\n display: none;\n }\n\n .servers-wrapper {\n .list-item:first-child {\n margin-top: 0;\n }\n\n .l-col {\n width: 16.3%;\n\n .server-name {\n font-size: 28px;\n }\n }\n }\n}","@import 'src/utils/scss/variables';\n@import 'src/utils/scss/breakpoints';\n\n.mobile-top-nav-wrapper.hide {\n opacity: 0;\n}\n\n.mobile-top-nav-wrapper.show {\n z-index: 5;\n opacity: 1;\n position: fixed;\n width: 100%;\n height: 111px;\n background: white;\n display: flex;\n flex-direction: column;\n animation: showMobileNav forwards .3s;\n margin-top: 82px;\n\n .mobile-menu {\n padding: 0 10%;\n flex-wrap: wrap;\n margin-top: 15px;\n }\n\n > div .top-link {\n display: flex;\n font-size: 14px;\n padding: 4px 0;\n\n &:hover {\n background: $secondaryLight;\n \n a, button {\n color: $white;\n }\n }\n }\n\n div {\n display: flex;\n \n a, button {\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 0 10px !important;\n width: fit-content;\n height: 100%;\n text-decoration: none;\n color: $black;\n }\n\n button {\n background: none;\n border: none;\n }\n\n &:hover {\n cursor: pointer;\n }\n }\n\n div.active {\n background: white;\n \n a, button {\n color: $secondary;\n font-weight: bold;\n\n &:hover {\n color: white;\n }\n\n &:active {\n background: $secondaryActive;\n color: white;\n }\n }\n\n &:hover {\n color: white;\n background: $secondaryLight;\n }\n }\n\n .toolbar {\n margin: 0;\n position: relative;\n border: none;\n }\n\n\n .mobile-stat-menu {\n box-shadow: 0 5px 3px 0 hsla(0,0%,78.4%,.5);\n\n .menu-wrapper {\n position: relative;\n height: auto;\n min-height: auto;\n padding: 0;\n margin-top: 9px;\n\n .menu-stat {\n margin: 0;\n\n .stat {\n text-align: left;\n flex: 1 1 auto;\n margin-bottom: 15px;\n }\n }\n }\n }\n}\n\n@media (max-width: 1066px) {\n .mobile-stat-menu .menu-wrapper .menu-stat {\n margin-top: 40px;\n\n .stat {\n .stats {\n display: none;\n }\n }\n }\n}\n\n@media (max-width: 900px) {\n .mobile-toolbar .toolbar {\n padding: 0 1%;\n }\n}\n\n@media (max-width: 725px) {\n .mobile-top-nav-wrapper.show {\n .menu-stat {\n display: flex;\n flex-wrap: wrap;\n }\n }\n\n .mobile-menu {\n padding: 0 10%;\n }\n}\n\n@keyframes showMobileNav {\n from {\n opacity: 0;\n }\n\n to {\n opacity: 1;\n }\n}\n","$whiteBackground: #ececec;\n$primary: #2c54ac;\n$primaryLight: #d7dcef;\n$primaryActive: #1e5cb2;\n$secondary: #fcac04;\n$secondaryLight: #f8b014;\n$secondaryActive: #fdb51c;\n$hoverButtonText: #2c54ac;\n$activeButtonText: #fff;\n$notifications: #e49d45;\n$notificationsLight: #de9234;\n$notificationsActive: #6f4e2b;\n$textColor: #555;\n\n.top-panel .profile-menu {\n div {\n width: auto;\n height: auto;\n }\n\n button {\n cursor: default;\n background: none;\n box-shadow: unset;\n width: 100%;\n height: 100%;\n\n &:hover {\n background: none;\n }\n\n &:active, &:focus {\n outline: none;\n border: unset;\n background: unset;\n background-color: unset;\n border-color: unset;\n }\n }\n\n .btn-danger:not(:disabled):not(.disabled).active,\n .btn-danger:not(:disabled):not(.disabled):active,\n .show>.btn-danger.dropdown-toggle {\n background-color: unset;\n border-color: unset;\n box-shadow: unset;\n }\n\n .dropdown-menu {\n display: none;\n height: auto;\n max-height: 75vh;\n overflow: auto;\n cursor: default;\n background: #222e44;\n border: 1px solid #fcac04;\n border-width: 1px 0 0 0;\n box-shadow: rgb(34, 46, 68) 0px 0px 10px -1px;\n\n > div {\n cursor: default;\n }\n }\n \n .dropdown-menu.show {\n display: flex;\n flex-direction: column;\n width: auto;\n width: 340px;\n margin: 0;\n\n .dropdown-item {\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n padding-left: 0;\n padding-right: 5px;\n\n span.title {\n display: block;\n width: 100%;\n padding: 10px 0 0 10px;\n text-align: left;\n color: $secondary;\n }\n\n span.delete-notification {\n width: 10px;\n height: 10px;\n background: $secondary;\n border-radius: 50%;\n cursor: pointer;\n\n &:hover {\n border: 2px solid $secondaryLight;\n background: transparent;\n }\n }\n\n &:hover {\n background: none;\n }\n }\n\n .dropdown-item + div {\n text-align: left;\n width: 100%;\n padding: 0 10px 20px 10px;\n color: #ABABAB;\n\n a {\n display: contents;\n color: $notifications;\n\n &:hover {\n color: $notificationsLight;\n }\n }\n }\n\n .dropdown-divider {\n margin: 0;\n border-color: #555;\n width: 100%;\n\n &:last-child {\n display: none;\n }\n }\n }\n}","@import 'src/utils/scss/variables';\n@import 'src/utils/scss/breakpoints';\n\n.top-panel.small-device {\n display: none;\n}\n\n.top-panel {\n display: flex;\n flex-direction: row;\n font-size: 12px;\n position: fixed;\n width: 100%;\n text-align: center;\n color: white;\n background: #222e44;\n height: 34px;\n align-items: center;\n justify-content: space-between;\n padding: 0 13%;\n z-index: 2;\n\n .container {\n display: flex;\n flex-direction: row;\n width: 80%;\n height: 100%;\n\n .logo div {\n img {\n width: 82%;\n }\n\n &:hover {\n background-color: transparent;\n }\n }\n\n div {\n display: flex;\n justify-content: center;\n align-items: center;\n \n a, button {\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 0 10px !important;\n width: fit-content;\n height: 100%;\n text-decoration: none;\n color: white;\n }\n\n button {\n background: none;\n border: none;\n }\n\n &:hover {\n cursor: pointer;\n }\n }\n\n div.active {\n background: white;\n \n a, button {\n color: $secondary;\n font-weight: bold;\n\n &:hover {\n color: white;\n }\n\n &:active {\n background: $secondaryActive;\n color: white;\n }\n }\n\n &:hover {\n background: $secondaryLight;\n }\n }\n }\n\n .left-menu {\n width: 75%;\n margin: 0;\n padding: 0;\n justify-content: space-between;\n\n div.top-link,\n div.nav-link {\n flex: 1 1 auto;\n height: 100%;\n transform: translateX(-5px);\n\n &:hover {\n background: $secondaryLight;\n }\n }\n\n div.logo {\n width: 7rem;\n padding-left: 0;\n\n a {\n div {\n padding: 0;\n width: 6rem;\n flex: none;\n\n img {\n width: 90%;\n }\n }\n }\n\n &:hover {\n background: transparent;\n }\n }\n\n div.fm {\n width: 10rem;\n }\n\n .top-link.focus {\n a, button {\n color: $secondaryActive;\n }\n }\n }\n\n .profile-menu {\n width: 25%;\n margin: 0;\n padding: 0;\n justify-content: flex-end;\n\n div {\n height: 100%;\n }\n\n div.bell {\n width: auto;\n color: $secondary;\n padding: 3px 0;\n\n svg {\n border-radius: 30px;\n width: 40px;\n height: 30px;\n padding: 3px;\n\n &:hover {\n background: #79522294;\n }\n\n &:active {\n background: #866032;\n }\n }\n }\n\n .edit-user a {\n color: #a4abad;\n font-weight: 700;\n \n &:hover {\n color: $secondaryLight;\n }\n\n &:active {\n color: $secondaryActive;\n }\n }\n\n .logout-button a,\n .logout-button button {\n color: white;\n cursor: pointer;\n font-weight: 100;\n\n &:hover {\n color: $secondaryLight;\n }\n\n &:active {\n color: $secondaryActive;\n }\n }\n }\n}\n\n.top-panel.long-profile {\n .left-menu {\n justify-content: start;\n\n > div {\n width: fit-content;\n flex: unset;\n padding: 0 1rem;\n }\n\n .logo {\n width: 7rem;\n padding: 0;\n margin-right: 1rem;\n }\n }\n\n .profile-menu {\n align-items: center;\n\n > .edit-user {\n width: fit-content;\n }\n\n .long-username {\n display: flex;\n justify-content: center;\n align-items: center;\n width: auto;\n\n > span:nth-child(1) {\n margin-right: 5px;\n }\n\n > span:nth-child(3) {\n margin-left: 5px;\n }\n }\n }\n}\n\n@media screen and (max-width: 1350px) {\n .top-panel {\n padding: 0 10%;\n }\n}\n\n@media screen and (max-width: $desktopMin) {\n .top-panel {\n padding: 0 8%;\n }\n}\n\n@media (max-width: 900px) {\n .top-panel {\n display: none;\n }\n\n .top-panel.small-device {\n display: flex;\n justify-content: space-between;\n padding: 0 10%;\n\n > .container {\n align-items: center;\n width: auto;\n }\n\n .hamburger {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n\n .bar {\n height: 2px;\n margin: 2px;\n width: 20px;\n background: white;\n }\n }\n }\n}\n\n@media (max-width: $phoneMax) {\n .top-panel.small-device {\n padding: 0;\n }\n\n .top-panel .left-menu div.logo {\n width: unset;\n\n a div {\n width: 5rem;\n }\n }\n}\n",".main-nav {\n width: 100%;\n height: 249px;\n\n .nav-wrapper {\n position: fixed;\n width: 100%;\n animation: toggleNav .75s forwards;\n z-index: 1;\n }\n}\n\n// Small Devices\n@media (max-width: 900px) {\n .main-nav {\n height: 0;\n }\n\n @keyframes toggleNav {\n from {\n transform: translateY(-150px);\n }\n \n to {\n transform: translateY(50px);\n }\n }\n}","@import 'src/utils/scss/variables';\n\n.mail-accounts {\n div.subtitle {\n color: $primary;\n font-size: 12px;\n margin: 30px 0 18px 14.3%;\n text-transform: uppercase;\n font-weight: bold;\n }\n\n .mail-accounts-wrapper {\n > div:nth-child(2) {\n border-top: 1px solid #ddd;\n }\n\n div.list-item {\n .r-col {\n .stat.email {\n width: fit-content;\n text-transform: none;\n }\n }\n }\n }\n\n .footer-actions-wrapper {\n display: flex;\n align-items: center;\n margin-top: 2rem;\n padding-bottom: 1.5rem;\n\n .total {\n margin: 0 3.5rem 0 14.3%;\n }\n\n .back {\n a {\n padding: 8px 38px;\n color: #777;\n background: #DFDEDD;\n border: 1px solid #DFDEDD;\n border-radius: 3px;\n font-size: 13px;\n font-weight: bold;\n }\n }\n }\n}",".crossed {\n text-decoration: line-through;\n}\n\n.catchall-mail {\n text-transform: none;\n}\n","@import 'src/utils/scss/variables';\n\n.dns-records {\n div.subtitle {\n color: $primary;\n font-size: 12px;\n margin: 30px 0 18px 14.3%;\n text-transform: uppercase;\n font-weight: bold;\n }\n\n .dns-records-wrapper {\n > div:nth-child(2) {\n border-top: 1px solid #ddd;\n }\n\n div.list-item {\n .r-col {\n .stats {\n > div {\n flex: unset;\n }\n\n .c-1 {\n width: 14.3%;\n }\n\n .c-2 {\n margin-left: 10px;\n width: 14.3%;\n }\n\n .c-3 {\n margin-left: 0;\n width: 14.3%;\n\n span {\n color: #888;\n font-weight: normal;\n }\n }\n\n .c-4 {\n width: 550px;\n\n .stat {\n display: block;\n white-space: normal;\n overflow: hidden;\n width: 100%;\n text-overflow: ellipsis;\n }\n }\n }\n }\n }\n }\n\n .footer-actions-wrapper {\n display: flex;\n align-items: center;\n margin-top: 2rem;\n padding-bottom: 1.5rem;\n\n .total {\n margin: 0 3.5rem 0 14.3%;\n }\n\n .back {\n a {\n padding: 8px 38px;\n color: #777;\n background: #DFDEDD;\n border: 1px solid #DFDEDD;\n border-radius: 3px;\n font-size: 13px;\n font-weight: bold;\n }\n }\n }\n}","span.dns-records {\n padding-left: 25px;\n font-size: 18px;\n font-weight: normal;\n font-style: italic;\n color: gray;\n}\n\n.r-col {\n .stats {\n .c-2.w-30 {\n padding-left: 0;\n }\n }\n}",".statistic-item {\n display: flex;\n justify-content: center;\n padding: 25px 0;\n border-bottom: 1px solid #eee;\n\n .l-col {\n .date {\n font-size: 13px;\n margin-top: 3rem;\n }\n }\n\n .r-col {\n .name {\n font-size: 32px;\n }\n\n .c-1 {\n .bandwidth, .disk {\n width: 220px;\n }\n\n div.sub-disk-stats {\n width: 250px;\n }\n }\n\n .c-2 {\n margin-right: 0;\n\n div>span:nth-child(2) {\n margin: 0;\n padding: 0;\n }\n }\n\n .c-3.w-35 {\n span.stat {\n width: 80px;\n }\n\n \n div > span {\n width: 50%;\n text-align: left;\n }\n\n div>span:nth-child(2) {\n width: 100px;\n }\n }\n }\n}",".statistics-list {\n color: #686868;\n\n .toolbar {\n padding: 6px 13%;\n }\n\n .l-col {\n width: 14.3%;\n\n div.date {\n margin-top: 25px;\n }\n }\n}\n\n.total {\n margin-top: 25px;\n margin-left: 15%;\n font-size: 12px;\n color: #929292;\n}\n\n.statistic-item.focused {\n border-left: 2px solid #5edad0;\n transform: translateX(-2px);\n\n .r-col .date {\n color: #5edad0;\n }\n}\n\n@media (max-width: 1350px) {\n .statistics-list .toolbar {\n padding: 6px 9.5%;\n }\n}","@import 'src/utils/scss/variables';\n\n.checkbox {\n margin-bottom: 10px;\n}\n\n.date {\n margin: 10px 0;\n}\n\n.l-col div.star {\n text-align: center;\n\n div > svg {\n cursor: pointer;\n opacity: 0;\n color: gray;\n padding: 8px;\n width: 35px;\n height: 35px;\n border-radius: 50%;\n\n &:hover {\n background: #b4b4b478;\n color: $primary;\n }\n }\n}\n\nspan.stat.email{\n display: block;\n width: fit-content;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n\n.r-col {\n .name {\n font-size: 35px;\n margin-bottom: 5px;\n color: black;\n }\n \n > div:nth-child(2) {\n text-transform: capitalize;\n }\n\n .stats {\n display: flex;\n justify-content: flex-start;\n align-items: flex-start;\n\n .c-1, .c-2, .c-3 {\n width: 32%;\n\n > div {\n display: flex;\n margin: 5px 0;\n }\n\n .bandwidth,\n .disk {\n width: 200px;\n justify-content: space-between;\n margin-bottom: 25px;\n border-bottom: 1px dotted gray;\n position: relative;\n\n .percent {\n position: absolute;\n left: 0px;\n bottom: -1px;\n height: 2px;\n background: $primary;\n width: 0%;\n }\n }\n\n .sub-disk-stats {\n width: 250px;\n\n > div {\n width: 50%;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n font-size: 11px;\n\n span:nth-child(1) {\n width: 40px;\n }\n }\n\n > div:nth-child(2) {\n width: 70%;\n justify-content: flex-end;\n\n span:nth-child(1) {\n width: 80px;\n }\n }\n }\n }\n\n .c-1 {\n margin: 0;\n margin-top: 15px;\n }\n\n .c-2 {\n margin: 15px 20px;\n\n div {\n > span:nth-child(1) {\n width: 120px;\n }\n\n > span:nth-child(2) {\n width: 150px;\n padding-left: 15px;\n }\n }\n }\n\n .c-3 {\n div {\n > span:nth-child(1) {\n width: 120px;\n }\n\n > span:nth-child(2) {\n width: 200px; \n }\n }\n\n div.ns {\n margin-top: 20px;\n }\n }\n\n > div {\n margin: 15px 0;\n flex: 1 1 0;\n }\n\n .stat {\n font-weight: bold;\n color: #5f5f5f;\n }\n }\n}\n\n.actions {\n position: absolute;\n top: 0;\n right: 0;\n opacity: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 12px;\n background: #dfdedd;\n\n > div {\n font-weight: bolder;\n text-transform: uppercase;\n height: 38px;\n\n a, button {\n display: flex;\n justify-content: center;\n align-items: center;\n color: #777;\n padding: 10px 15px;\n text-decoration: none;\n\n &:hover {\n background: rgb(145, 145, 145);\n color: white;\n\n svg {\n color: white;\n }\n }\n }\n\n svg {\n color: #777;\n }\n }\n\n > div:nth-child(2) a:hover {\n background: $primary;\n }\n\n > div:nth-child(4) a:hover {\n background: $danger;\n }\n\n svg {\n margin-left: 12px;\n }\n\n @media (max-width: 1066px) {\n opacity: 1;\n }\n\n @media (max-width: 850px) {\n > div {\n width: fit-content;\n\n a, button {\n width: 100%;\n }\n }\n }\n}\n\n.list-item.focused .r-col .name {\n color: $secondaryLight;\n}\n\n@media (max-width: 1066px) {\n div.star div > svg {\n opacity: 1 !important;\n }\n}\n",".content .Toastify__toast-container {\n bottom: 1em !important;\n top: unset;\n}",".timer-wrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n\n button {\n border: none;\n background: none;\n\n &:active, &:focus {\n outline: none;\n }\n }\n\n .circle-wrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 30px;\n height: 30px;\n\n span.seconds {\n &:hover, &:active {\n background: unset;\n }\n }\n\n svg {\n height: 30px;\n width: 30px;\n\n circle {\n stroke: black;\n fill: white;\n stroke-width: 3%;\n stroke-dasharray: 72;\n stroke-dashoffset: 9;\n transform-box: fill-box;\n transform-origin: center;\n transform: rotate(270deg);\n transition: all 1s linear;\n }\n }\n }\n}",".rrd-item {\n display: flex;\n justify-content: center;\n align-items: center;\n border-bottom: 1px solid #eee;\n position: relative;\n\n .l-col {\n .date {\n font-size: 13px;\n margin-top: 3rem;\n }\n\n .time {\n font-size: 13px;\n margin-top: 2rem;\n text-align: left;\n }\n }\n\n .r-col {\n .name {\n font-size: 32px;\n }\n\n .rrd-image {\n font-size: 20px;\n text-transform: lowercase;\n }\n }\n}\n\n.rrd-item.focused {\n border-left: 2px solid #5edad0;\n\n .l-col {\n padding-left: 11px;\n }\n\n div.actions {\n opacity: 1;\n }\n}","@import 'src/utils/scss/variables';\n\ndiv.content {\n margin-top: 0;\n}\n\n.rrd-list {\n color: $textColor;\n\n .toolbar {\n padding: 6px 13%;\n }\n\n .rrd-item {\n padding: 25px 0;\n align-items: flex-start;\n\n .actions {\n opacity: 0;\n }\n\n .l-col {\n display: flex;\n flex-direction: column;\n margin: 15px 40px 0 0;\n\n .date {\n margin: 0;\n }\n }\n\n &:hover {\n .actions {\n opacity: 1;\n }\n }\n }\n}\n\n.periods-wrapper {\n display: flex;\n align-items: center;\n\n > div:nth-child(1) {\n margin-left: 8px;\n }\n\n > div {\n cursor: pointer;\n margin: 0 15px;\n font-size: 14px;\n\n &:hover {\n color: $secondaryLight;\n }\n\n &:active {\n color: $primaryActive;\n }\n }\n\n .timer-wrapper {\n > button svg {\n\n &:hover {\n color: $secondaryLight;\n }\n\n &:active {\n color: $primaryActive;\n }\n }\n\n > div.circle-wrapper {\n cursor: default;\n }\n }\n\n > div.active {\n color: $secondaryActive;\n }\n}\n\n@media (max-width: 1350px) {\n .rrd-list .toolbar {\n padding: 6px 9.5%;\n }\n}\n",".App .service-info {\n @media screen and (max-width: 1066px) {\n .top-panel {\n display: flex;\n }\n }\n\n @media screen and (min-width: 1200px) {\n .top-panel {\n padding: 0 13%;\n }\n }\n\n .content {\n font-size: 14px;\n color: #555;\n padding-top: 4rem;\n\n @media screen and (min-width: 1067px) {\n padding-top: 5rem !important;\n margin-top: 0px !important;\n }\n\n @media screen and (max-width: 1066px) {\n padding-top: 5rem !important;\n margin-top: 0px !important;\n }\n\n table {\n td,th {\n padding: 5px 10px;\n border: 1px solid black;\n }\n }\n }\n}\n",".web-stats,\n.add-ftp {\n text-decoration: line-through;\n}\n\n.r-col {\n .stats {\n .c-2 {\n margin-left: 20px;\n }\n }\n}\n\n.r-col {\n .c-2 span.stat,\n .c-3 span.stat {\n margin-left: 1rem;\n }\n\n .name {\n display: flex;\n\n > div:nth-child(1) {\n margin-right: 2rem;\n }\n\n > div + div {\n line-height: 10px;\n margin-top: .75rem;\n }\n\n .dns-name-span {\n font-style: italic;\n color: #858585;\n font-size: 14px;\n }\n }\n}\n\ndiv.crossed {\n text-decoration: line-through;\n}","$secondary: #fcac04;\n\n.content {\n .toolbar {\n .search-toolbar-name {\n font-size: 12px;\n text-transform: uppercase;\n color: $secondary;\n font-weight: bold;\n margin-left: 14.3%;\n padding-left: 7px;\n align-self: center;\n }\n\n .search-toolbar-right {\n display: flex;\n justify-content: center;\n align-items: center;\n\n .btn-group {\n button {\n border: none;\n background: none;\n box-shadow: none;\n\n &:focus, &:active, &:hover {\n background: none;\n box-shadow: none;\n outline: none;\n border: none;\n color: #686868;\n }\n }\n }\n\n .search-input-form {\n padding-top: 2px;\n }\n }\n }\n\n .statistics-wrapper {\n > .list-item:first-child {\n margin-top: 0;\n }\n\n .list-item {\n .l-col {\n > .star {\n display: none;\n }\n }\n\n .r-col {\n div.object {\n text-transform: uppercase;\n }\n\n .c-2 .owner span,\n .c-3 .status span {\n text-align: center;\n font-weight: bold;\n text-transform: lowercase;\n }\n }\n }\n }\n}",".logs-list {\n .toolbar {\n padding: 6px 13%;\n }\n\n .statistic-item {\n .l-col {\n font-size: 13px;\n color: #888;\n \n .date {\n margin: 1rem 0;\n margin-bottom: 1.5rem;\n }\n }\n \n .r-col {\n .name {\n margin-top: .7rem;\n font-size: 18px;\n }\n }\n }\n\n .statistic-item.focused {\n border-left: 2px solid #5edad0;\n\n div.name {\n color: #5edad0;\n }\n }\n}\n\n@media (max-width: 1350px) {\n .logs-list .toolbar {\n padding: 6px 9.5%;\n }\n}",".logs-list .toolbar .search-input-form input {\n margin-bottom: 5px;\n}\n\n.logs-list .l-col {\n width: 14%;\n}","@import 'src/utils/scss/variables';\n\n.content {\n padding: 0 13%;\n padding-bottom: 1%;\n margin-top: 5px;\n\n > div > div.total {\n margin-top: 25px;\n margin-left: 14%;\n font-size: 12px;\n color: #929292;\n }\n}\n\n@media (max-width: 1350px) {\n .content {\n padding: 0 10%;\n }\n}\n\n@media (max-width: 1066px) {\n .content {\n padding: 5% 10%;\n }\n}\n\n@media (max-width: 900px) {\n .content {\n margin-top: 40px;\n }\n}\n\n@media (max-width: 800px) {\n .content {\n padding-top: 5%;\n }\n}\n\n.fixed-buttons {\n position: fixed;\n right: 15px;\n bottom: 15px;\n display: flex;\n justify-content: space-around;\n align-items: center;\n\n > div {\n width: 40px;\n height: 40px;\n padding: 5px;\n margin: 5px;\n border-radius: 50%;\n background: #c3c3c3;\n display: flex;\n justify-content: center;\n align-items: center;\n \n &:hover {\n color: $hoverButtonText;\n background: $primaryLight;\n }\n \n &:active {\n color: $activeButtonText;\n background: $primaryActive;\n }\n \n button {\n display: flex;\n justify-content: center;\n align-items: center;\n background: none;\n border: none;\n width: 100%;\n height: 100%;\n border-radius: 50%;\n transform: scale(1.32);\n \n svg {\n color: white;\n height: 70%;\n }\n }\n }\n\n > div:first-child {\n color: #c3c3c3;\n background: none;\n\n &:hover {\n background: $primaryLight;\n\n button svg {\n color: $activeButtonText;\n }\n }\n\n &:active {\n color: $activeButtonText;\n background: $primaryActive;\n }\n\n button {\n padding: 0;\n\n svg {\n color: #c3c3c3;\n }\n }\n }\n}\n\n@media screen and (max-width: 1066px) {\n .fixed-buttons > div:first-child {\n display: none;\n }\n}\n\n@media screen and (max-width: 450px) {\n .content {\n padding: 5% 1%;\n }\n}\n","@import 'src/utils/scss/variables';\n\n.panel-wrapper {\n .logo-img {\n img {\n width: 82%;\n }\n\n &:hover {\n background-color: transparent;\n }\n }\n\n .nav-link {\n padding: 0;\n }\n\n .left-menu {\n justify-content: unset;\n\n .logo {\n width: fit-content;\n flex: unset;\n }\n\n .scrollbar-container {\n &:hover {\n background: none;\n }\n\n .nav-link {\n flex: unset;\n padding: 0 5px;\n }\n }\n\n a, button {\n padding: 0 !important;\n outline: none;\n }\n \n > div.nav-link {\n padding: 0;\n }\n }\n\n .profile-menu {\n > div:nth-child(1) a {\n &:hover {\n color: $secondaryLight;\n }\n\n &:active {\n color: $secondaryActive;\n }\n }\n\n > div:nth-child(2) a {\n &:hover {\n color: $secondaryActive;\n }\n\n &:active {\n color: $secondaryActive;\n }\n }\n\n .user {\n color: #a4abad;\n font-weight: 700;\n \n &:hover {\n color: $secondaryLight;\n }\n\n &:active {\n color: $secondaryActive;\n }\n }\n\n .log-out {\n color: white;\n cursor: pointer;\n font-weight: 100;\n\n &:hover {\n color: $primaryLight;\n }\n\n &:active {\n color: $secondaryActive;\n }\n }\n }\n}\n",".App .web-logs {\n .top-panel {\n .left-menu {\n .logo {\n justify-content: start;\n margin: 0;\n \n a {\n padding: 0 !important;\n }\n }\n }\n }\n\n .content {\n font-size: 14px;\n color: #555;\n padding-top: 4rem;\n\n @media screen and (min-width: 1067px) {\n padding-top: 5rem !important;\n margin-top: 0px !important;\n }\n\n @media screen and (max-width: 1066px) {\n padding-top: 5rem !important;\n margin-top: 0px !important;\n }\n }\n}\n",".login-layout {\n margin-top: 1rem;\n padding: 2rem 3rem;\n}","@import 'src/utils/scss/variables';\n@import 'src/utils/scss/breakpoints';\n\n.login-page {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n height: 100vh;\n background-color: #eee;\n\n .login-form-wrapper {\n background-color: #fff;\n box-shadow: 0 2px 6px rgba(100, 100, 100, 0.3);\n font-family: Arial,Helvetica,sans-serif;\n margin: 0;\n padding: 0;\n text-align: left;\n width: 575px;\n\n .login-layout {\n position: relative;\n\n > span {\n position: absolute;\n bottom: 0;\n right: 20px;\n font-size: 11px;\n \n a {\n color: #505050;\n }\n }\n }\n\n form {\n display: flex;\n position: relative;\n\n > div {\n input[type=\"text\"],\n input[type=\"password\"] {\n width: 100%;\n }\n }\n\n .c1 {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 35%;\n\n img {\n width: 110%;\n }\n }\n\n .c2 {\n width: 65%;\n margin-left: 3.5rem;\n\n .forgot-password {\n font-size: 11px;\n text-transform: uppercase;\n letter-spacing: .75px;\n text-decoration: none;\n }\n\n button[type=\"submit\"] {\n background-color: $primary;\n border: 1px solid $primary;\n padding: 1px 16px 3px;\n font-size: 13px;\n height: 35px;\n color: #fafafa;\n border-radius: 3px;\n\n &:hover {\n color: $primary;\n border: 1px solid $primaryLight;\n background-color: $primaryLight;\n }\n\n &:active {\n color: #fafafa;\n border: 1px solid $primary;\n background-color: $primary;\n }\n\n .disabled {\n cursor: not-allowed;\n }\n }\n\n div.error-message {\n margin-top: 1rem;\n color: #BE5ABF;\n }\n }\n }\n }\n\n @media (max-width: $tabletMax) {\n .login-form-wrapper {\n margin: 2rem;\n\n .login-layout {\n form {\n flex-direction: column;\n justify-content: center;\n align-items: center;\n\n .c1 {\n width: 100%;\n margin-bottom: 1.5rem;\n\n a {\n text-align: center;\n\n img {\n width: 75%;\n }\n }\n }\n\n .c2 {\n margin: 0;\n width: 100%;\n }\n\n .buttons-wrapper {\n .add {\n margin-bottom: 10px;\n }\n }\n }\n }\n }\n }\n}\n"]} \ No newline at end of file diff --git a/web/static/index.html b/web/static/index.html index a4adfab6b..62867eec1 100644 --- a/web/static/index.html +++ b/web/static/index.html @@ -1 +1 @@ -Vesta
    \ No newline at end of file +Vesta
    \ No newline at end of file diff --git a/web/static/js/2.5dc90ea3.chunk.js b/web/static/js/2.5dc90ea3.chunk.js deleted file mode 100644 index bf997f369..000000000 --- a/web/static/js/2.5dc90ea3.chunk.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! For license information please see 2.5dc90ea3.chunk.js.LICENSE.txt */ -(this["webpackJsonpreact-control-panel"]=this["webpackJsonpreact-control-panel"]||[]).push([[2],[function(e,t,n){"use strict";e.exports=n(97)},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(15);function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;t=0;r--){var i=t[r](e);if(i)return i}return function(t,r){throw new Error("Invalid value of type "+typeof e+" for "+n+" argument when connecting component "+r.wrappedComponentName+".")}}function F(e,t){return e===t}function z(e){var t=void 0===e?{}:e,n=t.connectHOC,r=void 0===n?S:n,i=t.mapStateToPropsFactories,o=void 0===i?D:i,a=t.mapDispatchToPropsFactories,s=void 0===a?L:a,l=t.mergePropsFactories,c=void 0===l?P:l,u=t.selectorFactory,p=void 0===u?R:u;return function(e,t,n,i){void 0===i&&(i={});var a=i,l=a.pure,u=void 0===l||l,h=a.areStatesEqual,m=void 0===h?F:h,g=a.areOwnPropsEqual,v=void 0===g?T:g,y=a.areStatePropsEqual,b=void 0===y?T:y,w=a.areMergedPropsEqual,x=void 0===w?T:w,_=Object(d.a)(a,["pure","areStatesEqual","areOwnPropsEqual","areStatePropsEqual","areMergedPropsEqual"]),k=q(e,o,"mapStateToProps"),S=q(t,s,"mapDispatchToProps"),E=q(n,c,"mergeProps");return r(p,Object(f.a)({methodName:"connect",getDisplayName:function(e){return"Connect("+e+")"},shouldHandleStateChanges:Boolean(e),initMapStateToProps:k,initMapDispatchToProps:S,initMergeProps:E,pure:u,areStatesEqual:m,areOwnPropsEqual:v,areStatePropsEqual:b,areMergedPropsEqual:x},_))}}var H=z();function B(){return Object(r.useContext)(o)}function U(e){void 0===e&&(e=o);var t=e===o?B:function(){return Object(r.useContext)(e)};return function(){return t().store}}var W=U();function V(e){void 0===e&&(e=o);var t=e===o?W:U(e);return function(){return t().dispatch}}var Y=V(),$=function(e,t){return e===t};function X(e){void 0===e&&(e=o);var t=e===o?B:function(){return Object(r.useContext)(e)};return function(e,n){void 0===n&&(n=$);var i=t(),o=function(e,t,n,i){var o,a=Object(r.useReducer)((function(e){return e+1}),0)[1],s=Object(r.useMemo)((function(){return new c(n,i)}),[n,i]),l=Object(r.useRef)(),u=Object(r.useRef)(),f=Object(r.useRef)(),d=Object(r.useRef)(),p=n.getState();try{o=e!==u.current||p!==f.current||l.current?e(p):d.current}catch(h){throw l.current&&(h.message+="\nThe error may be correlated with this previous error:\n"+l.current.stack+"\n\n"),h}return g((function(){u.current=e,f.current=p,d.current=o,l.current=void 0})),g((function(){function e(){try{var e=u.current(n.getState());if(t(e,d.current))return;d.current=e}catch(h){l.current=h}a()}return s.onStateChange=e,s.trySubscribe(),e(),function(){return s.tryUnsubscribe()}}),[n,s]),o}(e,n,i.store,i.subscription);return Object(r.useDebugValue)(o),o}}var G,K=X(),Q=n(31);G=Q.unstable_batchedUpdates,a=G},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(34);function i(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(e)){var n=[],r=!0,i=!1,o=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(l){i=!0,o=l}finally{try{r||null==s.return||s.return()}finally{if(i)throw o}}return n}}(e,t)||Object(r.a)(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}},function(e,t,n){"use strict";n.d(t,"a",(function(){return y}));var r=n(42),i=n(7),o=n.n(i),a=n(0),s=n.n(a);function l(e){return(l="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function c(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function u(e){for(var t=1;t=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function d(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t0||!Array.isArray(t)&&t?c({},e,t):{}}function y(e){var t=e.icon,n=e.mask,i=e.symbol,o=e.className,a=e.title,s=g(t),l=v("classes",[].concat(d(function(e){var t,n=e.spin,r=e.pulse,i=e.fixedWidth,o=e.inverse,a=e.border,s=e.listItem,l=e.flip,u=e.size,f=e.rotation,d=e.pull,p=(c(t={"fa-spin":n,"fa-pulse":r,"fa-fw":i,"fa-inverse":o,"fa-border":a,"fa-li":s,"fa-flip-horizontal":"horizontal"===l||"both"===l,"fa-flip-vertical":"vertical"===l||"both"===l},"fa-".concat(u),"undefined"!==typeof u&&null!==u),c(t,"fa-rotate-".concat(f),"undefined"!==typeof f&&null!==f),c(t,"fa-pull-".concat(d),"undefined"!==typeof d&&null!==d),c(t,"fa-swap-opacity",e.swapOpacity),t);return Object.keys(p).map((function(e){return p[e]?e:null})).filter((function(e){return e}))}(e)),d(o.split(" ")))),f=v("transform","string"===typeof e.transform?r.c.transform(e.transform):e.transform),p=v("mask",g(n)),h=Object(r.a)(s,u({},l,f,p,{symbol:i,title:a}));if(!h)return function(){var e;!m&&console&&"function"===typeof console.error&&(e=console).error.apply(e,arguments)}("Could not find icon",s),null;var w=h.abstract,x={};return Object.keys(e).forEach((function(t){y.defaultProps.hasOwnProperty(t)||(x[t]=e[t])})),b(w[0],x)}y.displayName="FontAwesomeIcon",y.propTypes={border:o.a.bool,className:o.a.string,mask:o.a.oneOfType([o.a.object,o.a.array,o.a.string]),fixedWidth:o.a.bool,inverse:o.a.bool,flip:o.a.oneOf(["horizontal","vertical","both"]),icon:o.a.oneOfType([o.a.object,o.a.array,o.a.string]),listItem:o.a.bool,pull:o.a.oneOf(["right","left"]),pulse:o.a.bool,rotation:o.a.oneOf([90,180,270]),size:o.a.oneOf(["lg","xs","sm","1x","2x","3x","4x","5x","6x","7x","8x","9x","10x"]),spin:o.a.bool,symbol:o.a.oneOfType([o.a.bool,o.a.string]),title:o.a.string,transform:o.a.oneOfType([o.a.string,o.a.object]),swapOpacity:o.a.bool},y.defaultProps={border:!1,className:"",mask:null,fixedWidth:!1,inverse:!1,flip:null,icon:null,listItem:!1,pull:null,pulse:!1,rotation:null,size:null,spin:!1,symbol:!1,title:"",transform:null,swapOpacity:!1};var b=function e(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if("string"===typeof n)return n;var i=(n.children||[]).map((function(n){return e(t,n)})),o=Object.keys(n.attributes||{}).reduce((function(e,t){var r=n.attributes[t];switch(t){case"class":e.attrs.className=r,delete n.attributes.class;break;case"style":e.attrs.style=h(r);break;default:0===t.indexOf("aria-")||0===t.indexOf("data-")?e.attrs[t.toLowerCase()]=r:e.attrs[p(t)]=r}return e}),{attrs:{}}),a=r.style,s=void 0===a?{}:a,l=f(r,["style"]);return o.attrs.style=u({},o.attrs.style,s),t.apply(void 0,[n.tag,u({},o.attrs,l)].concat(d(i)))}.bind(null,s.a.createElement)},function(e,t,n){"use strict";n.d(t,"a",(function(){return f})),n.d(t,"b",(function(){return v}));var r=n(16),i=n(21),o=n(0),a=n.n(o),s=n(27),l=(n(7),n(14)),c=n(18),u=n(22),f=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),i=0;i=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n},H=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t},B=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return!1===t?String(e):String(e).replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},U=function(e){var t=X(e,g.TITLE),n=X(e,M);if(n&&t)return n.replace(/%s/g,(function(){return Array.isArray(t)?t.join(""):t}));var r=X(e,A);return t||r||void 0},W=function(e){return X(e,D)||function(){}},V=function(e,t){return t.filter((function(t){return"undefined"!==typeof t[e]})).map((function(t){return t[e]})).reduce((function(e,t){return F({},e,t)}),{})},Y=function(e,t){return t.filter((function(e){return"undefined"!==typeof e[g.BASE]})).map((function(e){return e[g.BASE]})).reverse().reduce((function(t,n){if(!t.length)for(var r=Object.keys(n),i=0;i=0;n--){var r=e[n];if(r.hasOwnProperty(t))return r[t]}return null},G=function(){var e=Date.now();return function(t){var n=Date.now();n-e>16?(e=n,t(n)):setTimeout((function(){G(t)}),0)}}(),K=function(e){return clearTimeout(e)},Q="undefined"!==typeof window?window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||G:e.requestAnimationFrame||G,J="undefined"!==typeof window?window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||K:e.cancelAnimationFrame||K,Z=function(e){return console&&"function"===typeof console.warn&&console.warn(e)},ee=null,te=function(e,t){var n=e.baseTag,r=e.bodyAttributes,i=e.htmlAttributes,o=e.linkTags,a=e.metaTags,s=e.noscriptTags,l=e.onChangeClientState,c=e.scriptTags,u=e.styleTags,f=e.title,d=e.titleAttributes;ie(g.BODY,r),ie(g.HTML,i),re(f,d);var p={baseTag:oe(g.BASE,n),linkTags:oe(g.LINK,o),metaTags:oe(g.META,a),noscriptTags:oe(g.NOSCRIPT,s),scriptTags:oe(g.SCRIPT,c),styleTags:oe(g.STYLE,u)},h={},m={};Object.keys(p).forEach((function(e){var t=p[e],n=t.newTags,r=t.oldTags;n.length&&(h[e]=n),r.length&&(m[e]=p[e].oldTags)})),t&&t(),l(e,h,m)},ne=function(e){return Array.isArray(e)?e.join(""):e},re=function(e,t){"undefined"!==typeof e&&document.title!==e&&(document.title=ne(e)),ie(g.TITLE,t)},ie=function(e,t){var n=document.getElementsByTagName(e)[0];if(n){for(var r=n.getAttribute("data-react-helmet"),i=r?r.split(","):[],o=[].concat(i),a=Object.keys(t),s=0;s=0;f--)n.removeAttribute(o[f]);i.length===o.length?n.removeAttribute("data-react-helmet"):n.getAttribute("data-react-helmet")!==a.join(",")&&n.setAttribute("data-react-helmet",a.join(","))}},oe=function(e,t){var n=document.head||document.querySelector(g.HEAD),r=n.querySelectorAll(e+"[data-react-helmet]"),i=Array.prototype.slice.call(r),o=[],a=void 0;return t&&t.length&&t.forEach((function(t){var n=document.createElement(e);for(var r in t)if(t.hasOwnProperty(r))if(r===x)n.innerHTML=t.innerHTML;else if(r===y)n.styleSheet?n.styleSheet.cssText=t.cssText:n.appendChild(document.createTextNode(t.cssText));else{var s="undefined"===typeof t[r]?"":t[r];n.setAttribute(r,s)}n.setAttribute("data-react-helmet","true"),i.some((function(e,t){return a=t,n.isEqualNode(e)}))?i.splice(a,1):o.push(n)})),i.forEach((function(e){return e.parentNode.removeChild(e)})),o.forEach((function(e){return n.appendChild(e)})),{oldTags:i,newTags:o}},ae=function(e){return Object.keys(e).reduce((function(t,n){var r="undefined"!==typeof e[n]?n+'="'+e[n]+'"':""+n;return t?t+" "+r:r}),"")},se=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object.keys(e).reduce((function(t,n){return t[O[n]||n]=e[n],t}),t)},le=function(e,t,n){switch(e){case g.TITLE:return{toComponent:function(){return function(e,t,n){var r,i=((r={key:t})["data-react-helmet"]=!0,r),o=se(n,i);return[u.a.createElement(g.TITLE,o,t)]}(0,t.title,t.titleAttributes)},toString:function(){return function(e,t,n,r){var i=ae(n),o=ne(t);return i?"<"+e+' data-react-helmet="true" '+i+">"+B(o,r)+"":"<"+e+' data-react-helmet="true">'+B(o,r)+""}(e,t.title,t.titleAttributes,n)}};case p:case h:return{toComponent:function(){return se(t)},toString:function(){return ae(t)}};default:return{toComponent:function(){return function(e,t){return t.map((function(t,n){var r,i=((r={key:n})["data-react-helmet"]=!0,r);return Object.keys(t).forEach((function(e){var n=O[e]||e;if(n===x||n===y){var r=t.innerHTML||t.cssText;i.dangerouslySetInnerHTML={__html:r}}else i[n]=t[e]})),u.a.createElement(e,i)}))}(e,t)},toString:function(){return function(e,t,n){return t.reduce((function(t,r){var i=Object.keys(r).filter((function(e){return!(e===x||e===y)})).reduce((function(e,t){var i="undefined"===typeof r[t]?t:t+'="'+B(r[t],n)+'"';return e?e+" "+i:i}),""),o=r.innerHTML||r.cssText||"",a=-1===j.indexOf(e);return t+"<"+e+' data-react-helmet="true" '+i+(a?"/>":">"+o+"")}),"")}(e,t,n)}}}},ce=function(e){var t=e.baseTag,n=e.bodyAttributes,r=e.encode,i=e.htmlAttributes,o=e.linkTags,a=e.metaTags,s=e.noscriptTags,l=e.scriptTags,c=e.styleTags,u=e.title,f=void 0===u?"":u,d=e.titleAttributes;return{base:le(g.BASE,t,r),bodyAttributes:le(p,n,r),htmlAttributes:le(h,i,r),link:le(g.LINK,o,r),meta:le(g.META,a,r),noscript:le(g.NOSCRIPT,s,r),script:le(g.SCRIPT,l,r),style:le(g.STYLE,c,r),title:le(g.TITLE,{title:f,titleAttributes:d},r)}},ue=function(e){var t,n;return n=t=function(t){function n(){return R(this,n),H(this,t.apply(this,arguments))}return function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(n,t),n.prototype.shouldComponentUpdate=function(e){return!l()(this.props,e)},n.prototype.mapNestedChildrenToProps=function(e,t){if(!t)return null;switch(e.type){case g.SCRIPT:case g.NOSCRIPT:return{innerHTML:t};case g.STYLE:return{cssText:t}}throw new Error("<"+e.type+" /> elements are self-closing and can not contain children. Refer to our API for more information.")},n.prototype.flattenArrayTypeChildren=function(e){var t,n=e.child,r=e.arrayTypeChildren,i=e.newChildProps,o=e.nestedChildren;return F({},r,((t={})[n.type]=[].concat(r[n.type]||[],[F({},i,this.mapNestedChildrenToProps(n,o))]),t))},n.prototype.mapObjectTypeChildren=function(e){var t,n,r=e.child,i=e.newProps,o=e.newChildProps,a=e.nestedChildren;switch(r.type){case g.TITLE:return F({},i,((t={})[r.type]=a,t.titleAttributes=F({},o),t));case g.BODY:return F({},i,{bodyAttributes:F({},o)});case g.HTML:return F({},i,{htmlAttributes:F({},o)})}return F({},i,((n={})[r.type]=F({},o),n))},n.prototype.mapArrayTypeChildrenToProps=function(e,t){var n=F({},t);return Object.keys(e).forEach((function(t){var r;n=F({},n,((r={})[t]=e[t],r))})),n},n.prototype.warnOnInvalidChildren=function(e,t){return!0},n.prototype.mapChildrenToProps=function(e,t){var n=this,r={};return u.a.Children.forEach(e,(function(e){if(e&&e.props){var i=e.props,o=i.children,a=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object.keys(e).reduce((function(t,n){return t[P[n]||n]=e[n],t}),t)}(z(i,["children"]));switch(n.warnOnInvalidChildren(e,o),e.type){case g.LINK:case g.META:case g.NOSCRIPT:case g.SCRIPT:case g.STYLE:r=n.flattenArrayTypeChildren({child:e,arrayTypeChildren:r,newChildProps:a,nestedChildren:o});break;default:t=n.mapObjectTypeChildren({child:e,newProps:t,newChildProps:a,nestedChildren:o})}}})),t=this.mapArrayTypeChildrenToProps(r,t)},n.prototype.render=function(){var t=this.props,n=t.children,r=z(t,["children"]),i=F({},r);return n&&(i=this.mapChildrenToProps(n,i)),u.a.createElement(e,i)},q(n,null,[{key:"canUseDOM",set:function(t){e.canUseDOM=t}}]),n}(u.a.Component),t.propTypes={base:i.a.object,bodyAttributes:i.a.object,children:i.a.oneOfType([i.a.arrayOf(i.a.node),i.a.node]),defaultTitle:i.a.string,defer:i.a.bool,encodeSpecialCharacters:i.a.bool,htmlAttributes:i.a.object,link:i.a.arrayOf(i.a.object),meta:i.a.arrayOf(i.a.object),noscript:i.a.arrayOf(i.a.object),onChangeClientState:i.a.func,script:i.a.arrayOf(i.a.object),style:i.a.arrayOf(i.a.object),title:i.a.string,titleAttributes:i.a.object,titleTemplate:i.a.string},t.defaultProps={defer:!0,encodeSpecialCharacters:!0},t.peek=e.peek,t.rewind=function(){var t=e.rewind();return t||(t=ce({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}})),t},n}(a()((function(e){return{baseTag:Y([b,C],e),bodyAttributes:V(p,e),defer:X(e,N),encode:X(e,L),htmlAttributes:V(h,e),linkTags:$(g.LINK,[E,b],e),metaTags:$(g.META,[k,v,w,S,_],e),noscriptTags:$(g.NOSCRIPT,[x],e),onChangeClientState:W(e),scriptTags:$(g.SCRIPT,[T,x],e),styleTags:$(g.STYLE,[y],e),title:U(e),titleAttributes:V(m,e)}}),(function(e){ee&&J(ee),e.defer?ee=Q((function(){te(e,(function(){ee=null}))})):(te(e),ee=null)}),ce)((function(){return null})));ue.renderStatic=ue.rewind}).call(this,n(28))},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(41);var i=n(34);function o(e){return function(e){if(Array.isArray(e))return Object(r.a)(e)}(e)||function(e){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||Object(i.a)(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.htmlparser2=t.convertNodeToElement=t.processNodes=void 0;var r=n(50);Object.defineProperty(t,"processNodes",{enumerable:!0,get:function(){return s(r).default}});var i=n(71);Object.defineProperty(t,"convertNodeToElement",{enumerable:!0,get:function(){return s(i).default}});var o=n(33);Object.defineProperty(t,"htmlparser2",{enumerable:!0,get:function(){return s(o).default}});var a=s(n(202));function s(e){return e&&e.__esModule?e:{default:e}}t.default=a.default},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(34);function i(e){if("undefined"===typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(e=Object(r.a)(e))){var t=0,n=function(){};return{s:n,n:function(){return t>=e.length?{done:!0}:{done:!1,value:e[t++]}},e:function(e){throw e},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,o,a=!0,s=!1;return{s:function(){i=e[Symbol.iterator]()},n:function(){var e=i.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==i.return||i.return()}finally{if(s)throw o}}}}},function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return i})),n.d(t,"c",(function(){return o})),n.d(t,"d",(function(){return a})),n.d(t,"e",(function(){return s})),n.d(t,"f",(function(){return l})),n.d(t,"g",(function(){return c})),n.d(t,"h",(function(){return u})),n.d(t,"i",(function(){return f})),n.d(t,"j",(function(){return d})),n.d(t,"k",(function(){return p})),n.d(t,"l",(function(){return h})),n.d(t,"m",(function(){return m})),n.d(t,"n",(function(){return g})),n.d(t,"o",(function(){return v})),n.d(t,"p",(function(){return y})),n.d(t,"q",(function(){return b})),n.d(t,"r",(function(){return w})),n.d(t,"s",(function(){return x})),n.d(t,"t",(function(){return _})),n.d(t,"u",(function(){return k})),n.d(t,"v",(function(){return S})),n.d(t,"w",(function(){return E})),n.d(t,"x",(function(){return T})),n.d(t,"y",(function(){return C})),n.d(t,"z",(function(){return O})),n.d(t,"A",(function(){return A})),n.d(t,"B",(function(){return N})),n.d(t,"C",(function(){return L})),n.d(t,"D",(function(){return D})),n.d(t,"E",(function(){return M})),n.d(t,"F",(function(){return P})),n.d(t,"G",(function(){return j})),n.d(t,"H",(function(){return I})),n.d(t,"I",(function(){return R})),n.d(t,"J",(function(){return q})),n.d(t,"K",(function(){return F})),n.d(t,"L",(function(){return z})),n.d(t,"M",(function(){return H})),n.d(t,"N",(function(){return B})),n.d(t,"O",(function(){return U}));var r={prefix:"fas",iconName:"angle-right",icon:[256,512,[],"f105","M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z"]},i={prefix:"fas",iconName:"arrow-down",icon:[448,512,[],"f063","M413.1 222.5l22.2 22.2c9.4 9.4 9.4 24.6 0 33.9L241 473c-9.4 9.4-24.6 9.4-33.9 0L12.7 278.6c-9.4-9.4-9.4-24.6 0-33.9l22.2-22.2c9.5-9.5 25-9.3 34.3.4L184 343.4V56c0-13.3 10.7-24 24-24h32c13.3 0 24 10.7 24 24v287.4l114.8-120.5c9.3-9.8 24.8-10 34.3-.4z"]},o={prefix:"fas",iconName:"arrow-up",icon:[448,512,[],"f062","M34.9 289.5l-22.2-22.2c-9.4-9.4-9.4-24.6 0-33.9L207 39c9.4-9.4 24.6-9.4 33.9 0l194.3 194.3c9.4 9.4 9.4 24.6 0 33.9L413 289.4c-9.5 9.5-25 9.3-34.3-.4L264 168.6V456c0 13.3-10.7 24-24 24h-32c-13.3 0-24-10.7-24-24V168.6L69.2 289.1c-9.3 9.8-24.8 10-34.3.4z"]},a={prefix:"fas",iconName:"bell",icon:[448,512,[],"f0f3","M224 512c35.32 0 63.97-28.65 63.97-64H160.03c0 35.35 28.65 64 63.97 64zm215.39-149.71c-19.32-20.76-55.47-51.99-55.47-154.29 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84C118.56 68.1 64.08 130.3 64.08 208c0 102.3-36.15 133.53-55.47 154.29-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h383.8c19.12 0 32-15.6 32.1-32 .05-7.55-2.61-15.27-8.61-21.71z"]},s={prefix:"fas",iconName:"book",icon:[448,512,[],"f02d","M448 360V24c0-13.3-10.7-24-24-24H96C43 0 0 43 0 96v320c0 53 43 96 96 96h328c13.3 0 24-10.7 24-24v-16c0-7.5-3.5-14.3-8.9-18.7-4.2-15.4-4.2-59.3 0-74.7 5.4-4.3 8.9-11.1 8.9-18.6zM128 134c0-3.3 2.7-6 6-6h212c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H134c-3.3 0-6-2.7-6-6v-20zm0 64c0-3.3 2.7-6 6-6h212c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H134c-3.3 0-6-2.7-6-6v-20zm253.4 250H96c-17.7 0-32-14.3-32-32 0-17.6 14.4-32 32-32h285.4c-1.9 17.1-1.9 46.9 0 64z"]},l={prefix:"fas",iconName:"box-open",icon:[640,512,[],"f49e","M425.7 256c-16.9 0-32.8-9-41.4-23.4L320 126l-64.2 106.6c-8.7 14.5-24.6 23.5-41.5 23.5-4.5 0-9-.6-13.3-1.9L64 215v178c0 14.7 10 27.5 24.2 31l216.2 54.1c10.2 2.5 20.9 2.5 31 0L551.8 424c14.2-3.6 24.2-16.4 24.2-31V215l-137 39.1c-4.3 1.3-8.8 1.9-13.3 1.9zm212.6-112.2L586.8 41c-3.1-6.2-9.8-9.8-16.7-8.9L320 64l91.7 152.1c3.8 6.3 11.4 9.3 18.5 7.3l197.9-56.5c9.9-2.9 14.7-13.9 10.2-23.1zM53.2 41L1.7 143.8c-4.6 9.2.3 20.2 10.1 23l197.9 56.5c7.1 2 14.7-1 18.5-7.3L320 64 69.8 32.1c-6.9-.8-13.5 2.7-16.6 8.9z"]},c={prefix:"fas",iconName:"caret-down",icon:[320,512,[],"f0d7","M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z"]},u={prefix:"fas",iconName:"caret-up",icon:[320,512,[],"f0d8","M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z"]},f={prefix:"fas",iconName:"cog",icon:[512,512,[],"f013","M487.4 315.7l-42.6-24.6c4.3-23.2 4.3-47 0-70.2l42.6-24.6c4.9-2.8 7.1-8.6 5.5-14-11.1-35.6-30-67.8-54.7-94.6-3.8-4.1-10-5.1-14.8-2.3L380.8 110c-17.9-15.4-38.5-27.3-60.8-35.1V25.8c0-5.6-3.9-10.5-9.4-11.7-36.7-8.2-74.3-7.8-109.2 0-5.5 1.2-9.4 6.1-9.4 11.7V75c-22.2 7.9-42.8 19.8-60.8 35.1L88.7 85.5c-4.9-2.8-11-1.9-14.8 2.3-24.7 26.7-43.6 58.9-54.7 94.6-1.7 5.4.6 11.2 5.5 14L67.3 221c-4.3 23.2-4.3 47 0 70.2l-42.6 24.6c-4.9 2.8-7.1 8.6-5.5 14 11.1 35.6 30 67.8 54.7 94.6 3.8 4.1 10 5.1 14.8 2.3l42.6-24.6c17.9 15.4 38.5 27.3 60.8 35.1v49.2c0 5.6 3.9 10.5 9.4 11.7 36.7 8.2 74.3 7.8 109.2 0 5.5-1.2 9.4-6.1 9.4-11.7v-49.2c22.2-7.9 42.8-19.8 60.8-35.1l42.6 24.6c4.9 2.8 11 1.9 14.8-2.3 24.7-26.7 43.6-58.9 54.7-94.6 1.5-5.5-.7-11.3-5.6-14.1zM256 336c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z"]},d={prefix:"fas",iconName:"cogs",icon:[640,512,[],"f085","M512.1 191l-8.2 14.3c-3 5.3-9.4 7.5-15.1 5.4-11.8-4.4-22.6-10.7-32.1-18.6-4.6-3.8-5.8-10.5-2.8-15.7l8.2-14.3c-6.9-8-12.3-17.3-15.9-27.4h-16.5c-6 0-11.2-4.3-12.2-10.3-2-12-2.1-24.6 0-37.1 1-6 6.2-10.4 12.2-10.4h16.5c3.6-10.1 9-19.4 15.9-27.4l-8.2-14.3c-3-5.2-1.9-11.9 2.8-15.7 9.5-7.9 20.4-14.2 32.1-18.6 5.7-2.1 12.1.1 15.1 5.4l8.2 14.3c10.5-1.9 21.2-1.9 31.7 0L552 6.3c3-5.3 9.4-7.5 15.1-5.4 11.8 4.4 22.6 10.7 32.1 18.6 4.6 3.8 5.8 10.5 2.8 15.7l-8.2 14.3c6.9 8 12.3 17.3 15.9 27.4h16.5c6 0 11.2 4.3 12.2 10.3 2 12 2.1 24.6 0 37.1-1 6-6.2 10.4-12.2 10.4h-16.5c-3.6 10.1-9 19.4-15.9 27.4l8.2 14.3c3 5.2 1.9 11.9-2.8 15.7-9.5 7.9-20.4 14.2-32.1 18.6-5.7 2.1-12.1-.1-15.1-5.4l-8.2-14.3c-10.4 1.9-21.2 1.9-31.7 0zm-10.5-58.8c38.5 29.6 82.4-14.3 52.8-52.8-38.5-29.7-82.4 14.3-52.8 52.8zM386.3 286.1l33.7 16.8c10.1 5.8 14.5 18.1 10.5 29.1-8.9 24.2-26.4 46.4-42.6 65.8-7.4 8.9-20.2 11.1-30.3 5.3l-29.1-16.8c-16 13.7-34.6 24.6-54.9 31.7v33.6c0 11.6-8.3 21.6-19.7 23.6-24.6 4.2-50.4 4.4-75.9 0-11.5-2-20-11.9-20-23.6V418c-20.3-7.2-38.9-18-54.9-31.7L74 403c-10 5.8-22.9 3.6-30.3-5.3-16.2-19.4-33.3-41.6-42.2-65.7-4-10.9.4-23.2 10.5-29.1l33.3-16.8c-3.9-20.9-3.9-42.4 0-63.4L12 205.8c-10.1-5.8-14.6-18.1-10.5-29 8.9-24.2 26-46.4 42.2-65.8 7.4-8.9 20.2-11.1 30.3-5.3l29.1 16.8c16-13.7 34.6-24.6 54.9-31.7V57.1c0-11.5 8.2-21.5 19.6-23.5 24.6-4.2 50.5-4.4 76-.1 11.5 2 20 11.9 20 23.6v33.6c20.3 7.2 38.9 18 54.9 31.7l29.1-16.8c10-5.8 22.9-3.6 30.3 5.3 16.2 19.4 33.2 41.6 42.1 65.8 4 10.9.1 23.2-10 29.1l-33.7 16.8c3.9 21 3.9 42.5 0 63.5zm-117.6 21.1c59.2-77-28.7-164.9-105.7-105.7-59.2 77 28.7 164.9 105.7 105.7zm243.4 182.7l-8.2 14.3c-3 5.3-9.4 7.5-15.1 5.4-11.8-4.4-22.6-10.7-32.1-18.6-4.6-3.8-5.8-10.5-2.8-15.7l8.2-14.3c-6.9-8-12.3-17.3-15.9-27.4h-16.5c-6 0-11.2-4.3-12.2-10.3-2-12-2.1-24.6 0-37.1 1-6 6.2-10.4 12.2-10.4h16.5c3.6-10.1 9-19.4 15.9-27.4l-8.2-14.3c-3-5.2-1.9-11.9 2.8-15.7 9.5-7.9 20.4-14.2 32.1-18.6 5.7-2.1 12.1.1 15.1 5.4l8.2 14.3c10.5-1.9 21.2-1.9 31.7 0l8.2-14.3c3-5.3 9.4-7.5 15.1-5.4 11.8 4.4 22.6 10.7 32.1 18.6 4.6 3.8 5.8 10.5 2.8 15.7l-8.2 14.3c6.9 8 12.3 17.3 15.9 27.4h16.5c6 0 11.2 4.3 12.2 10.3 2 12 2.1 24.6 0 37.1-1 6-6.2 10.4-12.2 10.4h-16.5c-3.6 10.1-9 19.4-15.9 27.4l8.2 14.3c3 5.2 1.9 11.9-2.8 15.7-9.5 7.9-20.4 14.2-32.1 18.6-5.7 2.1-12.1-.1-15.1-5.4l-8.2-14.3c-10.4 1.9-21.2 1.9-31.7 0zM501.6 431c38.5 29.6 82.4-14.3 52.8-52.8-38.5-29.6-82.4 14.3-52.8 52.8z"]},p={prefix:"fas",iconName:"copy",icon:[448,512,[],"f0c5","M320 448v40c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V120c0-13.255 10.745-24 24-24h72v296c0 30.879 25.121 56 56 56h168zm0-344V0H152c-13.255 0-24 10.745-24 24v368c0 13.255 10.745 24 24 24h272c13.255 0 24-10.745 24-24V128H344c-13.2 0-24-10.8-24-24zm120.971-31.029L375.029 7.029A24 24 0 0 0 358.059 0H352v96h96v-6.059a24 24 0 0 0-7.029-16.97z"]},h={prefix:"fas",iconName:"download",icon:[512,512,[],"f019","M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z"]},m={prefix:"fas",iconName:"ellipsis-h",icon:[512,512,[],"f141","M328 256c0 39.8-32.2 72-72 72s-72-32.2-72-72 32.2-72 72-72 72 32.2 72 72zm104-72c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72zm-352 0c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72z"]},g={prefix:"fas",iconName:"eye",icon:[576,512,[],"f06e","M572.52 241.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400a144 144 0 1 1 144-144 143.93 143.93 0 0 1-144 144zm0-240a95.31 95.31 0 0 0-25.31 3.79 47.85 47.85 0 0 1-66.9 66.9A95.78 95.78 0 1 0 288 160z"]},v={prefix:"fas",iconName:"eye-slash",icon:[640,512,[],"f070","M320 400c-75.85 0-137.25-58.71-142.9-133.11L72.2 185.82c-13.79 17.3-26.48 35.59-36.72 55.59a32.35 32.35 0 0 0 0 29.19C89.71 376.41 197.07 448 320 448c26.91 0 52.87-4 77.89-10.46L346 397.39a144.13 144.13 0 0 1-26 2.61zm313.82 58.1l-110.55-85.44a331.25 331.25 0 0 0 81.25-102.07 32.35 32.35 0 0 0 0-29.19C550.29 135.59 442.93 64 320 64a308.15 308.15 0 0 0-147.32 37.7L45.46 3.37A16 16 0 0 0 23 6.18L3.37 31.45A16 16 0 0 0 6.18 53.9l588.36 454.73a16 16 0 0 0 22.46-2.81l19.64-25.27a16 16 0 0 0-2.82-22.45zm-183.72-142l-39.3-30.38A94.75 94.75 0 0 0 416 256a94.76 94.76 0 0 0-121.31-92.21A47.65 47.65 0 0 1 304 192a46.64 46.64 0 0 1-1.54 10l-73.61-56.89A142.31 142.31 0 0 1 320 112a143.92 143.92 0 0 1 144 144c0 21.63-5.29 41.79-13.9 60.11z"]},y={prefix:"fas",iconName:"file",icon:[384,512,[],"f15b","M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm160-14.1v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z"]},b={prefix:"fas",iconName:"file-alt",icon:[384,512,[],"f15c","M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm64 236c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12v8zm0-64c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12v8zm0-72v8c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm96-114.1v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z"]},w={prefix:"fas",iconName:"file-download",icon:[384,512,[],"f56d","M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm76.45 211.36l-96.42 95.7c-6.65 6.61-17.39 6.61-24.04 0l-96.42-95.7C73.42 337.29 80.54 320 94.82 320H160v-80c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v80h65.18c14.28 0 21.4 17.29 11.27 27.36zM377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z"]},x={prefix:"fas",iconName:"folder",icon:[512,512,[],"f07b","M464 128H272l-64-64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V176c0-26.51-21.49-48-48-48z"]},_={prefix:"fas",iconName:"folder-open",icon:[576,512,[],"f07c","M572.694 292.093L500.27 416.248A63.997 63.997 0 0 1 444.989 448H45.025c-18.523 0-30.064-20.093-20.731-36.093l72.424-124.155A64 64 0 0 1 152 256h399.964c18.523 0 30.064 20.093 20.73 36.093zM152 224h328v-48c0-26.51-21.49-48-48-48H272l-64-64H48C21.49 64 0 85.49 0 112v278.046l69.077-118.418C86.214 242.25 117.989 224 152 224z"]},k={prefix:"fas",iconName:"image",icon:[512,512,[],"f03e","M464 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM112 120c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56zM64 384h384V272l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L208 320l-55.515-55.515c-4.686-4.686-12.284-4.686-16.971 0L64 336v48z"]},S={prefix:"fas",iconName:"infinity",icon:[640,512,[],"f534","M471.1 96C405 96 353.3 137.3 320 174.6 286.7 137.3 235 96 168.9 96 75.8 96 0 167.8 0 256s75.8 160 168.9 160c66.1 0 117.8-41.3 151.1-78.6 33.3 37.3 85 78.6 151.1 78.6 93.1 0 168.9-71.8 168.9-160S564.2 96 471.1 96zM168.9 320c-40.2 0-72.9-28.7-72.9-64s32.7-64 72.9-64c38.2 0 73.4 36.1 94 64-20.4 27.6-55.9 64-94 64zm302.2 0c-38.2 0-73.4-36.1-94-64 20.4-27.6 55.9-64 94-64 40.2 0 72.9 28.7 72.9 64s-32.7 64-72.9 64z"]},E={prefix:"fas",iconName:"italic",icon:[320,512,[],"f033","M320 48v32a16 16 0 0 1-16 16h-62.76l-80 320H208a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16H16a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h62.76l80-320H112a16 16 0 0 1-16-16V48a16 16 0 0 1 16-16h192a16 16 0 0 1 16 16z"]},T={prefix:"fas",iconName:"list",icon:[512,512,[],"f03a","M80 368H16a16 16 0 0 0-16 16v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-64a16 16 0 0 0-16-16zm0-320H16A16 16 0 0 0 0 64v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16V64a16 16 0 0 0-16-16zm0 160H16a16 16 0 0 0-16 16v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-64a16 16 0 0 0-16-16zm416 176H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-320H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 160H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"]},C={prefix:"fas",iconName:"lock",icon:[448,512,[],"f023","M400 224h-24v-72C376 68.2 307.8 0 224 0S72 68.2 72 152v72H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48zm-104 0H152v-72c0-39.7 32.3-72 72-72s72 32.3 72 72v72z"]},O={prefix:"fas",iconName:"long-arrow-alt-right",icon:[448,512,[],"f30b","M313.941 216H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12h301.941v46.059c0 21.382 25.851 32.09 40.971 16.971l86.059-86.059c9.373-9.373 9.373-24.569 0-33.941l-86.059-86.059c-15.119-15.119-40.971-4.411-40.971 16.971V216z"]},A={prefix:"fas",iconName:"long-arrow-alt-up",icon:[256,512,[],"f30c","M88 166.059V468c0 6.627 5.373 12 12 12h56c6.627 0 12-5.373 12-12V166.059h46.059c21.382 0 32.09-25.851 16.971-40.971l-86.059-86.059c-9.373-9.373-24.569-9.373-33.941 0l-86.059 86.059c-15.119 15.119-4.411 40.971 16.971 40.971H88z"]},N={prefix:"fas",iconName:"paste",icon:[448,512,[],"f0ea","M128 184c0-30.879 25.122-56 56-56h136V56c0-13.255-10.745-24-24-24h-80.61C204.306 12.89 183.637 0 160 0s-44.306 12.89-55.39 32H24C10.745 32 0 42.745 0 56v336c0 13.255 10.745 24 24 24h104V184zm32-144c13.255 0 24 10.745 24 24s-10.745 24-24 24-24-10.745-24-24 10.745-24 24-24zm184 248h104v200c0 13.255-10.745 24-24 24H184c-13.255 0-24-10.745-24-24V184c0-13.255 10.745-24 24-24h136v104c0 13.2 10.8 24 24 24zm104-38.059V256h-96v-96h6.059a24 24 0 0 1 16.97 7.029l65.941 65.941a24.002 24.002 0 0 1 7.03 16.971z"]},L={prefix:"fas",iconName:"pause",icon:[448,512,[],"f04c","M144 479H48c-26.5 0-48-21.5-48-48V79c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v352c0 26.5-21.5 48-48 48zm304-48V79c0-26.5-21.5-48-48-48h-96c-26.5 0-48 21.5-48 48v352c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48z"]},D={prefix:"fas",iconName:"pen",icon:[512,512,[],"f304","M290.74 93.24l128.02 128.02-277.99 277.99-114.14 12.6C11.35 513.54-1.56 500.62.14 485.34l12.7-114.22 277.9-277.88zm207.2-19.06l-60.11-60.11c-18.75-18.75-49.16-18.75-67.91 0l-56.55 56.55 128.02 128.02 56.55-56.55c18.75-18.76 18.75-49.16 0-67.91z"]},M={prefix:"fas",iconName:"play",icon:[448,512,[],"f04b","M424.4 214.7L72.4 6.6C43.8-10.3 0 6.1 0 47.9V464c0 37.5 40.7 60.1 72.4 41.3l352-208c31.4-18.5 31.5-64.1 0-82.6z"]},P={prefix:"fas",iconName:"plus",icon:[448,512,[],"f067","M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z"]},j={prefix:"fas",iconName:"search",icon:[512,512,[],"f002","M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"]},I={prefix:"fas",iconName:"star",icon:[576,512,[],"f005","M259.3 17.8L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0z"]},R={prefix:"fas",iconName:"stop",icon:[448,512,[],"f04d","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z"]},q={prefix:"fas",iconName:"times",icon:[352,512,[],"f00d","M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z"]},F={prefix:"fas",iconName:"trash",icon:[448,512,[],"f1f8","M432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zM53.2 467a48 48 0 0 0 47.9 45h245.8a48 48 0 0 0 47.9-45L416 128H32z"]},z={prefix:"fas",iconName:"unlock",icon:[448,512,[],"f09c","M400 256H152V152.9c0-39.6 31.7-72.5 71.3-72.9 40-.4 72.7 32.1 72.7 72v16c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24v-16C376 68 307.5-.3 223.5 0 139.5.3 72 69.5 72 153.5V256H48c-26.5 0-48 21.5-48 48v160c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48z"]},H={prefix:"fas",iconName:"user",icon:[448,512,[],"f007","M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z"]},B={prefix:"fas",iconName:"user-lock",icon:[640,512,[],"f502","M224 256A128 128 0 1 0 96 128a128 128 0 0 0 128 128zm96 64a63.08 63.08 0 0 1 8.1-30.5c-4.8-.5-9.5-1.5-14.5-1.5h-16.7a174.08 174.08 0 0 1-145.8 0h-16.7A134.43 134.43 0 0 0 0 422.4V464a48 48 0 0 0 48 48h280.9a63.54 63.54 0 0 1-8.9-32zm288-32h-32v-80a80 80 0 0 0-160 0v80h-32a32 32 0 0 0-32 32v160a32 32 0 0 0 32 32h224a32 32 0 0 0 32-32V320a32 32 0 0 0-32-32zM496 432a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm32-144h-64v-80a32 32 0 0 1 64 0z"]},U={prefix:"fas",iconName:"wrench",icon:[512,512,[],"f0ad","M507.73 109.1c-2.24-9.03-13.54-12.09-20.12-5.51l-74.36 74.36-67.88-11.31-11.31-67.88 74.36-74.36c6.62-6.62 3.43-17.9-5.66-20.16-47.38-11.74-99.55.91-136.58 37.93-39.64 39.64-50.55 97.1-34.05 147.2L18.74 402.76c-24.99 24.99-24.99 65.51 0 90.5 24.99 24.99 65.51 24.99 90.5 0l213.21-213.21c50.12 16.71 107.47 5.68 147.37-34.22 37.07-37.07 49.7-89.32 37.91-136.73zM64 472c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z"]}},function(e,t,n){"use strict";var r=n(137),i=n(138),o=n(63);e.exports={formats:o,parse:i,stringify:r}},function(e,t,n){"use strict";function r(){return(r=Object.assign||function(e){for(var t=1;t=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";function r(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r=0||(i[n]=e[n]);return i}n.d(t,"a",(function(){return r}))},function(e,t,n){e.exports=n(106)},function(e,t,n){"use strict";var r=n(55),i=Object.prototype.toString;function o(e){return"[object Array]"===i.call(e)}function a(e){return"undefined"===typeof e}function s(e){return null!==e&&"object"===typeof e}function l(e){if("[object Object]"!==i.call(e))return!1;var t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}function c(e){return"[object Function]"===i.call(e)}function u(e,t){if(null!==e&&"undefined"!==typeof e)if("object"!==typeof e&&(e=[e]),o(e))for(var n=0,r=e.length;n=0;d--){var p=a[d];"."===p?o(a,d):".."===p?(o(a,d),f++):f&&(o(a,d),f--)}if(!c)for(;f--;f)a.unshift("..");!c||""===a[0]||a[0]&&i(a[0])||a.unshift("");var h=a.join("/");return n&&"/"!==h.substr(-1)&&(h+="/"),h};function s(e){return e.valueOf?e.valueOf():Object.prototype.valueOf.call(e)}var l=function e(t,n){if(t===n)return!0;if(null==t||null==n)return!1;if(Array.isArray(t))return Array.isArray(n)&&t.length===n.length&&t.every((function(t,r){return e(t,n[r])}));if("object"===typeof t||"object"===typeof n){var r=s(t),i=s(n);return r!==t||i!==n?e(r,i):Object.keys(Object.assign({},t,n)).every((function(r){return e(t[r],n[r])}))}return!1},c=n(22);function u(e){return"/"===e.charAt(0)?e:"/"+e}function f(e){return"/"===e.charAt(0)?e.substr(1):e}function d(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function p(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function h(e){var t=e.pathname,n=e.search,r=e.hash,i=t||"/";return n&&"?"!==n&&(i+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(i+="#"===r.charAt(0)?r:"#"+r),i}function m(e,t,n,i){var o;"string"===typeof e?(o=function(e){var t=e||"/",n="",r="",i=t.indexOf("#");-1!==i&&(r=t.substr(i),t=t.substr(0,i));var o=t.indexOf("?");return-1!==o&&(n=t.substr(o),t=t.substr(0,o)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e)).state=t:(void 0===(o=Object(r.a)({},e)).pathname&&(o.pathname=""),o.search?"?"!==o.search.charAt(0)&&(o.search="?"+o.search):o.search="",o.hash?"#"!==o.hash.charAt(0)&&(o.hash="#"+o.hash):o.hash="",void 0!==t&&void 0===o.state&&(o.state=t));try{o.pathname=decodeURI(o.pathname)}catch(s){throw s instanceof URIError?new URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):s}return n&&(o.key=n),i?o.pathname?"/"!==o.pathname.charAt(0)&&(o.pathname=a(o.pathname,i.pathname)):o.pathname=i.pathname:o.pathname||(o.pathname="/"),o}function g(e,t){return e.pathname===t.pathname&&e.search===t.search&&e.hash===t.hash&&e.key===t.key&&l(e.state,t.state)}function v(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,i){if(null!=e){var o="function"===typeof e?e(t,n):e;"string"===typeof o?"function"===typeof r?r(o,i):i(!0):i(!1!==o)}else i(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;rt?n.splice(t,n.length-t,r):n.push(r),f({action:"PUSH",location:r,index:t,entries:n})}}))},replace:function(e,t){var r=m(e,t,d(),w.location);u.confirmTransitionTo(r,"REPLACE",n,(function(e){e&&(w.entries[w.index]=r,f({action:"REPLACE",location:r}))}))},go:b,goBack:function(){b(-1)},goForward:function(){b(1)},canGo:function(e){var t=w.index+e;return t>=0&&t2),g=/Android/.test(e),v=m||g||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(e),y=m||/Mac/.test(t),b=/\bCrOS\b/.test(e),w=/win/i.test(t),x=f&&e.match(/Version\/(\d*\.\d*)/);x&&(x=Number(x[1])),x&&x>=15&&(f=!1,l=!0);var _=y&&(c||f&&(null==x||x<12.11)),k=n||a&&s>=9;function S(e){return new RegExp("(^|\\s)"+e+"(?:$|\\s)\\s*")}var E,T=function(e,t){var n=e.className,r=S(t).exec(n);if(r){var i=n.slice(r.index+r[0].length);e.className=n.slice(0,r.index)+(i?r[1]+i:"")}};function C(e){for(var t=e.childNodes.length;t>0;--t)e.removeChild(e.firstChild);return e}function O(e,t){return C(e).appendChild(t)}function A(e,t,n,r){var i=document.createElement(e);if(n&&(i.className=n),r&&(i.style.cssText=r),"string"==typeof t)i.appendChild(document.createTextNode(t));else if(t)for(var o=0;o=t)return a+(t-o);a+=s-o,a+=n-a%n,o=s+1}}m?j=function(e){e.selectionStart=0,e.selectionEnd=e.value.length}:a&&(j=function(e){try{e.select()}catch(t){}});var F=function(){this.id=null,this.f=null,this.time=0,this.handler=I(this.onTimeout,this)};function z(e,t){for(var n=0;n=t)return r+Math.min(a,t-i);if(i+=o-r,r=o+1,(i+=n-i%n)>=t)return r}}var Y=[""];function $(e){for(;Y.length<=e;)Y.push(X(Y)+" ");return Y[e]}function X(e){return e[e.length-1]}function G(e,t){for(var n=[],r=0;r"\x80"&&(e.toUpperCase()!=e.toLowerCase()||J.test(e))}function ee(e,t){return t?!!(t.source.indexOf("\\w")>-1&&Z(e))||t.test(e):Z(e)}function te(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return!1;return!0}var ne=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/;function re(e){return e.charCodeAt(0)>=768&&ne.test(e)}function ie(e,t,n){for(;(n<0?t>0:tn?-1:1;;){if(t==n)return t;var i=(t+n)/2,o=r<0?Math.ceil(i):Math.floor(i);if(o==t)return e(o)?t:n;e(o)?n=o:t=o+r}}var ae=null;function se(e,t,n){var r;ae=null;for(var i=0;it)return i;o.to==t&&(o.from!=o.to&&"before"==n?r=i:ae=i),o.from==t&&(o.from!=o.to&&"before"!=n?r=i:ae=i)}return null!=r?r:ae}var le=function(){var e=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,t=/[stwN]/,n=/[LRr]/,r=/[Lb1n]/,i=/[1n]/;function o(e,t,n){this.level=e,this.from=t,this.to=n}return function(a,s){var l="ltr"==s?"L":"R";if(0==a.length||"ltr"==s&&!e.test(a))return!1;for(var c,u=a.length,f=[],d=0;d-1&&(r[t]=i.slice(0,o).concat(i.slice(o+1)))}}}function he(e,t){var n=de(e,t);if(n.length)for(var r=Array.prototype.slice.call(arguments,2),i=0;i0}function ye(e){e.prototype.on=function(e,t){fe(this,e,t)},e.prototype.off=function(e,t){pe(this,e,t)}}function be(e){e.preventDefault?e.preventDefault():e.returnValue=!1}function we(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0}function xe(e){return null!=e.defaultPrevented?e.defaultPrevented:0==e.returnValue}function _e(e){be(e),we(e)}function ke(e){return e.target||e.srcElement}function Se(e){var t=e.which;return null==t&&(1&e.button?t=1:2&e.button?t=3:4&e.button&&(t=2)),y&&e.ctrlKey&&1==t&&(t=3),t}var Ee,Te,Ce=function(){if(a&&s<9)return!1;var e=A("div");return"draggable"in e||"dragDrop"in e}();function Oe(e){if(null==Ee){var t=A("span","\u200b");O(e,A("span",[t,document.createTextNode("x")])),0!=e.firstChild.offsetHeight&&(Ee=t.offsetWidth<=1&&t.offsetHeight>2&&!(a&&s<8))}var n=Ee?A("span","\u200b"):A("span","\xa0",null,"display: inline-block; width: 1px; margin-right: -1px");return n.setAttribute("cm-text",""),n}function Ae(e){if(null!=Te)return Te;var t=O(e,document.createTextNode("A\u062eA")),n=E(t,0,1).getBoundingClientRect(),r=E(t,1,2).getBoundingClientRect();return C(e),!(!n||n.left==n.right)&&(Te=r.right-n.right<3)}var Ne=3!="\n\nb".split(/\n/).length?function(e){for(var t=0,n=[],r=e.length;t<=r;){var i=e.indexOf("\n",t);-1==i&&(i=e.length);var o=e.slice(t,"\r"==e.charAt(i-1)?i-1:i),a=o.indexOf("\r");-1!=a?(n.push(o.slice(0,a)),t+=a+1):(n.push(o),t=i+1)}return n}:function(e){return e.split(/\r\n?|\n/)},Le=window.getSelection?function(e){try{return e.selectionStart!=e.selectionEnd}catch(t){return!1}}:function(e){var t;try{t=e.ownerDocument.selection.createRange()}catch(n){}return!(!t||t.parentElement()!=e)&&0!=t.compareEndPoints("StartToEnd",t)},De=function(){var e=A("div");return"oncopy"in e||(e.setAttribute("oncopy","return;"),"function"==typeof e.oncopy)}(),Me=null,Pe={},je={};function Ie(e,t){arguments.length>2&&(t.dependencies=Array.prototype.slice.call(arguments,2)),Pe[e]=t}function Re(e){if("string"==typeof e&&je.hasOwnProperty(e))e=je[e];else if(e&&"string"==typeof e.name&&je.hasOwnProperty(e.name)){var t=je[e.name];"string"==typeof t&&(t={name:t}),(e=Q(t,e)).name=t.name}else{if("string"==typeof e&&/^[\w\-]+\/[\w\-]+\+xml$/.test(e))return Re("application/xml");if("string"==typeof e&&/^[\w\-]+\/[\w\-]+\+json$/.test(e))return Re("application/json")}return"string"==typeof e?{name:e}:e||{name:"null"}}function qe(e,t){t=Re(t);var n=Pe[t.name];if(!n)return qe(e,"text/plain");var r=n(e,t);if(Fe.hasOwnProperty(t.name)){var i=Fe[t.name];for(var o in i)i.hasOwnProperty(o)&&(r.hasOwnProperty(o)&&(r["_"+o]=r[o]),r[o]=i[o])}if(r.name=t.name,t.helperType&&(r.helperType=t.helperType),t.modeProps)for(var a in t.modeProps)r[a]=t.modeProps[a];return r}var Fe={};function ze(e,t){R(t,Fe.hasOwnProperty(e)?Fe[e]:Fe[e]={})}function He(e,t){if(!0===t)return t;if(e.copyState)return e.copyState(t);var n={};for(var r in t){var i=t[r];i instanceof Array&&(i=i.concat([])),n[r]=i}return n}function Be(e,t){for(var n;e.innerMode&&(n=e.innerMode(t))&&n.mode!=e;)t=n.state,e=n.mode;return n||{mode:e,state:t}}function Ue(e,t,n){return!e.startState||e.startState(t,n)}var We=function(e,t,n){this.pos=this.start=0,this.string=e,this.tabSize=t||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=n};function Ve(e,t){if((t-=e.first)<0||t>=e.size)throw new Error("There is no line "+(t+e.first)+" in the document.");for(var n=e;!n.lines;)for(var r=0;;++r){var i=n.children[r],o=i.chunkSize();if(t=e.first&&tn?Ze(n,Ve(e,n).text.length):function(e,t){var n=e.ch;return null==n||n>t?Ze(e.line,t):n<0?Ze(e.line,0):e}(t,Ve(e,t.line).text.length)}function st(e,t){for(var n=[],r=0;r=this.string.length},We.prototype.sol=function(){return this.pos==this.lineStart},We.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},We.prototype.next=function(){if(this.post},We.prototype.eatSpace=function(){for(var e=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e},We.prototype.skipToEnd=function(){this.pos=this.string.length},We.prototype.skipTo=function(e){var t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0},We.prototype.backUp=function(e){this.pos-=e},We.prototype.column=function(){return this.lastColumnPos0?null:(r&&!1!==t&&(this.pos+=r[0].length),r)}var i=function(e){return n?e.toLowerCase():e};if(i(this.string.substr(this.pos,e.length))==i(e))return!1!==t&&(this.pos+=e.length),!0},We.prototype.current=function(){return this.string.slice(this.start,this.pos)},We.prototype.hideFirstChars=function(e,t){this.lineStart+=e;try{return t()}finally{this.lineStart-=e}},We.prototype.lookAhead=function(e){var t=this.lineOracle;return t&&t.lookAhead(e)},We.prototype.baseToken=function(){var e=this.lineOracle;return e&&e.baseToken(this.pos)};var lt=function(e,t){this.state=e,this.lookAhead=t},ct=function(e,t,n,r){this.state=t,this.doc=e,this.line=n,this.maxLookAhead=r||0,this.baseTokens=null,this.baseTokenPos=1};function ut(e,t,n,r){var i=[e.state.modeGen],o={};bt(e,t.text,e.doc.mode,n,(function(e,t){return i.push(e,t)}),o,r);for(var a=n.state,s=function(r){n.baseTokens=i;var s=e.state.overlays[r],l=1,c=0;n.state=!0,bt(e,t.text,s.mode,n,(function(e,t){for(var n=l;ce&&i.splice(l,1,e,i[l+1],r),l+=2,c=Math.min(e,r)}if(t)if(s.opaque)i.splice(n,l-n,e,"overlay "+t),l=n+2;else for(;ne.options.maxHighlightLength&&He(e.doc.mode,r.state),o=ut(e,t,r);i&&(r.state=i),t.stateAfter=r.save(!i),t.styles=o.styles,o.classes?t.styleClasses=o.classes:t.styleClasses&&(t.styleClasses=null),n===e.doc.highlightFrontier&&(e.doc.modeFrontier=Math.max(e.doc.modeFrontier,++e.doc.highlightFrontier))}return t.styles}function dt(e,t,n){var r=e.doc,i=e.display;if(!r.mode.startState)return new ct(r,!0,t);var o=function(e,t,n){for(var r,i,o=e.doc,a=n?-1:t-(e.doc.mode.innerMode?1e3:100),s=t;s>a;--s){if(s<=o.first)return o.first;var l=Ve(o,s-1),c=l.stateAfter;if(c&&(!n||s+(c instanceof lt?c.lookAhead:0)<=o.modeFrontier))return s;var u=q(l.text,null,e.options.tabSize);(null==i||r>u)&&(i=s-1,r=u)}return i}(e,t,n),a=o>r.first&&Ve(r,o-1).stateAfter,s=a?ct.fromSaved(r,a,o):new ct(r,Ue(r.mode),o);return r.iter(o,t,(function(n){pt(e,n.text,s);var r=s.line;n.stateAfter=r==t-1||r%5==0||r>=i.viewFrom&&rt.start)return o}throw new Error("Mode "+e.name+" failed to advance stream.")}ct.prototype.lookAhead=function(e){var t=this.doc.getLine(this.line+e);return null!=t&&e>this.maxLookAhead&&(this.maxLookAhead=e),t},ct.prototype.baseToken=function(e){if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=e;)this.baseTokenPos+=2;var t=this.baseTokens[this.baseTokenPos+1];return{type:t&&t.replace(/( |^)overlay .*/,""),size:this.baseTokens[this.baseTokenPos]-e}},ct.prototype.nextLine=function(){this.line++,this.maxLookAhead>0&&this.maxLookAhead--},ct.fromSaved=function(e,t,n){return t instanceof lt?new ct(e,He(e.mode,t.state),n,t.lookAhead):new ct(e,He(e.mode,t),n)},ct.prototype.save=function(e){var t=!1!==e?He(this.doc.mode,this.state):this.state;return this.maxLookAhead>0?new lt(t,this.maxLookAhead):t};var gt=function(e,t,n){this.start=e.start,this.end=e.pos,this.string=e.current(),this.type=t||null,this.state=n};function vt(e,t,n,r){var i,o,a=e.doc,s=a.mode,l=Ve(a,(t=at(a,t)).line),c=dt(e,t.line,n),u=new We(l.text,e.options.tabSize,c);for(r&&(o=[]);(r||u.pose.options.maxHighlightLength?(s=!1,a&&pt(e,t,r,f.pos),f.pos=t.length,l=null):l=yt(mt(n,f,r.state,d),o),d){var p=d[0].name;p&&(l="m-"+(l?p+" "+l:p))}if(!s||u!=l){for(;c=t:o.to>t);(r||(r=[])).push(new _t(a,o.from,s?null:o.to))}}return r}(n,i,a),l=function(e,t,n){var r;if(e)for(var i=0;i=t:o.to>t)||o.from==t&&"bookmark"==a.type&&(!n||o.marker.insertLeft)){var s=null==o.from||(a.inclusiveLeft?o.from<=t:o.from0&&s)for(var b=0;bt)&&(!n||Lt(n,o.marker)<0)&&(n=o.marker)}return n}function It(e,t,n,r,i){var o=Ve(e,t),a=xt&&o.markedSpans;if(a)for(var s=0;s=0&&f<=0||u<=0&&f>=0)&&(u<=0&&(l.marker.inclusiveRight&&i.inclusiveLeft?et(c.to,n)>=0:et(c.to,n)>0)||u>=0&&(l.marker.inclusiveRight&&i.inclusiveLeft?et(c.from,r)<=0:et(c.from,r)<0)))return!0}}}function Rt(e){for(var t;t=Mt(e);)e=t.find(-1,!0).line;return e}function qt(e,t){var n=Ve(e,t),r=Rt(n);return n==r?t:Ge(r)}function Ft(e,t){if(t>e.lastLine())return t;var n,r=Ve(e,t);if(!zt(e,r))return t;for(;n=Pt(r);)r=n.find(1,!0).line;return Ge(r)+1}function zt(e,t){var n=xt&&t.markedSpans;if(n)for(var r=void 0,i=0;it.maxLineLength&&(t.maxLineLength=n,t.maxLine=e)}))}var Vt=function(e,t,n){this.text=e,Ot(this,t),this.height=n?n(this):1};function Yt(e){e.parent=null,Ct(e)}Vt.prototype.lineNo=function(){return Ge(this)},ye(Vt);var $t={},Xt={};function Gt(e,t){if(!e||/^\s*$/.test(e))return null;var n=t.addModeClass?Xt:$t;return n[e]||(n[e]=e.replace(/\S+/g,"cm-$&"))}function Kt(e,t){var n=N("span",null,null,l?"padding-right: .1px":null),r={pre:N("pre",[n],"CodeMirror-line"),content:n,col:0,pos:0,cm:e,trailingSpace:!1,splitSpaces:e.getOption("lineWrapping")};t.measure={};for(var i=0;i<=(t.rest?t.rest.length:0);i++){var o=i?t.rest[i-1]:t.line,a=void 0;r.pos=0,r.addToken=Jt,Ae(e.display.measure)&&(a=ce(o,e.doc.direction))&&(r.addToken=Zt(r.addToken,a)),r.map=[],tn(o,r,ft(e,o,t!=e.display.externalMeasured&&Ge(o))),o.styleClasses&&(o.styleClasses.bgClass&&(r.bgClass=P(o.styleClasses.bgClass,r.bgClass||"")),o.styleClasses.textClass&&(r.textClass=P(o.styleClasses.textClass,r.textClass||""))),0==r.map.length&&r.map.push(0,0,r.content.appendChild(Oe(e.display.measure))),0==i?(t.measure.map=r.map,t.measure.cache={}):((t.measure.maps||(t.measure.maps=[])).push(r.map),(t.measure.caches||(t.measure.caches=[])).push({}))}if(l){var s=r.content.lastChild;(/\bcm-tab\b/.test(s.className)||s.querySelector&&s.querySelector(".cm-tab"))&&(r.content.className="cm-tab-wrap-hack")}return he(e,"renderLine",e,t.line,r.pre),r.pre.className&&(r.textClass=P(r.pre.className,r.textClass||"")),r}function Qt(e){var t=A("span","\u2022","cm-invalidchar");return t.title="\\u"+e.charCodeAt(0).toString(16),t.setAttribute("aria-label",t.title),t}function Jt(e,t,n,r,i,o,l){if(t){var c,u=e.splitSpaces?function(e,t){if(e.length>1&&!/ /.test(e))return e;for(var n=t,r="",i=0;ic&&f.from<=c);d++);if(f.to>=u)return e(n,r,i,o,a,s,l);e(n,r.slice(0,f.to-c),i,o,null,s,l),o=null,r=r.slice(f.to-c),c=f.to}}}function en(e,t,n,r){var i=!r&&n.widgetNode;i&&e.map.push(e.pos,e.pos+t,i),!r&&e.cm.display.input.needsContentAttribute&&(i||(i=e.content.appendChild(document.createElement("span"))),i.setAttribute("cm-marker",n.id)),i&&(e.cm.display.input.setUneditable(i),e.content.appendChild(i)),e.pos+=t,e.trailingSpace=!1}function tn(e,t,n){var r=e.markedSpans,i=e.text,o=0;if(r)for(var a,s,l,c,u,f,d,p=i.length,h=0,m=1,g="",v=0;;){if(v==h){l=c=u=s="",d=null,f=null,v=1/0;for(var y=[],b=void 0,w=0;wh||_.collapsed&&x.to==h&&x.from==h)){if(null!=x.to&&x.to!=h&&v>x.to&&(v=x.to,c=""),_.className&&(l+=" "+_.className),_.css&&(s=(s?s+";":"")+_.css),_.startStyle&&x.from==h&&(u+=" "+_.startStyle),_.endStyle&&x.to==v&&(b||(b=[])).push(_.endStyle,x.to),_.title&&((d||(d={})).title=_.title),_.attributes)for(var k in _.attributes)(d||(d={}))[k]=_.attributes[k];_.collapsed&&(!f||Lt(f.marker,_)<0)&&(f=x)}else x.from>h&&v>x.from&&(v=x.from)}if(b)for(var S=0;S=p)break;for(var T=Math.min(p,v);;){if(g){var C=h+g.length;if(!f){var O=C>T?g.slice(0,T-h):g;t.addToken(t,O,a?a+l:l,u,h+O.length==v?c:"",s,d)}if(C>=T){g=g.slice(T-h),h=T;break}h=C,u=""}g=i.slice(o,o=n[m++]),a=Gt(n[m++],t.cm.options)}}else for(var A=1;An)return{map:e.measure.maps[i],cache:e.measure.caches[i],before:!0}}function An(e,t,n,r){return Dn(e,Ln(e,t),n,r)}function Nn(e,t){if(t>=e.display.viewFrom&&t=n.lineN&&t2&&o.push((l.bottom+c.top)/2-n.top)}}o.push(n.bottom-n.top)}}(e,t.view,t.rect),t.hasHeights=!0),(o=function(e,t,n,r){var i,o=jn(t.map,n,r),l=o.node,c=o.start,u=o.end,f=o.collapse;if(3==l.nodeType){for(var d=0;d<4;d++){for(;c&&re(t.line.text.charAt(o.coverStart+c));)--c;for(;o.coverStart+u1}(e))return t;var n=screen.logicalXDPI/screen.deviceXDPI,r=screen.logicalYDPI/screen.deviceYDPI;return{left:t.left*n,right:t.right*n,top:t.top*r,bottom:t.bottom*r}}(e.display.measure,i))}else{var p;c>0&&(f=r="right"),i=e.options.lineWrapping&&(p=l.getClientRects()).length>1?p["right"==r?p.length-1:0]:l.getBoundingClientRect()}if(a&&s<9&&!c&&(!i||!i.left&&!i.right)){var h=l.parentNode.getClientRects()[0];i=h?{left:h.left,right:h.left+rr(e.display),top:h.top,bottom:h.bottom}:Pn}for(var m=i.top-t.rect.top,g=i.bottom-t.rect.top,v=(m+g)/2,y=t.view.measure.heights,b=0;bt)&&(i=(o=l-s)-1,t>=l&&(a="right")),null!=i){if(r=e[c+2],s==l&&n==(r.insertLeft?"left":"right")&&(a=n),"left"==n&&0==i)for(;c&&e[c-2]==e[c-3]&&e[c-1].insertLeft;)r=e[2+(c-=3)],a="left";if("right"==n&&i==l-s)for(;c=0&&(n=e[i]).left==n.right;i--);return n}function Rn(e){if(e.measure&&(e.measure.cache={},e.measure.heights=null,e.rest))for(var t=0;t=r.text.length?(l=r.text.length,c="before"):l<=0&&(l=0,c="after"),!s)return a("before"==c?l-1:l,"before"==c);function u(e,t,n){return a(n?e-1:e,1==s[t].level!=n)}var f=se(s,l,c),d=ae,p=u(l,f,"before"==c);return null!=d&&(p.other=u(l,d,"before"!=c)),p}function $n(e,t){var n=0;t=at(e.doc,t),e.options.lineWrapping||(n=rr(e.display)*t.ch);var r=Ve(e.doc,t.line),i=Bt(r)+_n(e.display);return{left:n,right:n,top:i,bottom:i+r.height}}function Xn(e,t,n,r,i){var o=Ze(e,t,n);return o.xRel=i,r&&(o.outside=r),o}function Gn(e,t,n){var r=e.doc;if((n+=e.display.viewOffset)<0)return Xn(r.first,0,null,-1,-1);var i=Ke(r,n),o=r.first+r.size-1;if(i>o)return Xn(r.first+r.size-1,Ve(r,o).text.length,null,1,1);t<0&&(t=0);for(var a=Ve(r,i);;){var s=Zn(e,a,i,t,n),l=jt(a,s.ch+(s.xRel>0||s.outside>0?1:0));if(!l)return s;var c=l.find(1);if(c.line==i)return c;a=Ve(r,i=c.line)}}function Kn(e,t,n,r){r-=Bn(t);var i=t.text.length,o=oe((function(t){return Dn(e,n,t-1).bottom<=r}),i,0);return{begin:o,end:i=oe((function(t){return Dn(e,n,t).top>r}),o,i)}}function Qn(e,t,n,r){return n||(n=Ln(e,t)),Kn(e,t,n,Un(e,t,Dn(e,n,r),"line").top)}function Jn(e,t,n,r){return!(e.bottom<=n)&&(e.top>n||(r?e.left:e.right)>t)}function Zn(e,t,n,r,i){i-=Bt(t);var o=Ln(e,t),a=Bn(t),s=0,l=t.text.length,c=!0,u=ce(t,e.doc.direction);if(u){var f=(e.options.lineWrapping?tr:er)(e,t,n,o,u,r,i);s=(c=1!=f.level)?f.from:f.to-1,l=c?f.to:f.from-1}var d,p,h=null,m=null,g=oe((function(t){var n=Dn(e,o,t);return n.top+=a,n.bottom+=a,!!Jn(n,r,i,!1)&&(n.top<=i&&n.left<=r&&(h=t,m=n),!0)}),s,l),v=!1;if(m){var y=r-m.left=w.bottom?1:0}return Xn(n,g=ie(t.text,g,1),p,v,r-d)}function er(e,t,n,r,i,o,a){var s=oe((function(s){var l=i[s],c=1!=l.level;return Jn(Yn(e,Ze(n,c?l.to:l.from,c?"before":"after"),"line",t,r),o,a,!0)}),0,i.length-1),l=i[s];if(s>0){var c=1!=l.level,u=Yn(e,Ze(n,c?l.from:l.to,c?"after":"before"),"line",t,r);Jn(u,o,a,!0)&&u.top>a&&(l=i[s-1])}return l}function tr(e,t,n,r,i,o,a){var s=Kn(e,t,r,a),l=s.begin,c=s.end;/\s/.test(t.text.charAt(c-1))&&c--;for(var u=null,f=null,d=0;d=c||p.to<=l)){var h=Dn(e,r,1!=p.level?Math.min(c,p.to)-1:Math.max(l,p.from)).right,m=hm)&&(u=p,f=m)}}return u||(u=i[i.length-1]),u.fromc&&(u={from:u.from,to:c,level:u.level}),u}function nr(e){if(null!=e.cachedTextHeight)return e.cachedTextHeight;if(null==Mn){Mn=A("pre",null,"CodeMirror-line-like");for(var t=0;t<49;++t)Mn.appendChild(document.createTextNode("x")),Mn.appendChild(A("br"));Mn.appendChild(document.createTextNode("x"))}O(e.measure,Mn);var n=Mn.offsetHeight/50;return n>3&&(e.cachedTextHeight=n),C(e.measure),n||1}function rr(e){if(null!=e.cachedCharWidth)return e.cachedCharWidth;var t=A("span","xxxxxxxxxx"),n=A("pre",[t],"CodeMirror-line-like");O(e.measure,n);var r=t.getBoundingClientRect(),i=(r.right-r.left)/10;return i>2&&(e.cachedCharWidth=i),i||10}function ir(e){for(var t=e.display,n={},r={},i=t.gutters.clientLeft,o=t.gutters.firstChild,a=0;o;o=o.nextSibling,++a){var s=e.display.gutterSpecs[a].className;n[s]=o.offsetLeft+o.clientLeft+i,r[s]=o.clientWidth}return{fixedPos:or(t),gutterTotalWidth:t.gutters.offsetWidth,gutterLeft:n,gutterWidth:r,wrapperWidth:t.wrapper.clientWidth}}function or(e){return e.scroller.getBoundingClientRect().left-e.sizer.getBoundingClientRect().left}function ar(e){var t=nr(e.display),n=e.options.lineWrapping,r=n&&Math.max(5,e.display.scroller.clientWidth/rr(e.display)-3);return function(i){if(zt(e.doc,i))return 0;var o=0;if(i.widgets)for(var a=0;a0&&(l=Ve(e.doc,c.line).text).length==c.ch){var u=q(l,l.length,e.options.tabSize)-l.length;c=Ze(c.line,Math.max(0,Math.round((o-Sn(e.display).left)/rr(e.display))-u))}return c}function cr(e,t){if(t>=e.display.viewTo)return null;if((t-=e.display.viewFrom)<0)return null;for(var n=e.display.view,r=0;rt)&&(i.updateLineNumbers=t),e.curOp.viewChanged=!0,t>=i.viewTo)xt&&qt(e.doc,t)i.viewFrom?dr(e):(i.viewFrom+=r,i.viewTo+=r);else if(t<=i.viewFrom&&n>=i.viewTo)dr(e);else if(t<=i.viewFrom){var o=pr(e,n,n+r,1);o?(i.view=i.view.slice(o.index),i.viewFrom=o.lineN,i.viewTo+=r):dr(e)}else if(n>=i.viewTo){var a=pr(e,t,t,-1);a?(i.view=i.view.slice(0,a.index),i.viewTo=a.lineN):dr(e)}else{var s=pr(e,t,t,-1),l=pr(e,n,n+r,1);s&&l?(i.view=i.view.slice(0,s.index).concat(rn(e,s.lineN,l.lineN)).concat(i.view.slice(l.index)),i.viewTo+=r):dr(e)}var c=i.externalMeasured;c&&(n=i.lineN&&t=r.viewTo)){var o=r.view[cr(e,t)];if(null!=o.node){var a=o.changes||(o.changes=[]);-1==z(a,n)&&a.push(n)}}}function dr(e){e.display.viewFrom=e.display.viewTo=e.doc.first,e.display.view=[],e.display.viewOffset=0}function pr(e,t,n,r){var i,o=cr(e,t),a=e.display.view;if(!xt||n==e.doc.first+e.doc.size)return{index:o,lineN:n};for(var s=e.display.viewFrom,l=0;l0){if(o==a.length-1)return null;i=s+a[o].size-t,o++}else i=s-t;t+=i,n+=i}for(;qt(e.doc,n)!=n;){if(o==(r<0?0:a.length-1))return null;n+=r*a[o-(r<0?1:0)].size,o+=r}return{index:o,lineN:n}}function hr(e){for(var t=e.display.view,n=0,r=0;r=e.display.viewTo||s.to().linet||t==n&&a.to==t)&&(r(Math.max(a.from,t),Math.min(a.to,n),1==a.level?"rtl":"ltr",o),i=!0)}i||r(t,n,"ltr")}(m,n||0,null==r?d:r,(function(e,t,i,f){var g="ltr"==i,v=p(e,g?"left":"right"),y=p(t-1,g?"right":"left"),b=null==n&&0==e,w=null==r&&t==d,x=0==f,_=!m||f==m.length-1;if(y.top-v.top<=3){var k=(c?w:b)&&_,S=(c?b:w)&&x?s:(g?v:y).left,E=k?l:(g?y:v).right;u(S,v.top,E-S,v.bottom)}else{var T,C,O,A;g?(T=c&&b&&x?s:v.left,C=c?l:h(e,i,"before"),O=c?s:h(t,i,"after"),A=c&&w&&_?l:y.right):(T=c?h(e,i,"before"):s,C=!c&&b&&x?l:v.right,O=!c&&w&&_?s:y.left,A=c?h(t,i,"after"):l),u(T,v.top,C-T,v.bottom),v.bottom0?t.blinker=setInterval((function(){e.hasFocus()||Sr(e),t.cursorDiv.style.visibility=(n=!n)?"":"hidden"}),e.options.cursorBlinkRate):e.options.cursorBlinkRate<0&&(t.cursorDiv.style.visibility="hidden")}}function xr(e){e.hasFocus()||(e.display.input.focus(),e.state.focused||kr(e))}function _r(e){e.state.delayingBlurEvent=!0,setTimeout((function(){e.state.delayingBlurEvent&&(e.state.delayingBlurEvent=!1,e.state.focused&&Sr(e))}),100)}function kr(e,t){e.state.delayingBlurEvent&&!e.state.draggingText&&(e.state.delayingBlurEvent=!1),"nocursor"!=e.options.readOnly&&(e.state.focused||(he(e,"focus",e,t),e.state.focused=!0,M(e.display.wrapper,"CodeMirror-focused"),e.curOp||e.display.selForContextMenu==e.doc.sel||(e.display.input.reset(),l&&setTimeout((function(){return e.display.input.reset(!0)}),20)),e.display.input.receivedFocus()),wr(e))}function Sr(e,t){e.state.delayingBlurEvent||(e.state.focused&&(he(e,"blur",e,t),e.state.focused=!1,T(e.display.wrapper,"CodeMirror-focused")),clearInterval(e.display.blinker),setTimeout((function(){e.state.focused||(e.display.shift=!1)}),150))}function Er(e){for(var t=e.display,n=t.lineDiv.offsetTop,r=0;r.005||d<-.005)&&(Xe(i.line,l),Tr(i.line),i.rest))for(var p=0;pe.display.sizerWidth){var h=Math.ceil(c/rr(e.display));h>e.display.maxLineLength&&(e.display.maxLineLength=h,e.display.maxLine=i.line,e.display.maxLineChanged=!0)}}}}function Tr(e){if(e.widgets)for(var t=0;t=a&&(o=Ke(t,Bt(Ve(t,l))-e.wrapper.clientHeight),a=l)}return{from:o,to:Math.max(a,o+1)}}function Or(e,t){var n=e.display,r=nr(e.display);t.top<0&&(t.top=0);var i=e.curOp&&null!=e.curOp.scrollTop?e.curOp.scrollTop:n.scroller.scrollTop,o=Cn(e),a={};t.bottom-t.top>o&&(t.bottom=t.top+o);var s=e.doc.height+kn(n),l=t.tops-r;if(t.topi+o){var u=Math.min(t.top,(c?s:t.bottom)-o);u!=i&&(a.scrollTop=u)}var f=e.options.fixedGutter?0:n.gutters.offsetWidth,d=e.curOp&&null!=e.curOp.scrollLeft?e.curOp.scrollLeft:n.scroller.scrollLeft-f,p=Tn(e)-n.gutters.offsetWidth,h=t.right-t.left>p;return h&&(t.right=t.left+p),t.left<10?a.scrollLeft=0:t.leftp+d-3&&(a.scrollLeft=t.right+(h?0:10)-p),a}function Ar(e,t){null!=t&&(Dr(e),e.curOp.scrollTop=(null==e.curOp.scrollTop?e.doc.scrollTop:e.curOp.scrollTop)+t)}function Nr(e){Dr(e);var t=e.getCursor();e.curOp.scrollToPos={from:t,to:t,margin:e.options.cursorScrollMargin}}function Lr(e,t,n){null==t&&null==n||Dr(e),null!=t&&(e.curOp.scrollLeft=t),null!=n&&(e.curOp.scrollTop=n)}function Dr(e){var t=e.curOp.scrollToPos;t&&(e.curOp.scrollToPos=null,Mr(e,$n(e,t.from),$n(e,t.to),t.margin))}function Mr(e,t,n,r){var i=Or(e,{left:Math.min(t.left,n.left),top:Math.min(t.top,n.top)-r,right:Math.max(t.right,n.right),bottom:Math.max(t.bottom,n.bottom)+r});Lr(e,i.scrollLeft,i.scrollTop)}function Pr(e,t){Math.abs(e.doc.scrollTop-t)<2||(n||si(e,{top:t}),jr(e,t,!0),n&&si(e),ni(e,100))}function jr(e,t,n){t=Math.max(0,Math.min(e.display.scroller.scrollHeight-e.display.scroller.clientHeight,t)),(e.display.scroller.scrollTop!=t||n)&&(e.doc.scrollTop=t,e.display.scrollbars.setScrollTop(t),e.display.scroller.scrollTop!=t&&(e.display.scroller.scrollTop=t))}function Ir(e,t,n,r){t=Math.max(0,Math.min(t,e.display.scroller.scrollWidth-e.display.scroller.clientWidth)),(n?t==e.doc.scrollLeft:Math.abs(e.doc.scrollLeft-t)<2)&&!r||(e.doc.scrollLeft=t,ui(e),e.display.scroller.scrollLeft!=t&&(e.display.scroller.scrollLeft=t),e.display.scrollbars.setScrollLeft(t))}function Rr(e){var t=e.display,n=t.gutters.offsetWidth,r=Math.round(e.doc.height+kn(e.display));return{clientHeight:t.scroller.clientHeight,viewHeight:t.wrapper.clientHeight,scrollWidth:t.scroller.scrollWidth,clientWidth:t.scroller.clientWidth,viewWidth:t.wrapper.clientWidth,barLeft:e.options.fixedGutter?n:0,docHeight:r,scrollHeight:r+En(e)+t.barHeight,nativeBarWidth:t.nativeBarWidth,gutterWidth:n}}var qr=function(e,t,n){this.cm=n;var r=this.vert=A("div",[A("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),i=this.horiz=A("div",[A("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");r.tabIndex=i.tabIndex=-1,e(r),e(i),fe(r,"scroll",(function(){r.clientHeight&&t(r.scrollTop,"vertical")})),fe(i,"scroll",(function(){i.clientWidth&&t(i.scrollLeft,"horizontal")})),this.checkedZeroWidth=!1,a&&s<8&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")};qr.prototype.update=function(e){var t=e.scrollWidth>e.clientWidth+1,n=e.scrollHeight>e.clientHeight+1,r=e.nativeBarWidth;if(n){this.vert.style.display="block",this.vert.style.bottom=t?r+"px":"0";var i=e.viewHeight-(t?r:0);this.vert.firstChild.style.height=Math.max(0,e.scrollHeight-e.clientHeight+i)+"px"}else this.vert.style.display="",this.vert.firstChild.style.height="0";if(t){this.horiz.style.display="block",this.horiz.style.right=n?r+"px":"0",this.horiz.style.left=e.barLeft+"px";var o=e.viewWidth-e.barLeft-(n?r:0);this.horiz.firstChild.style.width=Math.max(0,e.scrollWidth-e.clientWidth+o)+"px"}else this.horiz.style.display="",this.horiz.firstChild.style.width="0";return!this.checkedZeroWidth&&e.clientHeight>0&&(0==r&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:n?r:0,bottom:t?r:0}},qr.prototype.setScrollLeft=function(e){this.horiz.scrollLeft!=e&&(this.horiz.scrollLeft=e),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,"horiz")},qr.prototype.setScrollTop=function(e){this.vert.scrollTop!=e&&(this.vert.scrollTop=e),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,"vert")},qr.prototype.zeroWidthHack=function(){var e=y&&!p?"12px":"18px";this.horiz.style.height=this.vert.style.width=e,this.horiz.style.pointerEvents=this.vert.style.pointerEvents="none",this.disableHoriz=new F,this.disableVert=new F},qr.prototype.enableZeroWidthBar=function(e,t,n){e.style.pointerEvents="auto",t.set(1e3,(function r(){var i=e.getBoundingClientRect();("vert"==n?document.elementFromPoint(i.right-1,(i.top+i.bottom)/2):document.elementFromPoint((i.right+i.left)/2,i.bottom-1))!=e?e.style.pointerEvents="none":t.set(1e3,r)}))},qr.prototype.clear=function(){var e=this.horiz.parentNode;e.removeChild(this.horiz),e.removeChild(this.vert)};var Fr=function(){};function zr(e,t){t||(t=Rr(e));var n=e.display.barWidth,r=e.display.barHeight;Hr(e,t);for(var i=0;i<4&&n!=e.display.barWidth||r!=e.display.barHeight;i++)n!=e.display.barWidth&&e.options.lineWrapping&&Er(e),Hr(e,Rr(e)),n=e.display.barWidth,r=e.display.barHeight}function Hr(e,t){var n=e.display,r=n.scrollbars.update(t);n.sizer.style.paddingRight=(n.barWidth=r.right)+"px",n.sizer.style.paddingBottom=(n.barHeight=r.bottom)+"px",n.heightForcer.style.borderBottom=r.bottom+"px solid transparent",r.right&&r.bottom?(n.scrollbarFiller.style.display="block",n.scrollbarFiller.style.height=r.bottom+"px",n.scrollbarFiller.style.width=r.right+"px"):n.scrollbarFiller.style.display="",r.bottom&&e.options.coverGutterNextToScrollbar&&e.options.fixedGutter?(n.gutterFiller.style.display="block",n.gutterFiller.style.height=r.bottom+"px",n.gutterFiller.style.width=t.gutterWidth+"px"):n.gutterFiller.style.display=""}Fr.prototype.update=function(){return{bottom:0,right:0}},Fr.prototype.setScrollLeft=function(){},Fr.prototype.setScrollTop=function(){},Fr.prototype.clear=function(){};var Br={native:qr,null:Fr};function Ur(e){e.display.scrollbars&&(e.display.scrollbars.clear(),e.display.scrollbars.addClass&&T(e.display.wrapper,e.display.scrollbars.addClass)),e.display.scrollbars=new Br[e.options.scrollbarStyle]((function(t){e.display.wrapper.insertBefore(t,e.display.scrollbarFiller),fe(t,"mousedown",(function(){e.state.focused&&setTimeout((function(){return e.display.input.focus()}),0)})),t.setAttribute("cm-not-content","true")}),(function(t,n){"horizontal"==n?Ir(e,t):Pr(e,t)}),e),e.display.scrollbars.addClass&&M(e.display.wrapper,e.display.scrollbars.addClass)}var Wr=0;function Vr(e){var t;e.curOp={cm:e,viewChanged:!1,startHeight:e.doc.height,forceUpdate:!1,updateInput:0,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++Wr,markArrays:null},t=e.curOp,on?on.ops.push(t):t.ownsGroup=on={ops:[t],delayedCallbacks:[]}}function Yr(e){var t=e.curOp;t&&function(e,t){var n=e.ownsGroup;if(n)try{!function(e){var t=e.delayedCallbacks,n=0;do{for(;n=n.viewTo)||n.maxLineChanged&&t.options.lineWrapping,e.update=e.mustUpdate&&new ii(t,e.mustUpdate&&{top:e.scrollTop,ensure:e.scrollToPos},e.forceUpdate)}function Xr(e){e.updatedDisplay=e.mustUpdate&&oi(e.cm,e.update)}function Gr(e){var t=e.cm,n=t.display;e.updatedDisplay&&Er(t),e.barMeasure=Rr(t),n.maxLineChanged&&!t.options.lineWrapping&&(e.adjustWidthTo=An(t,n.maxLine,n.maxLine.text.length).left+3,t.display.sizerWidth=e.adjustWidthTo,e.barMeasure.scrollWidth=Math.max(n.scroller.clientWidth,n.sizer.offsetLeft+e.adjustWidthTo+En(t)+t.display.barWidth),e.maxScrollLeft=Math.max(0,n.sizer.offsetLeft+e.adjustWidthTo-Tn(t))),(e.updatedDisplay||e.selectionChanged)&&(e.preparedSelection=n.input.prepareSelection())}function Kr(e){var t=e.cm;null!=e.adjustWidthTo&&(t.display.sizer.style.minWidth=e.adjustWidthTo+"px",e.maxScrollLeft(window.innerHeight||document.documentElement.clientHeight)&&(i=!1),null!=i&&!h){var o=A("div","\u200b",null,"position: absolute;\n top: "+(t.top-n.viewOffset-_n(e.display))+"px;\n height: "+(t.bottom-t.top+En(e)+n.barHeight)+"px;\n left: "+t.left+"px; width: "+Math.max(2,t.right-t.left)+"px;");e.display.lineSpace.appendChild(o),o.scrollIntoView(i),e.display.lineSpace.removeChild(o)}}}(t,function(e,t,n,r){var i;null==r&&(r=0),e.options.lineWrapping||t!=n||(n="before"==t.sticky?Ze(t.line,t.ch+1,"before"):t,t=t.ch?Ze(t.line,"before"==t.sticky?t.ch-1:t.ch,"after"):t);for(var o=0;o<5;o++){var a=!1,s=Yn(e,t),l=n&&n!=t?Yn(e,n):s,c=Or(e,i={left:Math.min(s.left,l.left),top:Math.min(s.top,l.top)-r,right:Math.max(s.left,l.left),bottom:Math.max(s.bottom,l.bottom)+r}),u=e.doc.scrollTop,f=e.doc.scrollLeft;if(null!=c.scrollTop&&(Pr(e,c.scrollTop),Math.abs(e.doc.scrollTop-u)>1&&(a=!0)),null!=c.scrollLeft&&(Ir(e,c.scrollLeft),Math.abs(e.doc.scrollLeft-f)>1&&(a=!0)),!a)break}return i}(t,at(r,e.scrollToPos.from),at(r,e.scrollToPos.to),e.scrollToPos.margin));var i=e.maybeHiddenMarkers,o=e.maybeUnhiddenMarkers;if(i)for(var a=0;a=e.display.viewTo)){var n=+new Date+e.options.workTime,r=dt(e,t.highlightFrontier),i=[];t.iter(r.line,Math.min(t.first+t.size,e.display.viewTo+500),(function(o){if(r.line>=e.display.viewFrom){var a=o.styles,s=o.text.length>e.options.maxHighlightLength?He(t.mode,r.state):null,l=ut(e,o,r,!0);s&&(r.state=s),o.styles=l.styles;var c=o.styleClasses,u=l.classes;u?o.styleClasses=u:c&&(o.styleClasses=null);for(var f=!a||a.length!=o.styles.length||c!=u&&(!c||!u||c.bgClass!=u.bgClass||c.textClass!=u.textClass),d=0;!f&&dn)return ni(e,e.options.workDelay),!0})),t.highlightFrontier=r.line,t.modeFrontier=Math.max(t.modeFrontier,r.line),i.length&&Jr(e,(function(){for(var t=0;t=n.viewFrom&&t.visible.to<=n.viewTo&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo)&&n.renderedView==n.view&&0==hr(e))return!1;fi(e)&&(dr(e),t.dims=ir(e));var i=r.first+r.size,o=Math.max(t.visible.from-e.options.viewportMargin,r.first),a=Math.min(i,t.visible.to+e.options.viewportMargin);n.viewFroma&&n.viewTo-a<20&&(a=Math.min(i,n.viewTo)),xt&&(o=qt(e.doc,o),a=Ft(e.doc,a));var s=o!=n.viewFrom||a!=n.viewTo||n.lastWrapHeight!=t.wrapperHeight||n.lastWrapWidth!=t.wrapperWidth;!function(e,t,n){var r=e.display;0==r.view.length||t>=r.viewTo||n<=r.viewFrom?(r.view=rn(e,t,n),r.viewFrom=t):(r.viewFrom>t?r.view=rn(e,t,r.viewFrom).concat(r.view):r.viewFromn&&(r.view=r.view.slice(0,cr(e,n)))),r.viewTo=n}(e,o,a),n.viewOffset=Bt(Ve(e.doc,n.viewFrom)),e.display.mover.style.top=n.viewOffset+"px";var c=hr(e);if(!s&&0==c&&!t.force&&n.renderedView==n.view&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo))return!1;var u=function(e){if(e.hasFocus())return null;var t=D();if(!t||!L(e.display.lineDiv,t))return null;var n={activeElt:t};if(window.getSelection){var r=window.getSelection();r.anchorNode&&r.extend&&L(e.display.lineDiv,r.anchorNode)&&(n.anchorNode=r.anchorNode,n.anchorOffset=r.anchorOffset,n.focusNode=r.focusNode,n.focusOffset=r.focusOffset)}return n}(e);return c>4&&(n.lineDiv.style.display="none"),function(e,t,n){var r=e.display,i=e.options.lineNumbers,o=r.lineDiv,a=o.firstChild;function s(t){var n=t.nextSibling;return l&&y&&e.display.currentWheelTarget==t?t.style.display="none":t.parentNode.removeChild(t),n}for(var c=r.view,u=r.viewFrom,f=0;f-1&&(p=!1),cn(e,d,u,n)),p&&(C(d.lineNumber),d.lineNumber.appendChild(document.createTextNode(Je(e.options,u)))),a=d.node.nextSibling}else{var h=gn(e,d,u,n);o.insertBefore(h,a)}u+=d.size}for(;a;)a=s(a)}(e,n.updateLineNumbers,t.dims),c>4&&(n.lineDiv.style.display=""),n.renderedView=n.view,function(e){if(e&&e.activeElt&&e.activeElt!=D()&&(e.activeElt.focus(),!/^(INPUT|TEXTAREA)$/.test(e.activeElt.nodeName)&&e.anchorNode&&L(document.body,e.anchorNode)&&L(document.body,e.focusNode))){var t=window.getSelection(),n=document.createRange();n.setEnd(e.anchorNode,e.anchorOffset),n.collapse(!1),t.removeAllRanges(),t.addRange(n),t.extend(e.focusNode,e.focusOffset)}}(u),C(n.cursorDiv),C(n.selectionDiv),n.gutters.style.height=n.sizer.style.minHeight=0,s&&(n.lastWrapHeight=t.wrapperHeight,n.lastWrapWidth=t.wrapperWidth,ni(e,400)),n.updateLineNumbers=null,!0}function ai(e,t){for(var n=t.viewport,r=!0;;r=!1){if(r&&e.options.lineWrapping&&t.oldDisplayWidth!=Tn(e))r&&(t.visible=Cr(e.display,e.doc,n));else if(n&&null!=n.top&&(n={top:Math.min(e.doc.height+kn(e.display)-Cn(e),n.top)}),t.visible=Cr(e.display,e.doc,n),t.visible.from>=e.display.viewFrom&&t.visible.to<=e.display.viewTo)break;if(!oi(e,t))break;Er(e);var i=Rr(e);mr(e),zr(e,i),ci(e,i),t.force=!1}t.signal(e,"update",e),e.display.viewFrom==e.display.reportedViewFrom&&e.display.viewTo==e.display.reportedViewTo||(t.signal(e,"viewportChange",e,e.display.viewFrom,e.display.viewTo),e.display.reportedViewFrom=e.display.viewFrom,e.display.reportedViewTo=e.display.viewTo)}function si(e,t){var n=new ii(e,t);if(oi(e,n)){Er(e),ai(e,n);var r=Rr(e);mr(e),zr(e,r),ci(e,r),n.finish()}}function li(e){var t=e.gutters.offsetWidth;e.sizer.style.marginLeft=t+"px",sn(e,"gutterChanged",e)}function ci(e,t){e.display.sizer.style.minHeight=t.docHeight+"px",e.display.heightForcer.style.top=t.docHeight+"px",e.display.gutters.style.height=t.docHeight+e.display.barHeight+En(e)+"px"}function ui(e){var t=e.display,n=t.view;if(t.alignWidgets||t.gutters.firstChild&&e.options.fixedGutter){for(var r=or(t)-t.scroller.scrollLeft+e.doc.scrollLeft,i=t.gutters.offsetWidth,o=r+"px",a=0;as.clientWidth,u=s.scrollHeight>s.clientHeight;if(i&&c||o&&u){if(o&&y&&l)e:for(var d=t.target,p=a.view;d!=s;d=d.parentNode)for(var h=0;h=0&&et(e,r.to())<=0)return n}return-1};var _i=function(e,t){this.anchor=e,this.head=t};function ki(e,t,n){var r=e&&e.options.selectionsMayTouch,i=t[n];t.sort((function(e,t){return et(e.from(),t.from())})),n=z(t,i);for(var o=1;o0:l>=0){var c=it(s.from(),a.from()),u=rt(s.to(),a.to()),f=s.empty()?a.from()==a.head:s.from()==s.head;o<=n&&--n,t.splice(--o,2,new _i(f?u:c,f?c:u))}}return new xi(t,n)}function Si(e,t){return new xi([new _i(e,t||e)],0)}function Ei(e){return e.text?Ze(e.from.line+e.text.length-1,X(e.text).length+(1==e.text.length?e.from.ch:0)):e.to}function Ti(e,t){if(et(e,t.from)<0)return e;if(et(e,t.to)<=0)return Ei(t);var n=e.line+t.text.length-(t.to.line-t.from.line)-1,r=e.ch;return e.line==t.to.line&&(r+=Ei(t).ch-t.to.ch),Ze(n,r)}function Ci(e,t){for(var n=[],r=0;r1&&e.remove(s.line+1,h-1),e.insert(s.line+1,v)}sn(e,"change",e,t)}function Mi(e,t,n){!function e(r,i,o){if(r.linked)for(var a=0;as-(e.cm?e.cm.options.historyEventDelay:500)||"*"==t.origin.charAt(0)))&&(o=function(e,t){return t?(qi(e.done),X(e.done)):e.done.length&&!X(e.done).ranges?X(e.done):e.done.length>1&&!e.done[e.done.length-2].ranges?(e.done.pop(),X(e.done)):void 0}(i,i.lastOp==r)))a=X(o.changes),0==et(t.from,t.to)&&0==et(t.from,a.to)?a.to=Ei(t):o.changes.push(Ri(e,t));else{var l=X(i.done);for(l&&l.ranges||Hi(e.sel,i.done),o={changes:[Ri(e,t)],generation:i.generation},i.done.push(o);i.done.length>i.undoDepth;)i.done.shift(),i.done[0].ranges||i.done.shift()}i.done.push(n),i.generation=++i.maxGeneration,i.lastModTime=i.lastSelTime=s,i.lastOp=i.lastSelOp=r,i.lastOrigin=i.lastSelOrigin=t.origin,a||he(e,"historyAdded")}function zi(e,t,n,r){var i=e.history,o=r&&r.origin;n==i.lastSelOp||o&&i.lastSelOrigin==o&&(i.lastModTime==i.lastSelTime&&i.lastOrigin==o||function(e,t,n,r){var i=t.charAt(0);return"*"==i||"+"==i&&n.ranges.length==r.ranges.length&&n.somethingSelected()==r.somethingSelected()&&new Date-e.history.lastSelTime<=(e.cm?e.cm.options.historyEventDelay:500)}(e,o,X(i.done),t))?i.done[i.done.length-1]=t:Hi(t,i.done),i.lastSelTime=+new Date,i.lastSelOrigin=o,i.lastSelOp=n,r&&!1!==r.clearRedo&&qi(i.undone)}function Hi(e,t){var n=X(t);n&&n.ranges&&n.equals(e)||t.push(e)}function Bi(e,t,n,r){var i=t["spans_"+e.id],o=0;e.iter(Math.max(e.first,n),Math.min(e.first+e.size,r),(function(n){n.markedSpans&&((i||(i=t["spans_"+e.id]={}))[o]=n.markedSpans),++o}))}function Ui(e){if(!e)return null;for(var t,n=0;n-1&&(X(s)[f]=c[f],delete c[f])}}}return r}function Yi(e,t,n,r){if(r){var i=e.anchor;if(n){var o=et(t,i)<0;o!=et(n,i)<0?(i=t,t=n):o!=et(t,n)<0&&(t=n)}return new _i(i,t)}return new _i(n||t,t)}function $i(e,t,n,r,i){null==i&&(i=e.cm&&(e.cm.display.shift||e.extend)),Ji(e,new xi([Yi(e.sel.primary(),t,n,i)],0),r)}function Xi(e,t,n){for(var r=[],i=e.cm&&(e.cm.display.shift||e.extend),o=0;o=t.ch:s.to>t.ch))){if(i&&(he(l,"beforeCursorEnter"),l.explicitlyCleared)){if(o.markedSpans){--a;continue}break}if(!l.atomic)continue;if(n){var f=l.find(r<0?1:-1),d=void 0;if((r<0?u:c)&&(f=oo(e,f,-r,f&&f.line==t.line?o:null)),f&&f.line==t.line&&(d=et(f,n))&&(r<0?d<0:d>0))return ro(e,f,t,r,i)}var p=l.find(r<0?-1:1);return(r<0?c:u)&&(p=oo(e,p,r,p.line==t.line?o:null)),p?ro(e,p,t,r,i):null}}return t}function io(e,t,n,r,i){var o=r||1,a=ro(e,t,n,o,i)||!i&&ro(e,t,n,o,!0)||ro(e,t,n,-o,i)||!i&&ro(e,t,n,-o,!0);return a||(e.cantEdit=!0,Ze(e.first,0))}function oo(e,t,n,r){return n<0&&0==t.ch?t.line>e.first?at(e,Ze(t.line-1)):null:n>0&&t.ch==(r||Ve(e,t.line)).text.length?t.line0)){var u=[l,1],f=et(c.from,s.from),d=et(c.to,s.to);(f<0||!a.inclusiveLeft&&!f)&&u.push({from:c.from,to:s.from}),(d>0||!a.inclusiveRight&&!d)&&u.push({from:s.to,to:c.to}),i.splice.apply(i,u),l+=u.length-3}}return i}(e,t.from,t.to);if(r)for(var i=r.length-1;i>=0;--i)co(e,{from:r[i].from,to:r[i].to,text:i?[""]:t.text,origin:t.origin});else co(e,t)}}function co(e,t){if(1!=t.text.length||""!=t.text[0]||0!=et(t.from,t.to)){var n=Ci(e,t);Fi(e,t,n,e.cm?e.cm.curOp.id:NaN),po(e,t,n,Et(e,t));var r=[];Mi(e,(function(e,n){n||-1!=z(r,e.history)||(vo(e.history,t),r.push(e.history)),po(e,t,null,Et(e,t))}))}}function uo(e,t,n){var r=e.cm&&e.cm.state.suppressEdits;if(!r||n){for(var i,o=e.history,a=e.sel,s="undo"==t?o.done:o.undone,l="undo"==t?o.undone:o.done,c=0;c=0;--p){var h=d(p);if(h)return h.v}}}}function fo(e,t){if(0!=t&&(e.first+=t,e.sel=new xi(G(e.sel.ranges,(function(e){return new _i(Ze(e.anchor.line+t,e.anchor.ch),Ze(e.head.line+t,e.head.ch))})),e.sel.primIndex),e.cm)){ur(e.cm,e.first,e.first-t,t);for(var n=e.cm.display,r=n.viewFrom;re.lastLine())){if(t.from.lineo&&(t={from:t.from,to:Ze(o,Ve(e,o).text.length),text:[t.text[0]],origin:t.origin}),t.removed=Ye(e,t.from,t.to),n||(n=Ci(e,t)),e.cm?function(e,t,n){var r=e.doc,i=e.display,o=t.from,a=t.to,s=!1,l=o.line;e.options.lineWrapping||(l=Ge(Rt(Ve(r,o.line))),r.iter(l,a.line+1,(function(e){if(e==i.maxLine)return s=!0,!0}))),r.sel.contains(t.from,t.to)>-1&&ge(e),Di(r,t,n,ar(e)),e.options.lineWrapping||(r.iter(l,o.line+t.text.length,(function(e){var t=Ut(e);t>i.maxLineLength&&(i.maxLine=e,i.maxLineLength=t,i.maxLineChanged=!0,s=!1)})),s&&(e.curOp.updateMaxLine=!0)),function(e,t){if(e.modeFrontier=Math.min(e.modeFrontier,t),!(e.highlightFrontiern;r--){var i=Ve(e,r).stateAfter;if(i&&(!(i instanceof lt)||r+i.lookAhead1||!(this.children[0]instanceof bo))){var s=[];this.collapse(s),this.children=[new bo(s)],this.children[0].parent=this}},collapse:function(e){for(var t=0;t50){for(var a=i.lines.length%25+25,s=a;s10);e.parent.maybeSpill()}},iterN:function(e,t,n){for(var r=0;r0||0==a&&!1!==o.clearWhenEmpty)return o;if(o.replacedWith&&(o.collapsed=!0,o.widgetNode=N("span",[o.replacedWith],"CodeMirror-widget"),r.handleMouseEvents||o.widgetNode.setAttribute("cm-ignore-events","true"),r.insertLeft&&(o.widgetNode.insertLeft=!0)),o.collapsed){if(It(e,t.line,t,n,o)||t.line!=n.line&&It(e,n.line,t,n,o))throw new Error("Inserting collapsed marker partially overlapping an existing one");xt=!0}o.addToHistory&&Fi(e,{from:t,to:n,origin:"markText"},e.sel,NaN);var s,l=t.line,c=e.cm;if(e.iter(l,n.line+1,(function(r){c&&o.collapsed&&!c.options.lineWrapping&&Rt(r)==c.display.maxLine&&(s=!0),o.collapsed&&l!=t.line&&Xe(r,0),function(e,t,n){var r=n&&window.WeakSet&&(n.markedSpans||(n.markedSpans=new WeakSet));r&&r.has(e.markedSpans)?e.markedSpans.push(t):(e.markedSpans=e.markedSpans?e.markedSpans.concat([t]):[t],r&&r.add(e.markedSpans)),t.marker.attachLine(e)}(r,new _t(o,l==t.line?t.ch:null,l==n.line?n.ch:null),e.cm&&e.cm.curOp),++l})),o.collapsed&&e.iter(t.line,n.line+1,(function(t){zt(e,t)&&Xe(t,0)})),o.clearOnEnter&&fe(o,"beforeCursorEnter",(function(){return o.clear()})),o.readOnly&&(wt=!0,(e.history.done.length||e.history.undone.length)&&e.clearHistory()),o.collapsed&&(o.id=++ko,o.atomic=!0),c){if(s&&(c.curOp.updateMaxLine=!0),o.collapsed)ur(c,t.line,n.line+1);else if(o.className||o.startStyle||o.endStyle||o.css||o.attributes||o.title)for(var u=t.line;u<=n.line;u++)fr(c,u,"text");o.atomic&&to(c.doc),sn(c,"markerAdded",c,o)}return o}So.prototype.clear=function(){if(!this.explicitlyCleared){var e=this.doc.cm,t=e&&!e.curOp;if(t&&Vr(e),ve(this,"clear")){var n=this.find();n&&sn(this,"clear",n.from,n.to)}for(var r=null,i=null,o=0;oe.display.maxLineLength&&(e.display.maxLine=c,e.display.maxLineLength=u,e.display.maxLineChanged=!0)}null!=r&&e&&this.collapsed&&ur(e,r,i+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,e&&to(e.doc)),e&&sn(e,"markerCleared",e,this,r,i),t&&Yr(e),this.parent&&this.parent.clear()}},So.prototype.find=function(e,t){var n,r;null==e&&"bookmark"==this.type&&(e=1);for(var i=0;i=0;l--)lo(this,r[l]);s?Qi(this,s):this.cm&&Nr(this.cm)})),undo:ti((function(){uo(this,"undo")})),redo:ti((function(){uo(this,"redo")})),undoSelection:ti((function(){uo(this,"undo",!0)})),redoSelection:ti((function(){uo(this,"redo",!0)})),setExtending:function(e){this.extend=e},getExtending:function(){return this.extend},historySize:function(){for(var e=this.history,t=0,n=0,r=0;r=e.ch)&&t.push(i.marker.parent||i.marker)}return t},findMarks:function(e,t,n){e=at(this,e),t=at(this,t);var r=[],i=e.line;return this.iter(e.line,t.line+1,(function(o){var a=o.markedSpans;if(a)for(var s=0;s=l.to||null==l.from&&i!=e.line||null!=l.from&&i==t.line&&l.from>=t.ch||n&&!n(l.marker)||r.push(l.marker.parent||l.marker)}++i})),r},getAllMarks:function(){var e=[];return this.iter((function(t){var n=t.markedSpans;if(n)for(var r=0;re)return t=e,!0;e-=o,++n})),at(this,Ze(n,t))},indexFromPos:function(e){var t=(e=at(this,e)).ch;if(e.linet&&(t=e.from),null!=e.to&&e.to-1)return t.state.draggingText(e),void setTimeout((function(){return t.display.input.focus()}),20);try{var f=e.dataTransfer.getData("Text");if(f){var d;if(t.state.draggingText&&!t.state.draggingText.copy&&(d=t.listSelections()),Zi(t.doc,Si(n,n)),d)for(var p=0;p=0;t--)ho(e.doc,"",r[t].from,r[t].to,"+delete");Nr(e)}))}function Qo(e,t,n){var r=ie(e.text,t+n,n);return r<0||r>e.text.length?null:r}function Jo(e,t,n){var r=Qo(e,t.ch,n);return null==r?null:new Ze(t.line,r,n<0?"after":"before")}function Zo(e,t,n,r,i){if(e){"rtl"==t.doc.direction&&(i=-i);var o=ce(n,t.doc.direction);if(o){var a,s=i<0?X(o):o[0],l=i<0==(1==s.level)?"after":"before";if(s.level>0||"rtl"==t.doc.direction){var c=Ln(t,n);a=i<0?n.text.length-1:0;var u=Dn(t,c,a).top;a=oe((function(e){return Dn(t,c,e).top==u}),i<0==(1==s.level)?s.from:s.to-1,a),"before"==l&&(a=Qo(n,a,1))}else a=i<0?s.to:s.from;return new Ze(r,a,l)}}return new Ze(r,i<0?n.text.length:0,i<0?"before":"after")}Bo.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharAfter",Backspace:"delCharBefore","Shift-Backspace":"delCharBefore",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite",Esc:"singleSelection"},Bo.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Up":"goLineUp","Ctrl-Down":"goLineDown","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore","Ctrl-U":"undoSelection","Shift-Ctrl-U":"redoSelection","Alt-U":"redoSelection",fallthrough:"basic"},Bo.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars","Ctrl-O":"openLine"},Bo.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Home":"goDocStart","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineLeft","Cmd-Right":"goLineRight","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter","Alt-Delete":"delGroupAfter","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delWrappedLineLeft","Cmd-Delete":"delWrappedLineRight","Cmd-U":"undoSelection","Shift-Cmd-U":"redoSelection","Ctrl-Up":"goDocStart","Ctrl-Down":"goDocEnd",fallthrough:["basic","emacsy"]},Bo.default=y?Bo.macDefault:Bo.pcDefault;var ea={selectAll:ao,singleSelection:function(e){return e.setSelection(e.getCursor("anchor"),e.getCursor("head"),B)},killLine:function(e){return Ko(e,(function(t){if(t.empty()){var n=Ve(e.doc,t.head.line).text.length;return t.head.ch==n&&t.head.line0)i=new Ze(i.line,i.ch+1),e.replaceRange(o.charAt(i.ch-1)+o.charAt(i.ch-2),Ze(i.line,i.ch-2),i,"+transpose");else if(i.line>e.doc.first){var a=Ve(e.doc,i.line-1).text;a&&(i=new Ze(i.line,1),e.replaceRange(o.charAt(0)+e.doc.lineSeparator()+a.charAt(a.length-1),Ze(i.line-1,a.length-1),i,"+transpose"))}n.push(new _i(i,i))}e.setSelections(n)}))},newlineAndIndent:function(e){return Jr(e,(function(){for(var t=e.listSelections(),n=t.length-1;n>=0;n--)e.replaceRange(e.doc.lineSeparator(),t[n].anchor,t[n].head,"+input");t=e.listSelections();for(var r=0;r-1&&(et((i=c.ranges[i]).from(),t)<0||t.xRel>0)&&(et(i.to(),t)>0||t.xRel<0)?function(e,t,n,r){var i=e.display,o=!1,c=Zr(e,(function(t){l&&(i.scroller.draggable=!1),e.state.draggingText=!1,e.state.delayingBlurEvent&&(e.hasFocus()?e.state.delayingBlurEvent=!1:_r(e)),pe(i.wrapper.ownerDocument,"mouseup",c),pe(i.wrapper.ownerDocument,"mousemove",u),pe(i.scroller,"dragstart",f),pe(i.scroller,"drop",c),o||(be(t),r.addNew||$i(e.doc,n,null,null,r.extend),l&&!d||a&&9==s?setTimeout((function(){i.wrapper.ownerDocument.body.focus({preventScroll:!0}),i.input.focus()}),20):i.input.focus())})),u=function(e){o=o||Math.abs(t.clientX-e.clientX)+Math.abs(t.clientY-e.clientY)>=10},f=function(){return o=!0};l&&(i.scroller.draggable=!0),e.state.draggingText=c,c.copy=!r.moveOnDrag,fe(i.wrapper.ownerDocument,"mouseup",c),fe(i.wrapper.ownerDocument,"mousemove",u),fe(i.scroller,"dragstart",f),fe(i.scroller,"drop",c),e.state.delayingBlurEvent=!0,setTimeout((function(){return i.input.focus()}),20),i.scroller.dragDrop&&i.scroller.dragDrop()}(e,r,t,o):function(e,t,n,r){a&&_r(e);var i=e.display,o=e.doc;be(t);var s,l,c=o.sel,u=c.ranges;if(r.addNew&&!r.extend?(l=o.sel.contains(n),s=l>-1?u[l]:new _i(n,n)):(s=o.sel.primary(),l=o.sel.primIndex),"rectangle"==r.unit)r.addNew||(s=new _i(n,n)),n=lr(e,t,!0,!0),l=-1;else{var f=ga(e,n,r.unit);s=r.extend?Yi(s,f.anchor,f.head,r.extend):f}r.addNew?-1==l?(l=u.length,Ji(o,ki(e,u.concat([s]),l),{scroll:!1,origin:"*mouse"})):u.length>1&&u[l].empty()&&"char"==r.unit&&!r.extend?(Ji(o,ki(e,u.slice(0,l).concat(u.slice(l+1)),0),{scroll:!1,origin:"*mouse"}),c=o.sel):Gi(o,l,s,U):(l=0,Ji(o,new xi([s],0),U),c=o.sel);var d=n;function p(t){if(0!=et(d,t))if(d=t,"rectangle"==r.unit){for(var i=[],a=e.options.tabSize,u=q(Ve(o,n.line).text,n.ch,a),f=q(Ve(o,t.line).text,t.ch,a),p=Math.min(u,f),h=Math.max(u,f),m=Math.min(n.line,t.line),g=Math.min(e.lastLine(),Math.max(n.line,t.line));m<=g;m++){var v=Ve(o,m).text,y=V(v,p,a);p==h?i.push(new _i(Ze(m,y),Ze(m,y))):v.length>y&&i.push(new _i(Ze(m,y),Ze(m,V(v,h,a))))}i.length||i.push(new _i(n,n)),Ji(o,ki(e,c.ranges.slice(0,l).concat(i),l),{origin:"*mouse",scroll:!1}),e.scrollIntoView(t)}else{var b,w=s,x=ga(e,t,r.unit),_=w.anchor;et(x.anchor,_)>0?(b=x.head,_=it(w.from(),x.anchor)):(b=x.anchor,_=rt(w.to(),x.head));var k=c.ranges.slice(0);k[l]=function(e,t){var n=t.anchor,r=t.head,i=Ve(e.doc,n.line);if(0==et(n,r)&&n.sticky==r.sticky)return t;var o=ce(i);if(!o)return t;var a=se(o,n.ch,n.sticky),s=o[a];if(s.from!=n.ch&&s.to!=n.ch)return t;var l,c=a+(s.from==n.ch==(1!=s.level)?0:1);if(0==c||c==o.length)return t;if(r.line!=n.line)l=(r.line-n.line)*("ltr"==e.doc.direction?1:-1)>0;else{var u=se(o,r.ch,r.sticky),f=u-a||(r.ch-n.ch)*(1==s.level?-1:1);l=u==c-1||u==c?f<0:f>0}var d=o[c+(l?-1:0)],p=l==(1==d.level),h=p?d.from:d.to,m=p?"after":"before";return n.ch==h&&n.sticky==m?t:new _i(new Ze(n.line,h,m),r)}(e,new _i(at(o,_),b)),Ji(o,ki(e,k,l),U)}}var h=i.wrapper.getBoundingClientRect(),m=0;function g(t){e.state.selectingText=!1,m=1/0,t&&(be(t),i.input.focus()),pe(i.wrapper.ownerDocument,"mousemove",v),pe(i.wrapper.ownerDocument,"mouseup",y),o.history.lastSelOrigin=null}var v=Zr(e,(function(t){0!==t.buttons&&Se(t)?function t(n){var a=++m,s=lr(e,n,!0,"rectangle"==r.unit);if(s)if(0!=et(s,d)){e.curOp.focus=D(),p(s);var l=Cr(i,o);(s.line>=l.to||s.lineh.bottom?20:0;c&&setTimeout(Zr(e,(function(){m==a&&(i.scroller.scrollTop+=c,t(n))})),50)}}(t):g(t)})),y=Zr(e,g);e.state.selectingText=y,fe(i.wrapper.ownerDocument,"mousemove",v),fe(i.wrapper.ownerDocument,"mouseup",y)}(e,r,t,o)}(t,r,o,e):ke(e)==n.scroller&&be(e):2==i?(r&&$i(t.doc,r),setTimeout((function(){return n.input.focus()}),20)):3==i&&(k?t.display.input.onContextMenu(e):_r(t)))}}function ga(e,t,n){if("char"==n)return new _i(t,t);if("word"==n)return e.findWordAt(t);if("line"==n)return new _i(Ze(t.line,0),at(e.doc,Ze(t.line+1,0)));var r=n(e,t);return new _i(r.from,r.to)}function va(e,t,n,r){var i,o;if(t.touches)i=t.touches[0].clientX,o=t.touches[0].clientY;else try{i=t.clientX,o=t.clientY}catch(u){return!1}if(i>=Math.floor(e.display.gutters.getBoundingClientRect().right))return!1;r&&be(t);var a=e.display,s=a.lineDiv.getBoundingClientRect();if(o>s.bottom||!ve(e,n))return xe(t);o-=s.top-a.viewOffset;for(var l=0;l=i)return he(e,n,e,Ke(e.doc,o),e.display.gutterSpecs[l].className,t),xe(t)}}function ya(e,t){return va(e,t,"gutterClick",!0)}function ba(e,t){xn(e.display,t)||function(e,t){return!!ve(e,"gutterContextMenu")&&va(e,t,"gutterContextMenu",!1)}(e,t)||me(e,t,"contextmenu")||k||e.display.input.onContextMenu(t)}function wa(e){e.display.wrapper.className=e.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+e.options.theme.replace(/(^|\s)\s*/g," cm-s-"),Fn(e)}ha.prototype.compare=function(e,t,n){return this.time+400>e&&0==et(t,this.pos)&&n==this.button};var xa={toString:function(){return"CodeMirror.Init"}},_a={},ka={};function Sa(e,t,n){if(!t!=!(n&&n!=xa)){var r=e.display.dragFunctions,i=t?fe:pe;i(e.display.scroller,"dragstart",r.start),i(e.display.scroller,"dragenter",r.enter),i(e.display.scroller,"dragover",r.over),i(e.display.scroller,"dragleave",r.leave),i(e.display.scroller,"drop",r.drop)}}function Ea(e){e.options.lineWrapping?(M(e.display.wrapper,"CodeMirror-wrap"),e.display.sizer.style.minWidth="",e.display.sizerWidth=null):(T(e.display.wrapper,"CodeMirror-wrap"),Wt(e)),sr(e),ur(e),Fn(e),setTimeout((function(){return zr(e)}),100)}function Ta(e,t){var n=this;if(!(this instanceof Ta))return new Ta(e,t);this.options=t=t?R(t):{},R(_a,t,!1);var r=t.value;"string"==typeof r?r=new No(r,t.mode,null,t.lineSeparator,t.direction):t.mode&&(r.modeOption=t.mode),this.doc=r;var i=new Ta.inputStyles[t.inputStyle](this),o=this.display=new mi(e,r,i,t);for(var c in o.wrapper.CodeMirror=this,wa(this),t.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),Ur(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:-1,cutIncoming:-1,selectingText:!1,draggingText:!1,highlight:new F,keySeq:null,specialChars:null},t.autofocus&&!v&&o.input.focus(),a&&s<11&&setTimeout((function(){return n.display.input.reset(!0)}),20),function(e){var t=e.display;fe(t.scroller,"mousedown",Zr(e,ma)),fe(t.scroller,"dblclick",a&&s<11?Zr(e,(function(t){if(!me(e,t)){var n=lr(e,t);if(n&&!ya(e,t)&&!xn(e.display,t)){be(t);var r=e.findWordAt(n);$i(e.doc,r.anchor,r.head)}}})):function(t){return me(e,t)||be(t)}),fe(t.scroller,"contextmenu",(function(t){return ba(e,t)})),fe(t.input.getField(),"contextmenu",(function(n){t.scroller.contains(n.target)||ba(e,n)}));var n,r={end:0};function i(){t.activeTouch&&(n=setTimeout((function(){return t.activeTouch=null}),1e3),(r=t.activeTouch).end=+new Date)}function o(e,t){if(null==t.left)return!0;var n=t.left-e.left,r=t.top-e.top;return n*n+r*r>400}fe(t.scroller,"touchstart",(function(i){if(!me(e,i)&&!function(e){if(1!=e.touches.length)return!1;var t=e.touches[0];return t.radiusX<=1&&t.radiusY<=1}(i)&&!ya(e,i)){t.input.ensurePolled(),clearTimeout(n);var o=+new Date;t.activeTouch={start:o,moved:!1,prev:o-r.end<=300?r:null},1==i.touches.length&&(t.activeTouch.left=i.touches[0].pageX,t.activeTouch.top=i.touches[0].pageY)}})),fe(t.scroller,"touchmove",(function(){t.activeTouch&&(t.activeTouch.moved=!0)})),fe(t.scroller,"touchend",(function(n){var r=t.activeTouch;if(r&&!xn(t,n)&&null!=r.left&&!r.moved&&new Date-r.start<300){var a,s=e.coordsChar(t.activeTouch,"page");a=!r.prev||o(r,r.prev)?new _i(s,s):!r.prev.prev||o(r,r.prev.prev)?e.findWordAt(s):new _i(Ze(s.line,0),at(e.doc,Ze(s.line+1,0))),e.setSelection(a.anchor,a.head),e.focus(),be(n)}i()})),fe(t.scroller,"touchcancel",i),fe(t.scroller,"scroll",(function(){t.scroller.clientHeight&&(Pr(e,t.scroller.scrollTop),Ir(e,t.scroller.scrollLeft,!0),he(e,"scroll",e))})),fe(t.scroller,"mousewheel",(function(t){return wi(e,t)})),fe(t.scroller,"DOMMouseScroll",(function(t){return wi(e,t)})),fe(t.wrapper,"scroll",(function(){return t.wrapper.scrollTop=t.wrapper.scrollLeft=0})),t.dragFunctions={enter:function(t){me(e,t)||_e(t)},over:function(t){me(e,t)||(function(e,t){var n=lr(e,t);if(n){var r=document.createDocumentFragment();vr(e,n,r),e.display.dragCursor||(e.display.dragCursor=A("div",null,"CodeMirror-cursors CodeMirror-dragcursors"),e.display.lineSpace.insertBefore(e.display.dragCursor,e.display.cursorDiv)),O(e.display.dragCursor,r)}}(e,t),_e(t))},start:function(t){return function(e,t){if(a&&(!e.state.draggingText||+new Date-Lo<100))_e(t);else if(!me(e,t)&&!xn(e.display,t)&&(t.dataTransfer.setData("Text",e.getSelection()),t.dataTransfer.effectAllowed="copyMove",t.dataTransfer.setDragImage&&!d)){var n=A("img",null,null,"position: fixed; left: 0; top: 0;");n.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",f&&(n.width=n.height=1,e.display.wrapper.appendChild(n),n._top=n.offsetTop),t.dataTransfer.setDragImage(n,0,0),f&&n.parentNode.removeChild(n)}}(e,t)},drop:Zr(e,Do),leave:function(t){me(e,t)||Mo(e)}};var l=t.input.getField();fe(l,"keyup",(function(t){return ua.call(e,t)})),fe(l,"keydown",Zr(e,ca)),fe(l,"keypress",Zr(e,fa)),fe(l,"focus",(function(t){return kr(e,t)})),fe(l,"blur",(function(t){return Sr(e,t)}))}(this),Io(),Vr(this),this.curOp.forceUpdate=!0,Pi(this,r),t.autofocus&&!v||this.hasFocus()?setTimeout((function(){n.hasFocus()&&!n.state.focused&&kr(n)}),20):Sr(this),ka)ka.hasOwnProperty(c)&&ka[c](this,t[c],xa);fi(this),t.finishInit&&t.finishInit(this);for(var u=0;u150)){if(!r)return;n="prev"}}else c=0,n="not";"prev"==n?c=t>o.first?q(Ve(o,t-1).text,null,a):0:"add"==n?c=l+e.options.indentUnit:"subtract"==n?c=l-e.options.indentUnit:"number"==typeof n&&(c=l+n),c=Math.max(0,c);var f="",d=0;if(e.options.indentWithTabs)for(var p=Math.floor(c/a);p;--p)d+=a,f+="\t";if(da,l=Ne(t),c=null;if(s&&r.ranges.length>1)if(Aa&&Aa.text.join("\n")==t){if(r.ranges.length%Aa.text.length==0){c=[];for(var u=0;u=0;d--){var p=r.ranges[d],h=p.from(),m=p.to();p.empty()&&(n&&n>0?h=Ze(h.line,h.ch-n):e.state.overwrite&&!s?m=Ze(m.line,Math.min(Ve(o,m.line).text.length,m.ch+X(l).length)):s&&Aa&&Aa.lineWise&&Aa.text.join("\n")==l.join("\n")&&(h=m=Ze(h.line,0)));var g={from:h,to:m,text:c?c[d%c.length]:l,origin:i||(s?"paste":e.state.cutIncoming>a?"cut":"+input")};lo(e.doc,g),sn(e,"inputRead",e,g)}t&&!s&&Ma(e,t),Nr(e),e.curOp.updateInput<2&&(e.curOp.updateInput=f),e.curOp.typing=!0,e.state.pasteIncoming=e.state.cutIncoming=-1}function Da(e,t){var n=e.clipboardData&&e.clipboardData.getData("Text");if(n)return e.preventDefault(),t.isReadOnly()||t.options.disableInput||Jr(t,(function(){return La(t,n,0,null,"paste")})),!0}function Ma(e,t){if(e.options.electricChars&&e.options.smartIndent)for(var n=e.doc.sel,r=n.ranges.length-1;r>=0;r--){var i=n.ranges[r];if(!(i.head.ch>100||r&&n.ranges[r-1].head.line==i.head.line)){var o=e.getModeAt(i.head),a=!1;if(o.electricChars){for(var s=0;s-1){a=Oa(e,i.head.line,"smart");break}}else o.electricInput&&o.electricInput.test(Ve(e.doc,i.head.line).text.slice(0,i.head.ch))&&(a=Oa(e,i.head.line,"smart"));a&&sn(e,"electricInput",e,i.head.line)}}}function Pa(e){for(var t=[],n=[],r=0;r0?0:-1));if(isNaN(c))a=null;else{var u=n>0?c>=55296&&c<56320:c>=56320&&c<57343;a=new Ze(t.line,Math.max(0,Math.min(s.text.length,t.ch+n*(u?2:1))),-n)}}else a=i?function(e,t,n,r){var i=ce(t,e.doc.direction);if(!i)return Jo(t,n,r);n.ch>=t.text.length?(n.ch=t.text.length,n.sticky="before"):n.ch<=0&&(n.ch=0,n.sticky="after");var o=se(i,n.ch,n.sticky),a=i[o];if("ltr"==e.doc.direction&&a.level%2==0&&(r>0?a.to>n.ch:a.from=a.from&&d>=u.begin)){var p=f?"before":"after";return new Ze(n.line,d,p)}}var h=function(e,t,r){for(var o=function(e,t){return t?new Ze(n.line,l(e,1),"before"):new Ze(n.line,e,"after")};e>=0&&e0==(1!=a.level),c=s?r.begin:l(r.end,-1);if(a.from<=c&&c0?u.end:l(u.begin,-1);return null==g||r>0&&g==t.text.length||!(m=h(r>0?0:i.length-1,r,c(g)))?null:m}(e.cm,s,t,n):Jo(s,t,n);if(null==a){if(o||!function(){var n=t.line+l;return!(n=e.first+e.size)&&(t=new Ze(n,t.ch,t.sticky),s=Ve(e,n))}())return!1;t=Zo(i,e.cm,s,t.line,l)}else t=a;return!0}if("char"==r||"codepoint"==r)c();else if("column"==r)c(!0);else if("word"==r||"group"==r)for(var u=null,f="group"==r,d=e.cm&&e.cm.getHelper(t,"wordChars"),p=!0;!(n<0)||c(!p);p=!1){var h=s.text.charAt(t.ch)||"\n",m=ee(h,d)?"w":f&&"\n"==h?"n":!f||/\s/.test(h)?null:"p";if(!f||p||m||(m="s"),u&&u!=m){n<0&&(n=1,c(),t.sticky="after");break}if(m&&(u=m),n>0&&!c(!p))break}var g=io(e,t,o,a,!0);return tt(o,g)&&(g.hitSide=!0),g}function qa(e,t,n,r){var i,o,a=e.doc,s=t.left;if("page"==r){var l=Math.min(e.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight),c=Math.max(l-.5*nr(e.display),3);i=(n>0?t.bottom:t.top)+n*c}else"line"==r&&(i=n>0?t.bottom+3:t.top-3);for(;(o=Gn(e,s,i)).outside;){if(n<0?i<=0:i>=a.height){o.hitSide=!0;break}i+=5*n}return o}var Fa=function(e){this.cm=e,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new F,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null};function za(e,t){var n=Nn(e,t.line);if(!n||n.hidden)return null;var r=Ve(e.doc,t.line),i=On(n,r,t.line),o=ce(r,e.doc.direction),a="left";o&&(a=se(o,t.ch)%2?"right":"left");var s=jn(i.map,t.ch,a);return s.offset="right"==s.collapse?s.end:s.start,s}function Ha(e,t){return t&&(e.bad=!0),e}function Ba(e,t,n){var r;if(t==e.display.lineDiv){if(!(r=e.display.lineDiv.childNodes[n]))return Ha(e.clipPos(Ze(e.display.viewTo-1)),!0);t=null,n=0}else for(r=t;;r=r.parentNode){if(!r||r==e.display.lineDiv)return null;if(r.parentNode&&r.parentNode==e.display.lineDiv)break}for(var i=0;i=t.display.viewTo||o.line=t.display.viewFrom&&za(t,i)||{node:l[0].measure.map[2],offset:0},u=o.liner.firstLine()&&(a=Ze(a.line-1,Ve(r.doc,a.line-1).length)),s.ch==Ve(r.doc,s.line).text.length&&s.linei.viewTo-1)return!1;a.line==i.viewFrom||0==(e=cr(r,a.line))?(t=Ge(i.view[0].line),n=i.view[0].node):(t=Ge(i.view[e].line),n=i.view[e-1].node.nextSibling);var l,c,u=cr(r,s.line);if(u==i.view.length-1?(l=i.viewTo-1,c=i.lineDiv.lastChild):(l=Ge(i.view[u+1].line)-1,c=i.view[u+1].node.previousSibling),!n)return!1;for(var f=r.doc.splitLines(function(e,t,n,r,i){var o="",a=!1,s=e.doc.lineSeparator(),l=!1;function c(){a&&(o+=s,l&&(o+=s),a=l=!1)}function u(e){e&&(c(),o+=e)}function f(t){if(1==t.nodeType){var n=t.getAttribute("cm-text");if(n)return void u(n);var o,d=t.getAttribute("cm-marker");if(d){var p=e.findMarks(Ze(r,0),Ze(i+1,0),(g=+d,function(e){return e.id==g}));return void(p.length&&(o=p[0].find(0))&&u(Ye(e.doc,o.from,o.to).join(s)))}if("false"==t.getAttribute("contenteditable"))return;var h=/^(pre|div|p|li|table|br)$/i.test(t.nodeName);if(!/^br$/i.test(t.nodeName)&&0==t.textContent.length)return;h&&c();for(var m=0;m1&&d.length>1;)if(X(f)==X(d))f.pop(),d.pop(),l--;else{if(f[0]!=d[0])break;f.shift(),d.shift(),t++}for(var p=0,h=0,m=f[0],g=d[0],v=Math.min(m.length,g.length);pa.ch&&y.charCodeAt(y.length-h-1)==b.charCodeAt(b.length-h-1);)p--,h++;f[f.length-1]=y.slice(0,y.length-h).replace(/^\u200b+/,""),f[0]=f[0].slice(p).replace(/\u200b+$/,"");var x=Ze(t,p),_=Ze(l,d.length?X(d).length-h:0);return f.length>1||f[0]||et(x,_)?(ho(r.doc,f,x,_,"+input"),!0):void 0},Fa.prototype.ensurePolled=function(){this.forceCompositionEnd()},Fa.prototype.reset=function(){this.forceCompositionEnd()},Fa.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},Fa.prototype.readFromDOMSoon=function(){var e=this;null==this.readDOMTimeout&&(this.readDOMTimeout=setTimeout((function(){if(e.readDOMTimeout=null,e.composing){if(!e.composing.done)return;e.composing=null}e.updateFromDOM()}),80))},Fa.prototype.updateFromDOM=function(){var e=this;!this.cm.isReadOnly()&&this.pollContent()||Jr(this.cm,(function(){return ur(e.cm)}))},Fa.prototype.setUneditable=function(e){e.contentEditable="false"},Fa.prototype.onKeyPress=function(e){0==e.charCode||this.composing||(e.preventDefault(),this.cm.isReadOnly()||Zr(this.cm,La)(this.cm,String.fromCharCode(null==e.charCode?e.keyCode:e.charCode),0))},Fa.prototype.readOnlyChanged=function(e){this.div.contentEditable=String("nocursor"!=e)},Fa.prototype.onContextMenu=function(){},Fa.prototype.resetPosition=function(){},Fa.prototype.needsContentAttribute=!0;var Wa=function(e){this.cm=e,this.prevInput="",this.pollingFast=!1,this.polling=new F,this.hasSelection=!1,this.composing=null};Wa.prototype.init=function(e){var t=this,n=this,r=this.cm;this.createField(e);var i=this.textarea;function o(e){if(!me(r,e)){if(r.somethingSelected())Na({lineWise:!1,text:r.getSelections()});else{if(!r.options.lineWiseCopyCut)return;var t=Pa(r);Na({lineWise:!0,text:t.text}),"cut"==e.type?r.setSelections(t.ranges,null,B):(n.prevInput="",i.value=t.text.join("\n"),j(i))}"cut"==e.type&&(r.state.cutIncoming=+new Date)}}e.wrapper.insertBefore(this.wrapper,e.wrapper.firstChild),m&&(i.style.width="0px"),fe(i,"input",(function(){a&&s>=9&&t.hasSelection&&(t.hasSelection=null),n.poll()})),fe(i,"paste",(function(e){me(r,e)||Da(e,r)||(r.state.pasteIncoming=+new Date,n.fastPoll())})),fe(i,"cut",o),fe(i,"copy",o),fe(e.scroller,"paste",(function(t){if(!xn(e,t)&&!me(r,t)){if(!i.dispatchEvent)return r.state.pasteIncoming=+new Date,void n.focus();var o=new Event("paste");o.clipboardData=t.clipboardData,i.dispatchEvent(o)}})),fe(e.lineSpace,"selectstart",(function(t){xn(e,t)||be(t)})),fe(i,"compositionstart",(function(){var e=r.getCursor("from");n.composing&&n.composing.range.clear(),n.composing={start:e,range:r.markText(e,r.getCursor("to"),{className:"CodeMirror-composing"})}})),fe(i,"compositionend",(function(){n.composing&&(n.poll(),n.composing.range.clear(),n.composing=null)}))},Wa.prototype.createField=function(e){this.wrapper=Ia(),this.textarea=this.wrapper.firstChild},Wa.prototype.screenReaderLabelChanged=function(e){e?this.textarea.setAttribute("aria-label",e):this.textarea.removeAttribute("aria-label")},Wa.prototype.prepareSelection=function(){var e=this.cm,t=e.display,n=e.doc,r=gr(e);if(e.options.moveInputWithCursor){var i=Yn(e,n.sel.primary().head,"div"),o=t.wrapper.getBoundingClientRect(),a=t.lineDiv.getBoundingClientRect();r.teTop=Math.max(0,Math.min(t.wrapper.clientHeight-10,i.top+a.top-o.top)),r.teLeft=Math.max(0,Math.min(t.wrapper.clientWidth-10,i.left+a.left-o.left))}return r},Wa.prototype.showSelection=function(e){var t=this.cm.display;O(t.cursorDiv,e.cursors),O(t.selectionDiv,e.selection),null!=e.teTop&&(this.wrapper.style.top=e.teTop+"px",this.wrapper.style.left=e.teLeft+"px")},Wa.prototype.reset=function(e){if(!this.contextMenuPending&&!this.composing){var t=this.cm;if(t.somethingSelected()){this.prevInput="";var n=t.getSelection();this.textarea.value=n,t.state.focused&&j(this.textarea),a&&s>=9&&(this.hasSelection=n)}else e||(this.prevInput=this.textarea.value="",a&&s>=9&&(this.hasSelection=null))}},Wa.prototype.getField=function(){return this.textarea},Wa.prototype.supportsTouch=function(){return!1},Wa.prototype.focus=function(){if("nocursor"!=this.cm.options.readOnly&&(!v||D()!=this.textarea))try{this.textarea.focus()}catch(e){}},Wa.prototype.blur=function(){this.textarea.blur()},Wa.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},Wa.prototype.receivedFocus=function(){this.slowPoll()},Wa.prototype.slowPoll=function(){var e=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,(function(){e.poll(),e.cm.state.focused&&e.slowPoll()}))},Wa.prototype.fastPoll=function(){var e=!1,t=this;t.pollingFast=!0,t.polling.set(20,(function n(){t.poll()||e?(t.pollingFast=!1,t.slowPoll()):(e=!0,t.polling.set(60,n))}))},Wa.prototype.poll=function(){var e=this,t=this.cm,n=this.textarea,r=this.prevInput;if(this.contextMenuPending||!t.state.focused||Le(n)&&!r&&!this.composing||t.isReadOnly()||t.options.disableInput||t.state.keySeq)return!1;var i=n.value;if(i==r&&!t.somethingSelected())return!1;if(a&&s>=9&&this.hasSelection===i||y&&/[\uf700-\uf7ff]/.test(i))return t.display.input.reset(),!1;if(t.doc.sel==t.display.selForContextMenu){var o=i.charCodeAt(0);if(8203!=o||r||(r="\u200b"),8666==o)return this.reset(),this.cm.execCommand("undo")}for(var l=0,c=Math.min(r.length,i.length);l1e3||i.indexOf("\n")>-1?n.value=e.prevInput="":e.prevInput=i,e.composing&&(e.composing.range.clear(),e.composing.range=t.markText(e.composing.start,t.getCursor("to"),{className:"CodeMirror-composing"}))})),!0},Wa.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},Wa.prototype.onKeyPress=function(){a&&s>=9&&(this.hasSelection=null),this.fastPoll()},Wa.prototype.onContextMenu=function(e){var t=this,n=t.cm,r=n.display,i=t.textarea;t.contextMenuPending&&t.contextMenuPending();var o=lr(n,e),c=r.scroller.scrollTop;if(o&&!f){n.options.resetSelectionOnContextMenu&&-1==n.doc.sel.contains(o)&&Zr(n,Ji)(n.doc,Si(o),B);var u,d=i.style.cssText,p=t.wrapper.style.cssText,h=t.wrapper.offsetParent.getBoundingClientRect();t.wrapper.style.cssText="position: static",i.style.cssText="position: absolute; width: 30px; height: 30px;\n top: "+(e.clientY-h.top-5)+"px; left: "+(e.clientX-h.left-5)+"px;\n z-index: 1000; background: "+(a?"rgba(255, 255, 255, .05)":"transparent")+";\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);",l&&(u=window.scrollY),r.input.focus(),l&&window.scrollTo(null,u),r.input.reset(),n.somethingSelected()||(i.value=t.prevInput=" "),t.contextMenuPending=g,r.selForContextMenu=n.doc.sel,clearTimeout(r.detectingSelectAll),a&&s>=9&&m(),k?(_e(e),fe(window,"mouseup",(function e(){pe(window,"mouseup",e),setTimeout(g,20)}))):setTimeout(g,50)}function m(){if(null!=i.selectionStart){var e=n.somethingSelected(),o="\u200b"+(e?i.value:"");i.value="\u21da",i.value=o,t.prevInput=e?"":"\u200b",i.selectionStart=1,i.selectionEnd=o.length,r.selForContextMenu=n.doc.sel}}function g(){if(t.contextMenuPending==g&&(t.contextMenuPending=!1,t.wrapper.style.cssText=p,i.style.cssText=d,a&&s<9&&r.scrollbars.setScrollTop(r.scroller.scrollTop=c),null!=i.selectionStart)){(!a||a&&s<9)&&m();var e=0;r.detectingSelectAll=setTimeout((function o(){r.selForContextMenu==n.doc.sel&&0==i.selectionStart&&i.selectionEnd>0&&"\u200b"==t.prevInput?Zr(n,ao)(n):e++<10?r.detectingSelectAll=setTimeout(o,500):(r.selForContextMenu=null,r.input.reset())}),200)}}},Wa.prototype.readOnlyChanged=function(e){e||this.reset(),this.textarea.disabled="nocursor"==e,this.textarea.readOnly=!!e},Wa.prototype.setUneditable=function(){},Wa.prototype.needsContentAttribute=!1,function(e){var t=e.optionHandlers;function n(n,r,i,o){e.defaults[n]=r,i&&(t[n]=o?function(e,t,n){n!=xa&&i(e,t,n)}:i)}e.defineOption=n,e.Init=xa,n("value","",(function(e,t){return e.setValue(t)}),!0),n("mode",null,(function(e,t){e.doc.modeOption=t,Ai(e)}),!0),n("indentUnit",2,Ai,!0),n("indentWithTabs",!1),n("smartIndent",!0),n("tabSize",4,(function(e){Ni(e),Fn(e),ur(e)}),!0),n("lineSeparator",null,(function(e,t){if(e.doc.lineSep=t,t){var n=[],r=e.doc.first;e.doc.iter((function(e){for(var i=0;;){var o=e.text.indexOf(t,i);if(-1==o)break;i=o+t.length,n.push(Ze(r,o))}r++}));for(var i=n.length-1;i>=0;i--)ho(e.doc,t,n[i],Ze(n[i].line,n[i].ch+t.length))}})),n("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b\u200e\u200f\u2028\u2029\ufeff\ufff9-\ufffc]/g,(function(e,t,n){e.state.specialChars=new RegExp(t.source+(t.test("\t")?"":"|\t"),"g"),n!=xa&&e.refresh()})),n("specialCharPlaceholder",Qt,(function(e){return e.refresh()}),!0),n("electricChars",!0),n("inputStyle",v?"contenteditable":"textarea",(function(){throw new Error("inputStyle can not (yet) be changed in a running editor")}),!0),n("spellcheck",!1,(function(e,t){return e.getInputField().spellcheck=t}),!0),n("autocorrect",!1,(function(e,t){return e.getInputField().autocorrect=t}),!0),n("autocapitalize",!1,(function(e,t){return e.getInputField().autocapitalize=t}),!0),n("rtlMoveVisually",!w),n("wholeLineUpdateBefore",!0),n("theme","default",(function(e){wa(e),hi(e)}),!0),n("keyMap","default",(function(e,t,n){var r=Go(t),i=n!=xa&&Go(n);i&&i.detach&&i.detach(e,r),r.attach&&r.attach(e,i||null)})),n("extraKeys",null),n("configureMouse",null),n("lineWrapping",!1,Ea,!0),n("gutters",[],(function(e,t){e.display.gutterSpecs=di(t,e.options.lineNumbers),hi(e)}),!0),n("fixedGutter",!0,(function(e,t){e.display.gutters.style.left=t?or(e.display)+"px":"0",e.refresh()}),!0),n("coverGutterNextToScrollbar",!1,(function(e){return zr(e)}),!0),n("scrollbarStyle","native",(function(e){Ur(e),zr(e),e.display.scrollbars.setScrollTop(e.doc.scrollTop),e.display.scrollbars.setScrollLeft(e.doc.scrollLeft)}),!0),n("lineNumbers",!1,(function(e,t){e.display.gutterSpecs=di(e.options.gutters,t),hi(e)}),!0),n("firstLineNumber",1,hi,!0),n("lineNumberFormatter",(function(e){return e}),hi,!0),n("showCursorWhenSelecting",!1,mr,!0),n("resetSelectionOnContextMenu",!0),n("lineWiseCopyCut",!0),n("pasteLinesPerSelection",!0),n("selectionsMayTouch",!1),n("readOnly",!1,(function(e,t){"nocursor"==t&&(Sr(e),e.display.input.blur()),e.display.input.readOnlyChanged(t)})),n("screenReaderLabel",null,(function(e,t){t=""===t?null:t,e.display.input.screenReaderLabelChanged(t)})),n("disableInput",!1,(function(e,t){t||e.display.input.reset()}),!0),n("dragDrop",!0,Sa),n("allowDropFileTypes",null),n("cursorBlinkRate",530),n("cursorScrollMargin",0),n("cursorHeight",1,mr,!0),n("singleCursorHeightPerLine",!0,mr,!0),n("workTime",100),n("workDelay",100),n("flattenSpans",!0,Ni,!0),n("addModeClass",!1,Ni,!0),n("pollInterval",100),n("undoDepth",200,(function(e,t){return e.doc.history.undoDepth=t})),n("historyEventDelay",1250),n("viewportMargin",10,(function(e){return e.refresh()}),!0),n("maxHighlightLength",1e4,Ni,!0),n("moveInputWithCursor",!0,(function(e,t){t||e.display.input.resetPosition()})),n("tabindex",null,(function(e,t){return e.display.input.getField().tabIndex=t||""})),n("autofocus",null),n("direction","ltr",(function(e,t){return e.doc.setDirection(t)}),!0),n("phrases",null)}(Ta),function(e){var t=e.optionHandlers,n=e.helpers={};e.prototype={constructor:e,focus:function(){window.focus(),this.display.input.focus()},setOption:function(e,n){var r=this.options,i=r[e];r[e]==n&&"mode"!=e||(r[e]=n,t.hasOwnProperty(e)&&Zr(this,t[e])(this,n,i),he(this,"optionChange",this,e))},getOption:function(e){return this.options[e]},getDoc:function(){return this.doc},addKeyMap:function(e,t){this.state.keyMaps[t?"push":"unshift"](Go(e))},removeKeyMap:function(e){for(var t=this.state.keyMaps,n=0;nn&&(Oa(this,i.head.line,e,!0),n=i.head.line,r==this.doc.sel.primIndex&&Nr(this));else{var o=i.from(),a=i.to(),s=Math.max(n,o.line);n=Math.min(this.lastLine(),a.line-(a.ch?0:1))+1;for(var l=s;l0&&Gi(this.doc,r,new _i(o,c[r].to()),B)}}})),getTokenAt:function(e,t){return vt(this,e,t)},getLineTokens:function(e,t){return vt(this,Ze(e),t,!0)},getTokenTypeAt:function(e){e=at(this.doc,e);var t,n=ft(this,Ve(this.doc,e.line)),r=0,i=(n.length-1)/2,o=e.ch;if(0==o)t=n[2];else for(;;){var a=r+i>>1;if((a?n[2*a-1]:0)>=o)i=a;else{if(!(n[2*a+1]o&&(e=o,i=!0),r=Ve(this.doc,e)}else r=e;return Un(this,r,{top:0,left:0},t||"page",n||i).top+(i?this.doc.height-Bt(r):0)},defaultTextHeight:function(){return nr(this.display)},defaultCharWidth:function(){return rr(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(e,t,n,r,i){var o=this.display,a=(e=Yn(this,at(this.doc,e))).bottom,s=e.left;if(t.style.position="absolute",t.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(t),o.sizer.appendChild(t),"over"==r)a=e.top;else if("above"==r||"near"==r){var l=Math.max(o.wrapper.clientHeight,this.doc.height),c=Math.max(o.sizer.clientWidth,o.lineSpace.clientWidth);("above"==r||e.bottom+t.offsetHeight>l)&&e.top>t.offsetHeight?a=e.top-t.offsetHeight:e.bottom+t.offsetHeight<=l&&(a=e.bottom),s+t.offsetWidth>c&&(s=c-t.offsetWidth)}t.style.top=a+"px",t.style.left=t.style.right="","right"==i?(s=o.sizer.clientWidth-t.offsetWidth,t.style.right="0px"):("left"==i?s=0:"middle"==i&&(s=(o.sizer.clientWidth-t.offsetWidth)/2),t.style.left=s+"px"),n&&function(e,t){var n=Or(e,t);null!=n.scrollTop&&Pr(e,n.scrollTop),null!=n.scrollLeft&&Ir(e,n.scrollLeft)}(this,{left:s,top:a,right:s+t.offsetWidth,bottom:a+t.offsetHeight})},triggerOnKeyDown:ei(ca),triggerOnKeyPress:ei(fa),triggerOnKeyUp:ua,triggerOnMouseDown:ei(ma),execCommand:function(e){if(ea.hasOwnProperty(e))return ea[e].call(null,this)},triggerElectric:ei((function(e){Ma(this,e)})),findPosH:function(e,t,n,r){var i=1;t<0&&(i=-1,t=-t);for(var o=at(this.doc,e),a=0;a0&&a(t.charAt(n-1));)--n;for(;r.5||this.options.lineWrapping)&&sr(this),he(this,"refresh",this)})),swapDoc:ei((function(e){var t=this.doc;return t.cm=null,this.state.selectingText&&this.state.selectingText(),Pi(this,e),Fn(this),this.display.input.reset(),Lr(this,e.scrollLeft,e.scrollTop),this.curOp.forceScroll=!0,sn(this,"swapDoc",this,t),t})),phrase:function(e){var t=this.options.phrases;return t&&Object.prototype.hasOwnProperty.call(t,e)?t[e]:e},getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},ye(e),e.registerHelper=function(t,r,i){n.hasOwnProperty(t)||(n[t]=e[t]={_global:[]}),n[t][r]=i},e.registerGlobalHelper=function(t,r,i,o){e.registerHelper(t,r,o),n[t]._global.push({pred:i,val:o})}}(Ta);var Va="iter insert remove copy getEditor constructor".split(" ");for(var Ya in No.prototype)No.prototype.hasOwnProperty(Ya)&&z(Va,Ya)<0&&(Ta.prototype[Ya]=function(e){return function(){return e.apply(this.doc,arguments)}}(No.prototype[Ya]));return ye(No),Ta.inputStyles={textarea:Wa,contenteditable:Fa},Ta.defineMode=function(e){Ta.defaults.mode||"null"==e||(Ta.defaults.mode=e),Ie.apply(this,arguments)},Ta.defineMIME=function(e,t){je[e]=t},Ta.defineMode("null",(function(){return{token:function(e){return e.skipToEnd()}}})),Ta.defineMIME("text/plain","null"),Ta.defineExtension=function(e,t){Ta.prototype[e]=t},Ta.defineDocExtension=function(e,t){No.prototype[e]=t},Ta.fromTextArea=function(e,t){if((t=t?R(t):{}).value=e.value,!t.tabindex&&e.tabIndex&&(t.tabindex=e.tabIndex),!t.placeholder&&e.placeholder&&(t.placeholder=e.placeholder),null==t.autofocus){var n=D();t.autofocus=n==e||null!=e.getAttribute("autofocus")&&n==document.body}function r(){e.value=s.getValue()}var i;if(e.form&&(fe(e.form,"submit",r),!t.leaveSubmitMethodAlone)){var o=e.form;i=o.submit;try{var a=o.submit=function(){r(),o.submit=i,o.submit(),o.submit=a}}catch(l){}}t.finishInit=function(n){n.save=r,n.getTextArea=function(){return e},n.toTextArea=function(){n.toTextArea=isNaN,r(),e.parentNode.removeChild(n.getWrapperElement()),e.style.display="",e.form&&(pe(e.form,"submit",r),t.leaveSubmitMethodAlone||"function"!=typeof e.form.submit||(e.form.submit=i))}},e.style.display="none";var s=Ta((function(t){return e.parentNode.insertBefore(t,e.nextSibling)}),t);return s},function(e){e.off=pe,e.on=fe,e.wheelEventPixels=bi,e.Doc=No,e.splitLines=Ne,e.countColumn=q,e.findColumn=V,e.isWordChar=Z,e.Pass=H,e.signal=he,e.Line=Vt,e.changeEnd=Ei,e.scrollbarModel=Br,e.Pos=Ze,e.cmpPos=et,e.modes=Pe,e.mimeModes=je,e.resolveMode=Re,e.getMode=qe,e.modeExtensions=Fe,e.extendMode=ze,e.copyState=He,e.startState=Ue,e.innerMode=Be,e.commands=ea,e.keyMap=Bo,e.keyName=Xo,e.isModifierKey=Yo,e.lookupKey=Vo,e.normalizeKeyMap=Wo,e.StringStream=We,e.SharedTextMarker=To,e.TextMarker=So,e.LineWidget=xo,e.e_preventDefault=be,e.e_stopPropagation=we,e.e_stop=_e,e.addClass=M,e.contains=L,e.rmClass=T,e.keyNames=qo}(Ta),Ta.version="5.62.3",Ta}()},function(e,t,n){"use strict";function r(e,t,n,r,i,o,a){try{var s=e[o](a),l=s.value}catch(c){return void n(c)}s.done?t(l):Promise.resolve(l).then(r,i)}function i(e){return function(){var t=this,n=arguments;return new Promise((function(i,o){var a=e.apply(t,n);function s(e){r(a,i,o,s,l,"next",e)}function l(e){r(a,i,o,s,l,"throw",e)}s(void 0)}))}}n.d(t,"a",(function(){return i}))},function(e,t,n){"use strict";!function e(){if("undefined"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE){0;try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}}(),e.exports=n(98)},function(e,t,n){"use strict";n.r(t),n.d(t,"__DO_NOT_USE__ActionTypes",(function(){return o})),n.d(t,"applyMiddleware",(function(){return g})),n.d(t,"bindActionCreators",(function(){return f})),n.d(t,"combineReducers",(function(){return c})),n.d(t,"compose",(function(){return m})),n.d(t,"createStore",(function(){return s}));var r=n(51),i=function(){return Math.random().toString(36).substring(7).split("").join(".")},o={INIT:"@@redux/INIT"+i(),REPLACE:"@@redux/REPLACE"+i(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+i()}};function a(e){if("object"!==typeof e||null===e)return!1;for(var t=e;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function s(e,t,n){var i;if("function"===typeof t&&"function"===typeof n||"function"===typeof n&&"function"===typeof arguments[3])throw new Error("It looks like you are passing several store enhancers to createStore(). This is not supported. Instead, compose them together to a single function.");if("function"===typeof t&&"undefined"===typeof n&&(n=t,t=void 0),"undefined"!==typeof n){if("function"!==typeof n)throw new Error("Expected the enhancer to be a function.");return n(s)(e,t)}if("function"!==typeof e)throw new Error("Expected the reducer to be a function.");var l=e,c=t,u=[],f=u,d=!1;function p(){f===u&&(f=u.slice())}function h(){if(d)throw new Error("You may not call store.getState() while the reducer is executing. The reducer has already received the state as an argument. Pass it down from the top reducer instead of reading it from the store.");return c}function m(e){if("function"!==typeof e)throw new Error("Expected the listener to be a function.");if(d)throw new Error("You may not call store.subscribe() while the reducer is executing. If you would like to be notified after the store has been updated, subscribe from a component and invoke store.getState() in the callback to access the latest state. See https://redux.js.org/api-reference/store#subscribelistener for more details.");var t=!0;return p(),f.push(e),function(){if(t){if(d)throw new Error("You may not unsubscribe from a store listener while the reducer is executing. See https://redux.js.org/api-reference/store#subscribelistener for more details.");t=!1,p();var n=f.indexOf(e);f.splice(n,1),u=null}}}function g(e){if(!a(e))throw new Error("Actions must be plain objects. Use custom middleware for async actions.");if("undefined"===typeof e.type)throw new Error('Actions may not have an undefined "type" property. Have you misspelled a constant?');if(d)throw new Error("Reducers may not dispatch actions.");try{d=!0,c=l(c,e)}finally{d=!1}for(var t=u=f,n=0;n0}function T(e){return Object.keys(e).map((function(t){return e[t]}))}var C=!("undefined"===typeof window||!window.document||!window.document.createElement);var O,A=((O=function(e,t,n){var r=e[t];return!1===r||E(r)?null:new Error(n+" expect "+t+" \n to be a valid Number > 0 or equal to false. "+r+" given.")}).isRequired=function(e,t,n){if("undefined"===typeof e[t])return new Error("The prop "+t+" is marked as required in \n "+n+", but its value is undefined.");O(e,t,n)},O);function N(e){var t,n,i=e.delay,o=e.isRunning,a=e.closeToast,l=e.type,c=e.hide,u=e.className,d=e.style,p=e.controlledProgress,h=e.progress,m=e.rtl,g=Object(r.a)({},d,{animationDuration:i+"ms",animationPlayState:o?"running":"paused",opacity:c?0:1,transform:p?"scaleX("+h+")":null}),v=f()("Toastify__progress-bar",p?"Toastify__progress-bar--controlled":"Toastify__progress-bar--animated","Toastify__progress-bar--"+l,((t={})["Toastify__progress-bar--rtl"]=m,t),u),y=((n={})[p&&h>=1?"onTransitionEnd":"onAnimationEnd"]=p&&h<1?null:a,n);return s.a.createElement("div",Object(r.a)({className:v,style:g},y))}function L(e){return e.targetTouches&&e.targetTouches.length>=1?e.targetTouches[0].clientX:e.clientX}function D(e){return e.targetTouches&&e.targetTouches.length>=1?e.targetTouches[0].clientY:e.clientY}N.propTypes={delay:A.isRequired,isRunning:c.a.bool.isRequired,closeToast:c.a.func.isRequired,rtl:c.a.bool.isRequired,type:c.a.string,hide:c.a.bool,className:c.a.oneOfType([c.a.string,c.a.object]),progress:c.a.number,controlledProgress:c.a.bool},N.defaultProps={type:y.DEFAULT,hide:!1};var M=C&&/(msie|trident)/i.test(navigator.userAgent),P=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),i=0;it.drag.removalDistance)return void t.setState({preventExitTransition:!0},t.props.closeToast);t.ref.style.transition="transform 0.2s, opacity 0.2s",t.ref.style.transform="translateX(0)",t.ref.style.opacity=1}},t.onDragTransitionEnd=function(){if(t.boundingRect){var e=t.boundingRect,n=e.top,r=e.bottom,i=e.left,o=e.right;t.props.pauseOnHover&&t.drag.x>=i&&t.drag.x<=o&&t.drag.y>=n&&t.drag.y<=r?t.pauseToast():t.playToast()}},t.onExitTransitionEnd=function(){if(M)t.props.onExited();else{var e=t.ref.scrollHeight,n=t.ref.style;requestAnimationFrame((function(){n.minHeight="initial",n.height=e+"px",n.transition="all 0.4s ",requestAnimationFrame((function(){n.height=0,n.padding=0,n.margin=0})),setTimeout((function(){return t.props.onExited()}),400)}))}},t}Object(o.a)(t,e);var n=t.prototype;return n.componentDidMount=function(){this.props.onOpen(this.props.children.props),this.props.draggable&&this.bindDragEvents(),this.props.pauseOnFocusLoss&&this.bindFocusEvents()},n.componentDidUpdate=function(e){e.draggable!==this.props.draggable&&(this.props.draggable?this.bindDragEvents():this.unbindDragEvents()),e.pauseOnFocusLoss!==this.props.pauseOnFocusLoss&&(this.props.pauseOnFocusLoss?this.bindFocusEvents():this.unbindFocusEvents())},n.componentWillUnmount=function(){this.props.onClose(this.props.children.props),this.props.draggable&&this.unbindDragEvents(),this.props.pauseOnFocusLoss&&this.unbindFocusEvents()},n.bindFocusEvents=function(){window.addEventListener("focus",this.playToast),window.addEventListener("blur",this.pauseToast)},n.unbindFocusEvents=function(){window.removeEventListener("focus",this.playToast),window.removeEventListener("blur",this.pauseToast)},n.bindDragEvents=function(){document.addEventListener("mousemove",this.onDragMove),document.addEventListener("mouseup",this.onDragEnd),document.addEventListener("touchmove",this.onDragMove),document.addEventListener("touchend",this.onDragEnd)},n.unbindDragEvents=function(){document.removeEventListener("mousemove",this.onDragMove),document.removeEventListener("mouseup",this.onDragEnd),document.removeEventListener("touchmove",this.onDragMove),document.removeEventListener("touchend",this.onDragEnd)},n.render=function(){var e,t=this,n=this.props,i=n.closeButton,o=n.children,a=n.autoClose,l=n.pauseOnHover,c=n.onClick,u=n.closeOnClick,d=n.type,p=n.hideProgressBar,h=n.closeToast,m=n.transition,g=n.position,v=n.className,y=n.bodyClassName,b=n.progressClassName,w=n.progressStyle,x=n.updateId,_=n.role,k=n.progress,S=n.rtl,E={className:f()("Toastify__toast","Toastify__toast--"+d,(e={},e["Toastify__toast--rtl"]=S,e),v)};a&&l&&(E.onMouseEnter=this.pauseToast,E.onMouseLeave=this.playToast),u&&(E.onClick=function(e){c&&c(e),t.flag.canCloseOnClick&&h()});var T=parseFloat(k)===k;return s.a.createElement(m,{in:this.props.in,appear:!0,onExited:this.onExitTransitionEnd,position:g,preventExitTransition:this.state.preventExitTransition},s.a.createElement("div",Object(r.a)({onClick:c},E,{ref:function(e){return t.ref=e},onMouseDown:this.onDragStart,onTouchStart:this.onDragStart,onMouseUp:this.onDragTransitionEnd,onTouchEnd:this.onDragTransitionEnd}),s.a.createElement("div",Object(r.a)({},this.props.in&&{role:_},{className:f()("Toastify__toast-body",y)}),o),i&&i,(a||T)&&s.a.createElement(N,Object(r.a)({},x&&!T?{key:"pb-"+x}:{},{rtl:S,delay:a,isRunning:this.state.isRunning,closeToast:h,hide:p,type:d,style:w,className:b,controlledProgress:T,progress:k}))))},t}(a.Component);function j(e){var t=e.closeToast,n=e.type,r=e.ariaLabel;return s.a.createElement("button",{className:"Toastify__close-button Toastify__close-button--"+n,type:"button",onClick:function(e){e.stopPropagation(),t(e)},"aria-label":r},"\u2716")}function I(e){var t=e.enter,n=e.exit,o=e.duration,a=void 0===o?750:o,l=e.appendPosition,c=void 0!==l&&l;return function(e){var o,l,u=e.children,f=e.position,d=e.preventExitTransition,p=Object(i.a)(e,["children","position","preventExitTransition"]),h=c?t+"--"+f:t,g=c?n+"--"+f:n;Array.isArray(a)&&2===a.length?(o=a[0],l=a[1]):o=l=a;return s.a.createElement(m.a,Object(r.a)({},p,{timeout:d?0:{enter:o,exit:l},onEnter:function(e){e.classList.add(h),e.style.animationFillMode="forwards",e.style.animationDuration=.001*o+"s"},onEntered:function(e){e.classList.remove(h),e.style.cssText=""},onExit:d?S:function(e){e.classList.add(g),e.style.animationFillMode="forwards",e.style.animationDuration=.001*l+"s"}}),u)}}P.propTypes={closeButton:c.a.oneOfType([c.a.node,c.a.bool]).isRequired,autoClose:A.isRequired,children:c.a.node.isRequired,closeToast:c.a.func.isRequired,position:c.a.oneOf(T(v)).isRequired,pauseOnHover:c.a.bool.isRequired,pauseOnFocusLoss:c.a.bool.isRequired,closeOnClick:c.a.bool.isRequired,transition:c.a.func.isRequired,rtl:c.a.bool.isRequired,hideProgressBar:c.a.bool.isRequired,draggable:c.a.bool.isRequired,draggablePercent:c.a.number.isRequired,in:c.a.bool,onExited:c.a.func,onOpen:c.a.func,onClose:c.a.func,type:c.a.oneOf(T(y)),className:c.a.oneOfType([c.a.string,c.a.object]),bodyClassName:c.a.oneOfType([c.a.string,c.a.object]),progressClassName:c.a.oneOfType([c.a.string,c.a.object]),progressStyle:c.a.object,progress:c.a.number,updateId:c.a.oneOfType([c.a.string,c.a.number]),ariaLabel:c.a.string,containerId:c.a.oneOfType([c.a.string,c.a.number]),role:c.a.string},P.defaultProps={type:y.DEFAULT,in:!0,onOpen:S,onClose:S,className:null,bodyClassName:null,progressClassName:null,updateId:null},j.propTypes={closeToast:c.a.func,arialLabel:c.a.string},j.defaultProps={ariaLabel:"close"};var R=I({enter:"Toastify__bounce-enter",exit:"Toastify__bounce-exit",appendPosition:!0}),q=(I({enter:"Toastify__slide-enter",exit:"Toastify__slide-exit",duration:[450,750],appendPosition:!0}),I({enter:"Toastify__zoom-enter",exit:"Toastify__zoom-exit"}),I({enter:"Toastify__flip-enter",exit:"Toastify__flip-exit"}),{list:new Map,on:function(e,t){return this.list.has(e)||this.list.set(e,[]),this.list.get(e).push(t),this},off:function(e){return this.list.delete(e),this},emit:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r0}function $(e,t){var n=function(e){return Y()?e?z.get(e):z.get(H):null}(t.containerId);if(!n)return null;var r=n.collection[e];return"undefined"===typeof r?null:r}function X(e,t){return Object(r.a)({},e,{type:t,toastId:K(e)})}function G(){return(Math.random().toString(36)+Date.now().toString(36)).substr(2,10)}function K(e){return e&&("string"===typeof e.toastId||"number"===typeof e.toastId&&!isNaN(e.toastId))?e.toastId:G()}function Q(e,t){return Y()?q.emit(b,e,t):(W.push({action:b,content:e,options:t}),V&&C&&(V=!1,B=document.createElement("div"),document.body.appendChild(B),Object(g.render)(s.a.createElement(F,U),B))),t.toastId}var J=function(e,t){return Q(e,X(t,t&&t.type||y.DEFAULT))},Z=function(e){y[e]!==y.DEFAULT&&(J[y[e].toLowerCase()]=function(t,n){return Q(t,X(n,n&&n.type||y[e]))})};for(var ee in y)Z(ee);J.warn=J.warning,J.dismiss=function(e){return void 0===e&&(e=null),Y()&&q.emit(w,e)},J.isActive=S,J.update=function(e,t){void 0===t&&(t={}),setTimeout((function(){var n=$(e,t);if(n){var i=n.options,o=n.content,a=Object(r.a)({},i,{},t,{toastId:t.toastId||e});t.toastId&&t.toastId!==e?a.staleToastId=e:a.updateId=G();var s="undefined"!==typeof a.render?a.render:o;delete a.render,Q(s,a)}}),0)},J.done=function(e){J.update(e,{progress:1})},J.onChange=function(e){"function"===typeof e&&q.on(k,e)},J.configure=function(e){V=!0,U=e},J.POSITION=v,J.TYPE=y,q.on(x,(function(e){H=e.props.containerId||e,z.set(H,e),J.isActive=function(t){return e.isToastActive(t)},W.forEach((function(e){q.emit(e.action,e.content,e.options)})),W=[]})).on(_,(function(e){e?z.delete(e.props.containerId||e):z.clear(),J.isActive=S,C&&B&&document.body.removeChild(B)}))},function(e,t,n){var r;!function(){"use strict";var n={}.hasOwnProperty;function i(){for(var e=[],t=0;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n-1;i--){var o=n[i],a=(o.tagName||"").toUpperCase();["STYLE","LINK"].indexOf(a)>-1&&(r=o)}return g.head.insertBefore(t,r),e}}function $(){for(var e=12,t="";e-- >0;)t+="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[62*Math.random()|0];return t}function X(e){return"".concat(e).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function G(e){return Object.keys(e||{}).reduce((function(t,n){return t+"".concat(n,": ").concat(e[n],";")}),"")}function K(e){return e.size!==V.size||e.x!==V.x||e.y!==V.y||e.rotate!==V.rotate||e.flipX||e.flipY}function Q(e){var t=e.transform,n=e.containerWidth,r=e.iconWidth,i={transform:"translate(".concat(n/2," 256)")},o="translate(".concat(32*t.x,", ").concat(32*t.y,") "),a="scale(".concat(t.size/16*(t.flipX?-1:1),", ").concat(t.size/16*(t.flipY?-1:1),") "),s="rotate(".concat(t.rotate," 0 0)");return{outer:i,inner:{transform:"".concat(o," ").concat(a," ").concat(s)},path:{transform:"translate(".concat(r/2*-1," -256)")}}}var J={x:0,y:0,width:"100%",height:"100%"};function Z(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return e.attributes&&(e.attributes.fill||t)&&(e.attributes.fill="black"),e}function ee(e){var t=e.icons,n=t.main,r=t.mask,i=e.prefix,o=e.iconName,a=e.transform,l=e.symbol,c=e.title,u=e.extra,f=e.watchable,d=void 0!==f&&f,p=r.found?r:n,h=p.width,m=p.height,g="fa-w-".concat(Math.ceil(h/m*16)),v=[S.replacementClass,o?"".concat(S.familyPrefix,"-").concat(o):"",g].filter((function(e){return-1===u.classes.indexOf(e)})).concat(u.classes).join(" "),y={children:[],attributes:s({},u.attributes,{"data-prefix":i,"data-icon":o,class:v,role:u.attributes.role||"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(h," ").concat(m)})};d&&(y.attributes["data-fa-i2svg"]=""),c&&y.children.push({tag:"title",attributes:{id:y.attributes["aria-labelledby"]||"title-".concat($())},children:[c]});var b=s({},y,{prefix:i,iconName:o,main:n,mask:r,transform:a,symbol:l,styles:u.styles}),w=r.found&&n.found?function(e){var t,n=e.children,r=e.attributes,i=e.main,o=e.mask,a=e.transform,l=i.width,c=i.icon,u=o.width,f=o.icon,d=Q({transform:a,containerWidth:u,iconWidth:l}),p={tag:"rect",attributes:s({},J,{fill:"white"})},h=c.children?{children:c.children.map(Z)}:{},m={tag:"g",attributes:s({},d.inner),children:[Z(s({tag:c.tag,attributes:s({},c.attributes,d.path)},h))]},g={tag:"g",attributes:s({},d.outer),children:[m]},v="mask-".concat($()),y="clip-".concat($()),b={tag:"mask",attributes:s({},J,{id:v,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[p,g]},w={tag:"defs",children:[{tag:"clipPath",attributes:{id:y},children:(t=f,"g"===t.tag?t.children:[t])},b]};return n.push(w,{tag:"rect",attributes:s({fill:"currentColor","clip-path":"url(#".concat(y,")"),mask:"url(#".concat(v,")")},J)}),{children:n,attributes:r}}(b):function(e){var t=e.children,n=e.attributes,r=e.main,i=e.transform,o=G(e.styles);if(o.length>0&&(n.style=o),K(i)){var a=Q({transform:i,containerWidth:r.width,iconWidth:r.width});t.push({tag:"g",attributes:s({},a.outer),children:[{tag:"g",attributes:s({},a.inner),children:[{tag:r.icon.tag,children:r.icon.children,attributes:s({},r.icon.attributes,a.path)}]}]})}else t.push(r.icon);return{children:t,attributes:n}}(b),x=w.children,_=w.attributes;return b.children=x,b.attributes=_,l?function(e){var t=e.prefix,n=e.iconName,r=e.children,i=e.attributes,o=e.symbol;return[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:s({},i,{id:!0===o?"".concat(t,"-").concat(S.familyPrefix,"-").concat(n):o}),children:r}]}]}(b):function(e){var t=e.children,n=e.main,r=e.mask,i=e.attributes,o=e.styles,a=e.transform;if(K(a)&&n.found&&!r.found){var l={x:n.width/n.height/2,y:.5};i.style=G(s({},o,{"transform-origin":"".concat(l.x+a.x/16,"em ").concat(l.y+a.y/16,"em")}))}return[{tag:"svg",attributes:i,children:t}]}(b)}var te=function(){},ne=(S.measurePerformance&&v&&v.mark&&v.measure,function(e,t,n,r){var i,o,a,s=Object.keys(e),l=s.length,c=void 0!==r?function(e,t){return function(n,r,i,o){return e.call(t,n,r,i,o)}}(t,r):t;for(void 0===n?(i=1,a=e[s[0]]):(i=0,a=n);i2&&void 0!==arguments[2]?arguments[2]:{},r=n.skipHooks,i=void 0!==r&&r,o=Object.keys(t).reduce((function(e,n){var r=t[n];return!!r.icon?e[r.iconName]=r.icon:e[n]=r,e}),{});"function"!==typeof T.hooks.addPack||i?T.styles[e]=s({},T.styles[e]||{},o):T.hooks.addPack(e,o),"fas"===e&&re("fa",t)}var ie=T.styles,oe=T.shims,ae=function(){var e=function(e){return ne(ie,(function(t,n,r){return t[r]=ne(n,e,{}),t}),{})};e((function(e,t,n){return t[3]&&(e[t[3]]=n),e})),e((function(e,t,n){var r=t[2];return e[n]=n,r.forEach((function(t){e[t]=n})),e}));var t="far"in ie;ne(oe,(function(e,n){var r=n[0],i=n[1],o=n[2];return"far"!==i||t||(i="fas"),e[r]={prefix:i,iconName:o},e}),{})};ae();T.styles;function se(e,t,n){if(e&&e[t]&&e[t][n])return{prefix:t,iconName:n,icon:e[t][n]}}function le(e){var t=e.tag,n=e.attributes,r=void 0===n?{}:n,i=e.children,o=void 0===i?[]:i;return"string"===typeof e?X(e):"<".concat(t," ").concat(function(e){return Object.keys(e||{}).reduce((function(t,n){return t+"".concat(n,'="').concat(X(e[n]),'" ')}),"").trim()}(r),">").concat(o.map(le).join(""),"")}var ce=function(e){var t={size:16,x:0,y:0,flipX:!1,flipY:!1,rotate:0};return e?e.toLowerCase().split(" ").reduce((function(e,t){var n=t.toLowerCase().split("-"),r=n[0],i=n.slice(1).join("-");if(r&&"h"===i)return e.flipX=!0,e;if(r&&"v"===i)return e.flipY=!0,e;if(i=parseFloat(i),isNaN(i))return e;switch(r){case"grow":e.size=e.size+i;break;case"shrink":e.size=e.size-i;break;case"left":e.x=e.x-i;break;case"right":e.x=e.x+i;break;case"up":e.y=e.y-i;break;case"down":e.y=e.y+i;break;case"rotate":e.rotate=e.rotate+i}return e}),t):t};function ue(e){this.name="MissingIcon",this.message=e||"Icon unavailable",this.stack=(new Error).stack}ue.prototype=Object.create(Error.prototype),ue.prototype.constructor=ue;var fe={fill:"currentColor"},de={attributeType:"XML",repeatCount:"indefinite",dur:"2s"},pe={tag:"path",attributes:s({},fe,{d:"M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"})},he=s({},de,{attributeName:"opacity"});s({},fe,{cx:"256",cy:"364",r:"28"}),s({},de,{attributeName:"r",values:"28;14;28;28;14;28;"}),s({},he,{values:"1;0;1;1;0;1;"}),s({},fe,{opacity:"1",d:"M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"}),s({},he,{values:"1;0;0;0;0;1;"}),s({},fe,{opacity:"0",d:"M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"}),s({},he,{values:"0;0;1;1;0;0;"}),T.styles;function me(e){var t=e[0],n=e[1],r=l(e.slice(4),1)[0];return{found:!0,width:t,height:n,icon:Array.isArray(r)?{tag:"g",attributes:{class:"".concat(S.familyPrefix,"-").concat(x.GROUP)},children:[{tag:"path",attributes:{class:"".concat(S.familyPrefix,"-").concat(x.SECONDARY),fill:"currentColor",d:r[0]}},{tag:"path",attributes:{class:"".concat(S.familyPrefix,"-").concat(x.PRIMARY),fill:"currentColor",d:r[1]}}]}:{tag:"path",attributes:{fill:"currentColor",d:r}}}}T.styles;function ge(){var e="svg-inline--fa",t=S.familyPrefix,n=S.replacementClass,r='svg:not(:root).svg-inline--fa {\n overflow: visible;\n}\n\n.svg-inline--fa {\n display: inline-block;\n font-size: inherit;\n height: 1em;\n overflow: visible;\n vertical-align: -0.125em;\n}\n.svg-inline--fa.fa-lg {\n vertical-align: -0.225em;\n}\n.svg-inline--fa.fa-w-1 {\n width: 0.0625em;\n}\n.svg-inline--fa.fa-w-2 {\n width: 0.125em;\n}\n.svg-inline--fa.fa-w-3 {\n width: 0.1875em;\n}\n.svg-inline--fa.fa-w-4 {\n width: 0.25em;\n}\n.svg-inline--fa.fa-w-5 {\n width: 0.3125em;\n}\n.svg-inline--fa.fa-w-6 {\n width: 0.375em;\n}\n.svg-inline--fa.fa-w-7 {\n width: 0.4375em;\n}\n.svg-inline--fa.fa-w-8 {\n width: 0.5em;\n}\n.svg-inline--fa.fa-w-9 {\n width: 0.5625em;\n}\n.svg-inline--fa.fa-w-10 {\n width: 0.625em;\n}\n.svg-inline--fa.fa-w-11 {\n width: 0.6875em;\n}\n.svg-inline--fa.fa-w-12 {\n width: 0.75em;\n}\n.svg-inline--fa.fa-w-13 {\n width: 0.8125em;\n}\n.svg-inline--fa.fa-w-14 {\n width: 0.875em;\n}\n.svg-inline--fa.fa-w-15 {\n width: 0.9375em;\n}\n.svg-inline--fa.fa-w-16 {\n width: 1em;\n}\n.svg-inline--fa.fa-w-17 {\n width: 1.0625em;\n}\n.svg-inline--fa.fa-w-18 {\n width: 1.125em;\n}\n.svg-inline--fa.fa-w-19 {\n width: 1.1875em;\n}\n.svg-inline--fa.fa-w-20 {\n width: 1.25em;\n}\n.svg-inline--fa.fa-pull-left {\n margin-right: 0.3em;\n width: auto;\n}\n.svg-inline--fa.fa-pull-right {\n margin-left: 0.3em;\n width: auto;\n}\n.svg-inline--fa.fa-border {\n height: 1.5em;\n}\n.svg-inline--fa.fa-li {\n width: 2em;\n}\n.svg-inline--fa.fa-fw {\n width: 1.25em;\n}\n\n.fa-layers svg.svg-inline--fa {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.fa-layers {\n display: inline-block;\n height: 1em;\n position: relative;\n text-align: center;\n vertical-align: -0.125em;\n width: 1em;\n}\n.fa-layers svg.svg-inline--fa {\n -webkit-transform-origin: center center;\n transform-origin: center center;\n}\n\n.fa-layers-counter, .fa-layers-text {\n display: inline-block;\n position: absolute;\n text-align: center;\n}\n\n.fa-layers-text {\n left: 50%;\n top: 50%;\n -webkit-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%);\n -webkit-transform-origin: center center;\n transform-origin: center center;\n}\n\n.fa-layers-counter {\n background-color: #ff253a;\n border-radius: 1em;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n color: #fff;\n height: 1.5em;\n line-height: 1;\n max-width: 5em;\n min-width: 1.5em;\n overflow: hidden;\n padding: 0.25em;\n right: 0;\n text-overflow: ellipsis;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top right;\n transform-origin: top right;\n}\n\n.fa-layers-bottom-right {\n bottom: 0;\n right: 0;\n top: auto;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: bottom right;\n transform-origin: bottom right;\n}\n\n.fa-layers-bottom-left {\n bottom: 0;\n left: 0;\n right: auto;\n top: auto;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: bottom left;\n transform-origin: bottom left;\n}\n\n.fa-layers-top-right {\n right: 0;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top right;\n transform-origin: top right;\n}\n\n.fa-layers-top-left {\n left: 0;\n right: auto;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top left;\n transform-origin: top left;\n}\n\n.fa-lg {\n font-size: 1.3333333333em;\n line-height: 0.75em;\n vertical-align: -0.0667em;\n}\n\n.fa-xs {\n font-size: 0.75em;\n}\n\n.fa-sm {\n font-size: 0.875em;\n}\n\n.fa-1x {\n font-size: 1em;\n}\n\n.fa-2x {\n font-size: 2em;\n}\n\n.fa-3x {\n font-size: 3em;\n}\n\n.fa-4x {\n font-size: 4em;\n}\n\n.fa-5x {\n font-size: 5em;\n}\n\n.fa-6x {\n font-size: 6em;\n}\n\n.fa-7x {\n font-size: 7em;\n}\n\n.fa-8x {\n font-size: 8em;\n}\n\n.fa-9x {\n font-size: 9em;\n}\n\n.fa-10x {\n font-size: 10em;\n}\n\n.fa-fw {\n text-align: center;\n width: 1.25em;\n}\n\n.fa-ul {\n list-style-type: none;\n margin-left: 2.5em;\n padding-left: 0;\n}\n.fa-ul > li {\n position: relative;\n}\n\n.fa-li {\n left: -2em;\n position: absolute;\n text-align: center;\n width: 2em;\n line-height: inherit;\n}\n\n.fa-border {\n border: solid 0.08em #eee;\n border-radius: 0.1em;\n padding: 0.2em 0.25em 0.15em;\n}\n\n.fa-pull-left {\n float: left;\n}\n\n.fa-pull-right {\n float: right;\n}\n\n.fa.fa-pull-left,\n.fas.fa-pull-left,\n.far.fa-pull-left,\n.fal.fa-pull-left,\n.fab.fa-pull-left {\n margin-right: 0.3em;\n}\n.fa.fa-pull-right,\n.fas.fa-pull-right,\n.far.fa-pull-right,\n.fal.fa-pull-right,\n.fab.fa-pull-right {\n margin-left: 0.3em;\n}\n\n.fa-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear;\n}\n\n.fa-pulse {\n -webkit-animation: fa-spin 1s infinite steps(8);\n animation: fa-spin 1s infinite steps(8);\n}\n\n@-webkit-keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n@keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n.fa-rotate-90 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";\n -webkit-transform: rotate(90deg);\n transform: rotate(90deg);\n}\n\n.fa-rotate-180 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";\n -webkit-transform: rotate(180deg);\n transform: rotate(180deg);\n}\n\n.fa-rotate-270 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";\n -webkit-transform: rotate(270deg);\n transform: rotate(270deg);\n}\n\n.fa-flip-horizontal {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";\n -webkit-transform: scale(-1, 1);\n transform: scale(-1, 1);\n}\n\n.fa-flip-vertical {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";\n -webkit-transform: scale(1, -1);\n transform: scale(1, -1);\n}\n\n.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";\n -webkit-transform: scale(-1, -1);\n transform: scale(-1, -1);\n}\n\n:root .fa-rotate-90,\n:root .fa-rotate-180,\n:root .fa-rotate-270,\n:root .fa-flip-horizontal,\n:root .fa-flip-vertical,\n:root .fa-flip-both {\n -webkit-filter: none;\n filter: none;\n}\n\n.fa-stack {\n display: inline-block;\n height: 2em;\n position: relative;\n width: 2.5em;\n}\n\n.fa-stack-1x,\n.fa-stack-2x {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.svg-inline--fa.fa-stack-1x {\n height: 1em;\n width: 1.25em;\n}\n.svg-inline--fa.fa-stack-2x {\n height: 2em;\n width: 2.5em;\n}\n\n.fa-inverse {\n color: #fff;\n}\n\n.sr-only {\n border: 0;\n clip: rect(0, 0, 0, 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n clip: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n position: static;\n width: auto;\n}\n\n.svg-inline--fa .fa-primary {\n fill: var(--fa-primary-color, currentColor);\n opacity: 1;\n opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa .fa-secondary {\n fill: var(--fa-secondary-color, currentColor);\n opacity: 0.4;\n opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-primary {\n opacity: 0.4;\n opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\n opacity: 1;\n opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa mask .fa-primary,\n.svg-inline--fa mask .fa-secondary {\n fill: black;\n}\n\n.fad.fa-inverse {\n color: #fff;\n}';if("fa"!==t||n!==e){var i=new RegExp("\\.".concat("fa","\\-"),"g"),o=new RegExp("\\--".concat("fa","\\-"),"g"),a=new RegExp("\\.".concat(e),"g");r=r.replace(i,".".concat(t,"-")).replace(o,"--".concat(t,"-")).replace(a,".".concat(n))}return r}function ve(){S.autoAddCss&&!_e&&(Y(ge()),_e=!0)}function ye(e,t){return Object.defineProperty(e,"abstract",{get:t}),Object.defineProperty(e,"html",{get:function(){return e.abstract.map((function(e){return le(e)}))}}),Object.defineProperty(e,"node",{get:function(){if(y){var t=g.createElement("div");return t.innerHTML=e.html,t.children}}}),e}function be(e){var t=e.prefix,n=void 0===t?"fa":t,r=e.iconName;if(r)return se(xe.definitions,n,r)||se(T.styles,n,r)}var we,xe=new(function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.definitions={}}var t,n,r;return t=e,(n=[{key:"add",value:function(){for(var e=this,t=arguments.length,n=new Array(t),r=0;r1&&void 0!==arguments[1]?arguments[1]:{},n=t.transform,r=void 0===n?V:n,i=t.symbol,o=void 0!==i&&i,a=t.mask,l=void 0===a?null:a,c=t.title,u=void 0===c?null:c,f=t.classes,d=void 0===f?[]:f,p=t.attributes,h=void 0===p?{}:p,m=t.styles,g=void 0===m?{}:m;if(e){var v=e.prefix,y=e.iconName,b=e.icon;return ye(s({type:"icon"},e),(function(){return ve(),S.autoA11y&&(u?h["aria-labelledby"]="".concat(S.replacementClass,"-title-").concat($()):(h["aria-hidden"]="true",h.focusable="false")),ee({icons:{main:me(b),mask:l?me(l.icon):{found:!1,width:null,height:null,icon:{}}},prefix:v,iconName:y,transform:s({},V,r),symbol:o,title:u,extra:{attributes:h,styles:g,classes:d}})}))}},function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=(e||{}).icon?e:be(e||{}),r=t.mask;return r&&(r=(r||{}).icon?r:be(r||{})),we(n,s({},t,{mask:r}))})}).call(this,n(28),n(111).setImmediate)},function(e,t){"function"===typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}}},function(e,t,n){"use strict";e.exports=n(103)},function(e,t,n){function r(){var e={},t={},n="";function i(t){r.each(t.split(" "),(function(t){e[t]=!!t}))}return r.each([].slice.call(arguments),(function(e){switch(r.getType(e)){case"string":case"number":i(e);break;case"array":i(r.apply(null,e));break;case"element":i(r(e.className||""));break;case"nodelist":i(r.apply(null,[].slice.call(e)));break;case"jquery":i(r.apply(null,e.get()));break;case"object":t=r.extend(t,e)}})),e=r.extend(e,t),r.each(e,(function(e,t){e&&(n+=" "+t)})),n.substr(1)}r.setTo=function(e){var t=r.getType(e);return"element"===t&&(e=[e]),"jquery"===t&&(e=e.get()),"nodelist"===t&&(e=[].slice.call(e)),function(){var t=r.apply(null,arguments);r.each(e,(function(e){e.className=t}))}},r.each=function(e,t){var n=r.getType(e);if("array"===n)for(var i=0;i1?"element":t},r.extend=function(e,t){var n={},i=[e,t];return r.each(i,(function(e){r.each(e,(function(t,r){e.hasOwnProperty(r)&&(n[r]=t)}))})),n},e.exports&&(e.exports=r)},,,function(e,t,n){"use strict";(function(t){var r=n(20),i=n(124),o=n(57),a={"Content-Type":"application/x-www-form-urlencoded"};function s(e,t){!r.isUndefined(e)&&r.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}var l={transitional:{silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},adapter:function(){var e;return("undefined"!==typeof XMLHttpRequest||"undefined"!==typeof t&&"[object process]"===Object.prototype.toString.call(t))&&(e=n(58)),e}(),transformRequest:[function(e,t){return i(t,"Accept"),i(t,"Content-Type"),r.isFormData(e)||r.isArrayBuffer(e)||r.isBuffer(e)||r.isStream(e)||r.isFile(e)||r.isBlob(e)?e:r.isArrayBufferView(e)?e.buffer:r.isURLSearchParams(e)?(s(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):r.isObject(e)||t&&"application/json"===t["Content-Type"]?(s(t,"application/json"),function(e,t,n){if(r.isString(e))try{return(t||JSON.parse)(e),r.trim(e)}catch(i){if("SyntaxError"!==i.name)throw i}return(n||JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){var t=this.transitional,n=t&&t.silentJSONParsing,i=t&&t.forcedJSONParsing,a=!n&&"json"===this.responseType;if(a||i&&r.isString(e)&&e.length)try{return JSON.parse(e)}catch(s){if(a){if("SyntaxError"===s.name)throw o(s,this,"E_JSON_PARSE");throw s}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};r.forEach(["delete","get","head"],(function(e){l.headers[e]={}})),r.forEach(["post","put","patch"],(function(e){l.headers[e]=r.merge(a)})),e.exports=l}).call(this,n(54))},function(e,t,n){"use strict";var r=Object.prototype.hasOwnProperty,i=Array.isArray,o=function(){for(var e=[],t=0;t<256;++t)e.push("%"+((t<16?"0":"")+t.toString(16)).toUpperCase());return e}(),a=function(e,t){for(var n=t&&t.plainObjects?Object.create(null):{},r=0;r1;){var t=e.pop(),n=t.obj[t.prop];if(i(n)){for(var r=[],o=0;o=48&&s<=57||s>=65&&s<=90||s>=97&&s<=122?i+=r.charAt(a):s<128?i+=o[s]:s<2048?i+=o[192|s>>6]+o[128|63&s]:s<55296||s>=57344?i+=o[224|s>>12]+o[128|s>>6&63]+o[128|63&s]:(a+=1,s=65536+((1023&s)<<10|1023&r.charCodeAt(a)),i+=o[240|s>>18]+o[128|s>>12&63]+o[128|s>>6&63]+o[128|63&s])}return i},isBuffer:function(e){return!(!e||"object"!==typeof e)&&!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))},isRegExp:function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},maybeMap:function(e,t){if(i(e)){for(var n=[],r=0;r1)for(var n=1;n!?|~^@]/,h=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/;function m(e,t,n){return r=e,i=n,t}function g(e,t){var n,r=e.next();if('"'==r||"'"==r)return t.tokenize=(n=r,function(e,t){var r,i=!1;if(s&&"@"==e.peek()&&e.match(h))return t.tokenize=g,m("jsonld-keyword","meta");for(;null!=(r=e.next())&&(r!=n||i);)i=!i&&"\\"==r;return i||(t.tokenize=g),m("string","string")}),t.tokenize(e,t);if("."==r&&e.match(/^\d[\d_]*(?:[eE][+\-]?[\d_]+)?/))return m("number","number");if("."==r&&e.match(".."))return m("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(r))return m(r);if("="==r&&e.eat(">"))return m("=>","operator");if("0"==r&&e.match(/^(?:x[\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/))return m("number","number");if(/\d/.test(r))return e.match(/^[\d_]*(?:n|(?:\.[\d_]*)?(?:[eE][+\-]?[\d_]+)?)?/),m("number","number");if("/"==r)return e.eat("*")?(t.tokenize=v,v(e,t)):e.eat("/")?(e.skipToEnd(),m("comment","comment")):Je(e,t,1)?(function(e){for(var t,n=!1,r=!1;null!=(t=e.next());){if(!n){if("/"==t&&!r)return;"["==t?r=!0:r&&"]"==t&&(r=!1)}n=!n&&"\\"==t}}(e),e.match(/^\b(([gimyus])(?![gimyus]*\2))+\b/),m("regexp","string-2")):(e.eat("="),m("operator","operator",e.current()));if("`"==r)return t.tokenize=y,y(e,t);if("#"==r&&"!"==e.peek())return e.skipToEnd(),m("meta","meta");if("#"==r&&e.eatWhile(f))return m("variable","property");if("<"==r&&e.match("!--")||"-"==r&&e.match("->")&&!/\S/.test(e.string.slice(0,e.start)))return e.skipToEnd(),m("comment","comment");if(p.test(r))return">"==r&&t.lexical&&">"==t.lexical.type||(e.eat("=")?"!"!=r&&"="!=r||e.eat("="):/[<>*+\-|&?]/.test(r)&&(e.eat(r),">"==r&&e.eat(r))),"?"==r&&e.eat(".")?m("."):m("operator","operator",e.current());if(f.test(r)){e.eatWhile(f);var i=e.current();if("."!=t.lastType){if(d.propertyIsEnumerable(i)){var o=d[i];return m(o.type,o.style,i)}if("async"==i&&e.match(/^(\s|\/\*([^*]|\*(?!\/))*?\*\/)*[\[\(\w]/,!1))return m("async","keyword",i)}return m("variable","variable",i)}}function v(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize=g;break}r="*"==n}return m("comment","comment")}function y(e,t){for(var n,r=!1;null!=(n=e.next());){if(!r&&("`"==n||"$"==n&&e.eat("{"))){t.tokenize=g;break}r=!r&&"\\"==n}return m("quasi","string-2",e.current())}function b(e,t){t.fatArrowAt&&(t.fatArrowAt=null);var n=e.string.indexOf("=>",e.start);if(!(n<0)){if(u){var r=/:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(e.string.slice(e.start,n));r&&(n=r.index)}for(var i=0,o=!1,a=n-1;a>=0;--a){var s=e.string.charAt(a),l="([{}])".indexOf(s);if(l>=0&&l<3){if(!i){++a;break}if(0==--i){"("==s&&(o=!0);break}}else if(l>=3&&l<6)++i;else if(f.test(s))o=!0;else if(/["'\/`]/.test(s))for(;;--a){if(0==a)return;if(e.string.charAt(a-1)==s&&"\\"!=e.string.charAt(a-2)){a--;break}}else if(o&&!i){++a;break}}o&&!i&&(t.fatArrowAt=a)}}var w={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,this:!0,import:!0,"jsonld-keyword":!0};function x(e,t,n,r,i,o){this.indented=e,this.column=t,this.type=n,this.prev=i,this.info=o,null!=r&&(this.align=r)}function _(e,t){if(!c)return!1;for(var n=e.localVars;n;n=n.next)if(n.name==t)return!0;for(var r=e.context;r;r=r.prev)for(n=r.vars;n;n=n.next)if(n.name==t)return!0}function k(e,t,n,r,i){var o=e.cc;for(S.state=e,S.stream=i,S.marked=null,S.cc=o,S.style=t,e.lexical.hasOwnProperty("align")||(e.lexical.align=!0);;)if((o.length?o.pop():l?H:F)(n,r)){for(;o.length&&o[o.length-1].lex;)o.pop()();return S.marked?S.marked:"variable"==n&&_(e,r)?"variable-2":t}}var S={state:null,column:null,marked:null,cc:null};function E(){for(var e=arguments.length-1;e>=0;e--)S.cc.push(arguments[e])}function T(){return E.apply(null,arguments),!0}function C(e,t){for(var n=t;n;n=n.next)if(n.name==e)return!0;return!1}function O(e){var t=S.state;if(S.marked="def",c){if(t.context)if("var"==t.lexical.info&&t.context&&t.context.block){var r=function e(t,n){if(n){if(n.block){var r=e(t,n.prev);return r?r==n.prev?n:new N(r,n.vars,!0):null}return C(t,n.vars)?n:new N(n.prev,new L(t,n.vars),!1)}return null}(e,t.context);if(null!=r)return void(t.context=r)}else if(!C(e,t.localVars))return void(t.localVars=new L(e,t.localVars));n.globalVars&&!C(e,t.globalVars)&&(t.globalVars=new L(e,t.globalVars))}}function A(e){return"public"==e||"private"==e||"protected"==e||"abstract"==e||"readonly"==e}function N(e,t,n){this.prev=e,this.vars=t,this.block=n}function L(e,t){this.name=e,this.next=t}var D=new L("this",new L("arguments",null));function M(){S.state.context=new N(S.state.context,S.state.localVars,!1),S.state.localVars=D}function P(){S.state.context=new N(S.state.context,S.state.localVars,!0),S.state.localVars=null}function j(){S.state.localVars=S.state.context.vars,S.state.context=S.state.context.prev}function I(e,t){var n=function(){var n=S.state,r=n.indented;if("stat"==n.lexical.type)r=n.lexical.indented;else for(var i=n.lexical;i&&")"==i.type&&i.align;i=i.prev)r=i.indented;n.lexical=new x(r,S.stream.column(),e,null,n.lexical,t)};return n.lex=!0,n}function R(){var e=S.state;e.lexical.prev&&(")"==e.lexical.type&&(e.indented=e.lexical.indented),e.lexical=e.lexical.prev)}function q(e){return function t(n){return n==e?T():";"==e||"}"==n||")"==n||"]"==n?E():T(t)}}function F(e,t){return"var"==e?T(I("vardef",t),ke,q(";"),R):"keyword a"==e?T(I("form"),U,F,R):"keyword b"==e?T(I("form"),F,R):"keyword d"==e?S.stream.match(/^\s*$/,!1)?T():T(I("stat"),V,q(";"),R):"debugger"==e?T(q(";")):"{"==e?T(I("}"),P,se,R,j):";"==e?T():"if"==e?("else"==S.state.lexical.info&&S.state.cc[S.state.cc.length-1]==R&&S.state.cc.pop()(),T(I("form"),U,F,R,Ae)):"function"==e?T(Me):"for"==e?T(I("form"),P,Ne,F,j,R):"class"==e||u&&"interface"==t?(S.marked="keyword",T(I("form","class"==e?e:t),qe,R)):"variable"==e?u&&"declare"==t?(S.marked="keyword",T(F)):u&&("module"==t||"enum"==t||"type"==t)&&S.stream.match(/^\s*\w/,!1)?(S.marked="keyword","enum"==t?T(Ke):"type"==t?T(je,q("operator"),de,q(";")):T(I("form"),Se,q("{"),I("}"),se,R,R)):u&&"namespace"==t?(S.marked="keyword",T(I("form"),H,F,R)):u&&"abstract"==t?(S.marked="keyword",T(F)):T(I("stat"),ee):"switch"==e?T(I("form"),U,q("{"),I("}","switch"),P,se,R,R,j):"case"==e?T(H,q(":")):"default"==e?T(q(":")):"catch"==e?T(I("form"),M,z,F,R,j):"export"==e?T(I("stat"),Be,R):"import"==e?T(I("stat"),We,R):"async"==e?T(F):"@"==t?T(H,F):E(I("stat"),H,q(";"),R)}function z(e){if("("==e)return T(Ie,q(")"))}function H(e,t){return W(e,t,!1)}function B(e,t){return W(e,t,!0)}function U(e){return"("!=e?E():T(I(")"),V,q(")"),R)}function W(e,t,n){if(S.state.fatArrowAt==S.stream.start){var r=n?Q:K;if("("==e)return T(M,I(")"),oe(Ie,")"),R,q("=>"),r,j);if("variable"==e)return E(M,Se,q("=>"),r,j)}var i=n?$:Y;return w.hasOwnProperty(e)?T(i):"function"==e?T(Me,i):"class"==e||u&&"interface"==t?(S.marked="keyword",T(I("form"),Re,R)):"keyword c"==e||"async"==e?T(n?B:H):"("==e?T(I(")"),V,q(")"),R,i):"operator"==e||"spread"==e?T(n?B:H):"["==e?T(I("]"),Ge,R,i):"{"==e?ae(ne,"}",null,i):"quasi"==e?E(X,i):"new"==e?T(function(e){return function(t){return"."==t?T(e?Z:J):"variable"==t&&u?T(we,e?$:Y):E(e?B:H)}}(n)):T()}function V(e){return e.match(/[;\}\)\],]/)?E():E(H)}function Y(e,t){return","==e?T(V):$(e,t,!1)}function $(e,t,n){var r=0==n?Y:$,i=0==n?H:B;return"=>"==e?T(M,n?Q:K,j):"operator"==e?/\+\+|--/.test(t)||u&&"!"==t?T(r):u&&"<"==t&&S.stream.match(/^([^<>]|<[^<>]*>)*>\s*\(/,!1)?T(I(">"),oe(de,">"),R,r):"?"==t?T(H,q(":"),i):T(i):"quasi"==e?E(X,r):";"!=e?"("==e?ae(B,")","call",r):"."==e?T(te,r):"["==e?T(I("]"),V,q("]"),R,r):u&&"as"==t?(S.marked="keyword",T(de,r)):"regexp"==e?(S.state.lastType=S.marked="operator",S.stream.backUp(S.stream.pos-S.stream.start-1),T(i)):void 0:void 0}function X(e,t){return"quasi"!=e?E():"${"!=t.slice(t.length-2)?T(X):T(V,G)}function G(e){if("}"==e)return S.marked="string-2",S.state.tokenize=y,T(X)}function K(e){return b(S.stream,S.state),E("{"==e?F:H)}function Q(e){return b(S.stream,S.state),E("{"==e?F:B)}function J(e,t){if("target"==t)return S.marked="keyword",T(Y)}function Z(e,t){if("target"==t)return S.marked="keyword",T($)}function ee(e){return":"==e?T(R,F):E(Y,q(";"),R)}function te(e){if("variable"==e)return S.marked="property",T()}function ne(e,t){return"async"==e?(S.marked="property",T(ne)):"variable"==e||"keyword"==S.style?(S.marked="property","get"==t||"set"==t?T(re):(u&&S.state.fatArrowAt==S.stream.start&&(n=S.stream.match(/^\s*:\s*/,!1))&&(S.state.fatArrowAt=S.stream.pos+n[0].length),T(ie))):"number"==e||"string"==e?(S.marked=s?"property":S.style+" property",T(ie)):"jsonld-keyword"==e?T(ie):u&&A(t)?(S.marked="keyword",T(ne)):"["==e?T(H,le,q("]"),ie):"spread"==e?T(B,ie):"*"==t?(S.marked="keyword",T(ne)):":"==e?E(ie):void 0;var n}function re(e){return"variable"!=e?E(ie):(S.marked="property",T(Me))}function ie(e){return":"==e?T(B):"("==e?E(Me):void 0}function oe(e,t,n){function r(i,o){if(n?n.indexOf(i)>-1:","==i){var a=S.state.lexical;return"call"==a.info&&(a.pos=(a.pos||0)+1),T((function(n,r){return n==t||r==t?E():E(e)}),r)}return i==t||o==t?T():n&&n.indexOf(";")>-1?E(e):T(q(t))}return function(n,i){return n==t||i==t?T():E(e,r)}}function ae(e,t,n){for(var r=3;r"),de):"quasi"==e?E(ge,be):void 0}function pe(e){if("=>"==e)return T(de)}function he(e){return e.match(/[\}\)\]]/)?T():","==e||";"==e?T(he):E(me,he)}function me(e,t){return"variable"==e||"keyword"==S.style?(S.marked="property",T(me)):"?"==t||"number"==e||"string"==e?T(me):":"==e?T(de):"["==e?T(q("variable"),ce,q("]"),me):"("==e?E(Pe,me):e.match(/[;\}\)\],]/)?void 0:T()}function ge(e,t){return"quasi"!=e?E():"${"!=t.slice(t.length-2)?T(ge):T(de,ve)}function ve(e){if("}"==e)return S.marked="string-2",S.state.tokenize=y,T(ge)}function ye(e,t){return"variable"==e&&S.stream.match(/^\s*[?:]/,!1)||"?"==t?T(ye):":"==e?T(de):"spread"==e?T(ye):E(de)}function be(e,t){return"<"==t?T(I(">"),oe(de,">"),R,be):"|"==t||"."==e||"&"==t?T(de):"["==e?T(de,q("]"),be):"extends"==t||"implements"==t?(S.marked="keyword",T(de)):"?"==t?T(de,q(":"),de):void 0}function we(e,t){if("<"==t)return T(I(">"),oe(de,">"),R,be)}function xe(){return E(de,_e)}function _e(e,t){if("="==t)return T(de)}function ke(e,t){return"enum"==t?(S.marked="keyword",T(Ke)):E(Se,le,Ce,Oe)}function Se(e,t){return u&&A(t)?(S.marked="keyword",T(Se)):"variable"==e?(O(t),T()):"spread"==e?T(Se):"["==e?ae(Te,"]"):"{"==e?ae(Ee,"}"):void 0}function Ee(e,t){return"variable"!=e||S.stream.match(/^\s*:/,!1)?("variable"==e&&(S.marked="property"),"spread"==e?T(Se):"}"==e?E():"["==e?T(H,q("]"),q(":"),Ee):T(q(":"),Se,Ce)):(O(t),T(Ce))}function Te(){return E(Se,Ce)}function Ce(e,t){if("="==t)return T(B)}function Oe(e){if(","==e)return T(ke)}function Ae(e,t){if("keyword b"==e&&"else"==t)return T(I("form","else"),F,R)}function Ne(e,t){return"await"==t?T(Ne):"("==e?T(I(")"),Le,R):void 0}function Le(e){return"var"==e?T(ke,De):"variable"==e?T(De):E(De)}function De(e,t){return")"==e?T():";"==e?T(De):"in"==t||"of"==t?(S.marked="keyword",T(H,De)):E(H,De)}function Me(e,t){return"*"==t?(S.marked="keyword",T(Me)):"variable"==e?(O(t),T(Me)):"("==e?T(M,I(")"),oe(Ie,")"),R,ue,F,j):u&&"<"==t?T(I(">"),oe(xe,">"),R,Me):void 0}function Pe(e,t){return"*"==t?(S.marked="keyword",T(Pe)):"variable"==e?(O(t),T(Pe)):"("==e?T(M,I(")"),oe(Ie,")"),R,ue,j):u&&"<"==t?T(I(">"),oe(xe,">"),R,Pe):void 0}function je(e,t){return"keyword"==e||"variable"==e?(S.marked="type",T(je)):"<"==t?T(I(">"),oe(xe,">"),R):void 0}function Ie(e,t){return"@"==t&&T(H,Ie),"spread"==e?T(Ie):u&&A(t)?(S.marked="keyword",T(Ie)):u&&"this"==e?T(le,Ce):E(Se,le,Ce)}function Re(e,t){return"variable"==e?qe(e,t):Fe(e,t)}function qe(e,t){if("variable"==e)return O(t),T(Fe)}function Fe(e,t){return"<"==t?T(I(">"),oe(xe,">"),R,Fe):"extends"==t||"implements"==t||u&&","==e?("implements"==t&&(S.marked="keyword"),T(u?de:H,Fe)):"{"==e?T(I("}"),ze,R):void 0}function ze(e,t){return"async"==e||"variable"==e&&("static"==t||"get"==t||"set"==t||u&&A(t))&&S.stream.match(/^\s+[\w$\xa1-\uffff]/,!1)?(S.marked="keyword",T(ze)):"variable"==e||"keyword"==S.style?(S.marked="property",T(He,ze)):"number"==e||"string"==e?T(He,ze):"["==e?T(H,le,q("]"),He,ze):"*"==t?(S.marked="keyword",T(ze)):u&&"("==e?E(Pe,ze):";"==e||","==e?T(ze):"}"==e?T():"@"==t?T(H,ze):void 0}function He(e,t){if("!"==t)return T(He);if("?"==t)return T(He);if(":"==e)return T(de,Ce);if("="==t)return T(B);var n=S.state.lexical.prev;return E(n&&"interface"==n.info?Pe:Me)}function Be(e,t){return"*"==t?(S.marked="keyword",T(Xe,q(";"))):"default"==t?(S.marked="keyword",T(H,q(";"))):"{"==e?T(oe(Ue,"}"),Xe,q(";")):E(F)}function Ue(e,t){return"as"==t?(S.marked="keyword",T(q("variable"))):"variable"==e?E(B,Ue):void 0}function We(e){return"string"==e?T():"("==e?E(H):"."==e?E(Y):E(Ve,Ye,Xe)}function Ve(e,t){return"{"==e?ae(Ve,"}"):("variable"==e&&O(t),"*"==t&&(S.marked="keyword"),T($e))}function Ye(e){if(","==e)return T(Ve,Ye)}function $e(e,t){if("as"==t)return S.marked="keyword",T(Ve)}function Xe(e,t){if("from"==t)return S.marked="keyword",T(H)}function Ge(e){return"]"==e?T():E(oe(B,"]"))}function Ke(){return E(I("form"),Se,q("{"),I("}"),oe(Qe,"}"),R,R)}function Qe(){return E(Se,Ce)}function Je(e,t,n){return t.tokenize==g&&/^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(t.lastType)||"quasi"==t.lastType&&/\{\s*$/.test(e.string.slice(0,e.pos-(n||0)))}return j.lex=!0,R.lex=!0,{startState:function(e){var t={tokenize:g,lastType:"sof",cc:[],lexical:new x((e||0)-o,0,"block",!1),localVars:n.localVars,context:n.localVars&&new N(null,null,!1),indented:e||0};return n.globalVars&&"object"==typeof n.globalVars&&(t.globalVars=n.globalVars),t},token:function(e,t){if(e.sol()&&(t.lexical.hasOwnProperty("align")||(t.lexical.align=!1),t.indented=e.indentation(),b(e,t)),t.tokenize!=v&&e.eatSpace())return null;var n=t.tokenize(e,t);return"comment"==r?n:(t.lastType="operator"!=r||"++"!=i&&"--"!=i?r:"incdec",k(t,n,r,i,e))},indent:function(t,r){if(t.tokenize==v||t.tokenize==y)return e.Pass;if(t.tokenize!=g)return 0;var i,s=r&&r.charAt(0),l=t.lexical;if(!/^\s*else\b/.test(r))for(var c=t.cc.length-1;c>=0;--c){var u=t.cc[c];if(u==R)l=l.prev;else if(u!=Ae&&u!=j)break}for(;("stat"==l.type||"form"==l.type)&&("}"==s||(i=t.cc[t.cc.length-1])&&(i==Y||i==$)&&!/^[,\.=+\-*:?[\(]/.test(r));)l=l.prev;a&&")"==l.type&&"stat"==l.prev.type&&(l=l.prev);var f=l.type,d=s==f;return"vardef"==f?l.indented+("operator"==t.lastType||","==t.lastType?l.info.length+1:0):"form"==f&&"{"==s?l.indented:"form"==f?l.indented+o:"stat"==f?l.indented+(function(e,t){return"operator"==e.lastType||","==e.lastType||p.test(t.charAt(0))||/[,.]/.test(t.charAt(0))}(t,r)?a||o:0):"switch"!=l.info||d||0==n.doubleIndentSwitch?l.align?l.column+(d?0:1):l.indented+(d?0:o):l.indented+(/^(?:case|default)\b/.test(r)?o:2*o)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:l?null:"/*",blockCommentEnd:l?null:"*/",blockCommentContinue:l?null:" * ",lineComment:l?null:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``",helperType:l?"json":"javascript",jsonldMode:s,jsonMode:l,expressionAllowed:Je,skipExpression:function(t){k(t,"atom","atom","true",new e.StringStream("",2,null))}}})),e.registerHelper("wordChars","javascript",/[\w$]/),e.defineMIME("text/javascript","javascript"),e.defineMIME("text/ecmascript","javascript"),e.defineMIME("application/javascript","javascript"),e.defineMIME("application/x-javascript","javascript"),e.defineMIME("application/ecmascript","javascript"),e.defineMIME("application/json",{name:"javascript",json:!0}),e.defineMIME("application/x-json",{name:"javascript",json:!0}),e.defineMIME("application/manifest+json",{name:"javascript",json:!0}),e.defineMIME("application/ld+json",{name:"javascript",jsonld:!0}),e.defineMIME("text/typescript",{name:"javascript",typescript:!0}),e.defineMIME("application/typescript",{name:"javascript",typescript:!0})}(n(29))},function(e,t,n){!function(e){"use strict";var t={autoSelfClosers:{area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},implicitlyClosed:{dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},contextGrabbers:{dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}},doNotIndent:{pre:!0},allowUnquoted:!0,allowMissing:!0,caseFold:!0},n={autoSelfClosers:{},implicitlyClosed:{},contextGrabbers:{},doNotIndent:{},allowUnquoted:!1,allowMissing:!1,allowMissingTagName:!1,caseFold:!1};e.defineMode("xml",(function(r,i){var o,a,s=r.indentUnit,l={},c=i.htmlMode?t:n;for(var u in c)l[u]=c[u];for(var u in i)l[u]=i[u];function f(e,t){function n(n){return t.tokenize=n,n(e,t)}var r=e.next();return"<"==r?e.eat("!")?e.eat("[")?e.match("CDATA[")?n(p("atom","]]>")):null:e.match("--")?n(p("comment","--\x3e")):e.match("DOCTYPE",!0,!0)?(e.eatWhile(/[\w\._\-]/),n(function e(t){return function(n,r){for(var i;null!=(i=n.next());){if("<"==i)return r.tokenize=e(t+1),r.tokenize(n,r);if(">"==i){if(1==t){r.tokenize=f;break}return r.tokenize=e(t-1),r.tokenize(n,r)}}return"meta"}}(1))):null:e.eat("?")?(e.eatWhile(/[\w\._\-]/),t.tokenize=p("meta","?>"),"meta"):(o=e.eat("/")?"closeTag":"openTag",t.tokenize=d,"tag bracket"):"&"==r?(e.eat("#")?e.eat("x")?e.eatWhile(/[a-fA-F\d]/)&&e.eat(";"):e.eatWhile(/[\d]/)&&e.eat(";"):e.eatWhile(/[\w\.\-:]/)&&e.eat(";"))?"atom":"error":(e.eatWhile(/[^&<]/),null)}function d(e,t){var n=e.next();if(">"==n||"/"==n&&e.eat(">"))return t.tokenize=f,o=">"==n?"endTag":"selfcloseTag","tag bracket";if("="==n)return o="equals",null;if("<"==n){t.tokenize=f,t.state=v,t.tagName=t.tagStart=null;var r=t.tokenize(e,t);return r?r+" tag error":"tag error"}return/[\'\"]/.test(n)?(t.tokenize=function(e){var t=function(t,n){for(;!t.eol();)if(t.next()==e){n.tokenize=d;break}return"string"};return t.isInAttribute=!0,t}(n),t.stringStartCol=e.column(),t.tokenize(e,t)):(e.match(/^[^\s\u00a0=<>\"\']*[^\s\u00a0=<>\"\'\/]/),"word")}function p(e,t){return function(n,r){for(;!n.eol();){if(n.match(t)){r.tokenize=f;break}n.next()}return e}}function h(e,t,n){this.prev=e.context,this.tagName=t||"",this.indent=e.indented,this.startOfLine=n,(l.doNotIndent.hasOwnProperty(t)||e.context&&e.context.noIndent)&&(this.noIndent=!0)}function m(e){e.context&&(e.context=e.context.prev)}function g(e,t){for(var n;;){if(!e.context)return;if(n=e.context.tagName,!l.contextGrabbers.hasOwnProperty(n)||!l.contextGrabbers[n].hasOwnProperty(t))return;m(e)}}function v(e,t,n){return"openTag"==e?(n.tagStart=t.column(),y):"closeTag"==e?b:v}function y(e,t,n){return"word"==e?(n.tagName=t.current(),a="tag",_):l.allowMissingTagName&&"endTag"==e?(a="tag bracket",_(e,0,n)):(a="error",y)}function b(e,t,n){if("word"==e){var r=t.current();return n.context&&n.context.tagName!=r&&l.implicitlyClosed.hasOwnProperty(n.context.tagName)&&m(n),n.context&&n.context.tagName==r||!1===l.matchClosing?(a="tag",w):(a="tag error",x)}return l.allowMissingTagName&&"endTag"==e?(a="tag bracket",w(e,0,n)):(a="error",x)}function w(e,t,n){return"endTag"!=e?(a="error",w):(m(n),v)}function x(e,t,n){return a="error",w(e,0,n)}function _(e,t,n){if("word"==e)return a="attribute",k;if("endTag"==e||"selfcloseTag"==e){var r=n.tagName,i=n.tagStart;return n.tagName=n.tagStart=null,"selfcloseTag"==e||l.autoSelfClosers.hasOwnProperty(r)?g(n,r):(g(n,r),n.context=new h(n,r,i==n.indented)),v}return a="error",_}function k(e,t,n){return"equals"==e?S:(l.allowMissing||(a="error"),_(e,0,n))}function S(e,t,n){return"string"==e?E:"word"==e&&l.allowUnquoted?(a="string",_):(a="error",_(e,0,n))}function E(e,t,n){return"string"==e?E:_(e,0,n)}return f.isInText=!0,{startState:function(e){var t={tokenize:f,state:v,indented:e||0,tagName:null,tagStart:null,context:null};return null!=e&&(t.baseIndent=e),t},token:function(e,t){if(!t.tagName&&e.sol()&&(t.indented=e.indentation()),e.eatSpace())return null;o=null;var n=t.tokenize(e,t);return(n||o)&&"comment"!=n&&(a=null,t.state=t.state(o||n,e,t),a&&(n="error"==a?n+" error":a)),n},indent:function(t,n,r){var i=t.context;if(t.tokenize.isInAttribute)return t.tagStart==t.indented?t.stringStartCol+1:t.indented+s;if(i&&i.noIndent)return e.Pass;if(t.tokenize!=d&&t.tokenize!=f)return r?r.match(/^(\s*)/)[0].length:0;if(t.tagName)return!1!==l.multilineTagIndentPastTag?t.tagStart+t.tagName.length+2:t.tagStart+s*(l.multilineTagIndentFactor||1);if(l.alignCDATA&&/$/,blockCommentStart:"\x3c!--",blockCommentEnd:"--\x3e",configuration:l.htmlMode?"html":"xml",helperType:l.htmlMode?"html":"xml",skipAttribute:function(e){e.state==S&&(e.state=_)},xmlCurrentTag:function(e){return e.tagName?{name:e.tagName,close:"closeTag"==e.type}:null},xmlCurrentContext:function(e){for(var t=[],n=e.context;n;n=n.prev)t.push(n.tagName);return t.reverse()}}})),e.defineMIME("text/xml","xml"),e.defineMIME("application/xml","xml"),e.mimeModes.hasOwnProperty("text/html")||e.defineMIME("text/html",{name:"xml",htmlMode:!0})}(n(29))},function(e,t,n){!function(e){"use strict";var t={script:[["lang",/(javascript|babel)/i,"javascript"],["type",/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i,"javascript"],["type",/./,"text/plain"],[null,null,"javascript"]],style:[["lang",/^css$/i,"css"],["type",/^(text\/)?(x-)?(stylesheet|css)$/i,"css"],["type",/./,"text/plain"],[null,null,"css"]]},n={};function r(e,t){var r=e.match(function(e){var t=n[e];return t||(n[e]=new RegExp("\\s+"+e+"\\s*=\\s*('|\")?([^'\"]+)('|\")?\\s*"))}(t));return r?/^\s*(.*?)\s*$/.exec(r[2])[1]:""}function i(e,t){return new RegExp((t?"^":"")+"","i")}function o(e,t){for(var n in e)for(var r=t[n]||(t[n]=[]),i=e[n],o=i.length-1;o>=0;o--)r.unshift(i[o])}e.defineMode("htmlmixed",(function(n,a){var s=e.getMode(n,{name:"xml",htmlMode:!0,multilineTagIndentFactor:a.multilineTagIndentFactor,multilineTagIndentPastTag:a.multilineTagIndentPastTag,allowMissingTagName:a.allowMissingTagName}),l={},c=a&&a.tags,u=a&&a.scriptTypes;if(o(t,l),c&&o(c,l),u)for(var f=u.length-1;f>=0;f--)l.script.unshift(["type",u[f].matches,u[f].mode]);function d(t,o){var a,c=s.token(t,o.htmlState),u=/\btag\b/.test(c);if(u&&!/[<>\s\/]/.test(t.current())&&(a=o.htmlState.tagName&&o.htmlState.tagName.toLowerCase())&&l.hasOwnProperty(a))o.inTag=a+" ";else if(o.inTag&&u&&/>$/.test(t.current())){var f=/^([\S]+) (.*)/.exec(o.inTag);o.inTag=null;var p=">"==t.current()&&function(e,t){for(var n=0;n-1?e.backUp(r.length-i):r.match(/<\/?$/)&&(e.backUp(r.length),e.match(t,!1)||e.match(r)),n}(e,g,t.localMode.token(e,t.localState))},o.localMode=h,o.localState=e.startState(h,s.indent(o.htmlState,"",""))}else o.inTag&&(o.inTag+=t.current(),t.eol()&&(o.inTag+=" "));return c}return{startState:function(){return{token:d,inTag:null,localMode:null,localState:null,htmlState:e.startState(s)}},copyState:function(t){var n;return t.localState&&(n=e.copyState(t.localMode,t.localState)),{token:t.token,inTag:t.inTag,localMode:t.localMode,localState:n,htmlState:e.copyState(s,t.htmlState)}},token:function(e,t){return t.token(e,t)},indent:function(t,n,r){return!t.localMode||/^\s*<\//.test(n)?s.indent(t.htmlState,n,r):t.localMode.indent?t.localMode.indent(t.localState,n,r):e.Pass},innerMode:function(e){return{state:e.localState||e.htmlState,mode:e.localMode||s}}}}),"xml","javascript","css"),e.defineMIME("text/html","htmlmixed")}(n(29),n(67),n(66),n(69))},function(e,t,n){!function(e){"use strict";function t(e){for(var t={},n=0;n*\/]/.test(n)?_(null,"select-op"):"."==n&&e.match(/^-?[_a-z][_a-z0-9-]*/i)?_("qualifier","qualifier"):/[:;{}\[\]\(\)]/.test(n)?_(null,n):e.match(/^[\w-.]+(?=\()/)?(/^(url(-prefix)?|domain|regexp)$/i.test(e.current())&&(t.tokenize=E),_("variable callee","variable")):/[\w\\\-]/.test(n)?(e.eatWhile(/[\w\\\-]/),_("property","word")):_(null,null):/[\d.]/.test(e.peek())?(e.eatWhile(/[\w.%]/),_("number","unit")):e.match(/^-[\w\\\-]*/)?(e.eatWhile(/[\w\\\-]/),e.match(/^\s*:/,!1)?_("variable-2","variable-definition"):_("variable-2","variable")):e.match(/^\w+-/)?_("meta","meta"):void 0}function S(e){return function(t,n){for(var r,i=!1;null!=(r=t.next());){if(r==e&&!i){")"==e&&t.backUp(1);break}i=!i&&"\\"==r}return(r==e||!i&&")"!=e)&&(n.tokenize=null),_("string","string")}}function E(e,t){return e.next(),e.match(/^\s*[\"\')]/,!1)?t.tokenize=null:t.tokenize=S(")"),_(null,"(")}function T(e,t,n){this.type=e,this.indent=t,this.prev=n}function C(e,t,n,r){return e.context=new T(n,t.indentation()+(!1===r?0:a),e.context),n}function O(e){return e.context.prev&&(e.context=e.context.prev),e.context.type}function A(e,t,n){return D[n.context.type](e,t,n)}function N(e,t,n,r){for(var i=r||1;i>0;i--)n.context=n.context.prev;return A(e,t,n)}function L(e){var t=e.current().toLowerCase();o=v.hasOwnProperty(t)?"atom":g.hasOwnProperty(t)?"keyword":"variable"}var D={top:function(e,t,n){if("{"==e)return C(n,t,"block");if("}"==e&&n.context.prev)return O(n);if(w&&/@component/i.test(e))return C(n,t,"atComponentBlock");if(/^@(-moz-)?document$/i.test(e))return C(n,t,"documentTypes");if(/^@(media|supports|(-moz-)?document|import)$/i.test(e))return C(n,t,"atBlock");if(/^@(font-face|counter-style)/i.test(e))return n.stateArg=e,"restricted_atBlock_before";if(/^@(-(moz|ms|o|webkit)-)?keyframes$/i.test(e))return"keyframes";if(e&&"@"==e.charAt(0))return C(n,t,"at");if("hash"==e)o="builtin";else if("word"==e)o="tag";else{if("variable-definition"==e)return"maybeprop";if("interpolation"==e)return C(n,t,"interpolation");if(":"==e)return"pseudo";if(y&&"("==e)return C(n,t,"parens")}return n.context.type},block:function(e,t,n){if("word"==e){var r=t.current().toLowerCase();return d.hasOwnProperty(r)?(o="property","maybeprop"):p.hasOwnProperty(r)?(o=x?"string-2":"property","maybeprop"):y?(o=t.match(/^\s*:(?:\s|$)/,!1)?"property":"tag","block"):(o+=" error","maybeprop")}return"meta"==e?"block":y||"hash"!=e&&"qualifier"!=e?D.top(e,t,n):(o="error","block")},maybeprop:function(e,t,n){return":"==e?C(n,t,"prop"):A(e,t,n)},prop:function(e,t,n){if(";"==e)return O(n);if("{"==e&&y)return C(n,t,"propBlock");if("}"==e||"{"==e)return N(e,t,n);if("("==e)return C(n,t,"parens");if("hash"!=e||/^#([0-9a-fA-f]{3,4}|[0-9a-fA-f]{6}|[0-9a-fA-f]{8})$/.test(t.current())){if("word"==e)L(t);else if("interpolation"==e)return C(n,t,"interpolation")}else o+=" error";return"prop"},propBlock:function(e,t,n){return"}"==e?O(n):"word"==e?(o="property","maybeprop"):n.context.type},parens:function(e,t,n){return"{"==e||"}"==e?N(e,t,n):")"==e?O(n):"("==e?C(n,t,"parens"):"interpolation"==e?C(n,t,"interpolation"):("word"==e&&L(t),"parens")},pseudo:function(e,t,n){return"meta"==e?"pseudo":"word"==e?(o="variable-3",n.context.type):A(e,t,n)},documentTypes:function(e,t,n){return"word"==e&&l.hasOwnProperty(t.current())?(o="tag",n.context.type):D.atBlock(e,t,n)},atBlock:function(e,t,n){if("("==e)return C(n,t,"atBlock_parens");if("}"==e||";"==e)return N(e,t,n);if("{"==e)return O(n)&&C(n,t,y?"block":"top");if("interpolation"==e)return C(n,t,"interpolation");if("word"==e){var r=t.current().toLowerCase();o="only"==r||"not"==r||"and"==r||"or"==r?"keyword":c.hasOwnProperty(r)?"attribute":u.hasOwnProperty(r)?"property":f.hasOwnProperty(r)?"keyword":d.hasOwnProperty(r)?"property":p.hasOwnProperty(r)?x?"string-2":"property":v.hasOwnProperty(r)?"atom":g.hasOwnProperty(r)?"keyword":"error"}return n.context.type},atComponentBlock:function(e,t,n){return"}"==e?N(e,t,n):"{"==e?O(n)&&C(n,t,y?"block":"top",!1):("word"==e&&(o="error"),n.context.type)},atBlock_parens:function(e,t,n){return")"==e?O(n):"{"==e||"}"==e?N(e,t,n,2):D.atBlock(e,t,n)},restricted_atBlock_before:function(e,t,n){return"{"==e?C(n,t,"restricted_atBlock"):"word"==e&&"@counter-style"==n.stateArg?(o="variable","restricted_atBlock_before"):A(e,t,n)},restricted_atBlock:function(e,t,n){return"}"==e?(n.stateArg=null,O(n)):"word"==e?(o="@font-face"==n.stateArg&&!h.hasOwnProperty(t.current().toLowerCase())||"@counter-style"==n.stateArg&&!m.hasOwnProperty(t.current().toLowerCase())?"error":"property","maybeprop"):"restricted_atBlock"},keyframes:function(e,t,n){return"word"==e?(o="variable","keyframes"):"{"==e?C(n,t,"top"):A(e,t,n)},at:function(e,t,n){return";"==e?O(n):"{"==e||"}"==e?N(e,t,n):("word"==e?o="tag":"hash"==e&&(o="builtin"),"at")},interpolation:function(e,t,n){return"}"==e?O(n):"{"==e||";"==e?N(e,t,n):("word"==e?o="variable":"variable"!=e&&"("!=e&&")"!=e&&(o="error"),"interpolation")}};return{startState:function(e){return{tokenize:null,state:r?"block":"top",stateArg:null,context:new T(r?"block":"top",e||0,null)}},token:function(e,t){if(!t.tokenize&&e.eatSpace())return null;var n=(t.tokenize||k)(e,t);return n&&"object"==typeof n&&(i=n[1],n=n[0]),o=n,"comment"!=i&&(t.state=D[t.state](i,e,t)),o},indent:function(e,t){var n=e.context,r=t&&t.charAt(0),i=n.indent;return"prop"!=n.type||"}"!=r&&")"!=r||(n=n.prev),n.prev&&("}"!=r||"block"!=n.type&&"top"!=n.type&&"interpolation"!=n.type&&"restricted_atBlock"!=n.type?(")"!=r||"parens"!=n.type&&"atBlock_parens"!=n.type)&&("{"!=r||"at"!=n.type&&"atBlock"!=n.type)||(i=Math.max(0,n.indent-a)):i=(n=n.prev).indent),i},electricChars:"}",blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:b,fold:"brace"}}));var n=["domain","regexp","url","url-prefix"],r=t(n),i=["all","aural","braille","handheld","print","projection","screen","tty","tv","embossed"],o=t(i),a=["width","min-width","max-width","height","min-height","max-height","device-width","min-device-width","max-device-width","device-height","min-device-height","max-device-height","aspect-ratio","min-aspect-ratio","max-aspect-ratio","device-aspect-ratio","min-device-aspect-ratio","max-device-aspect-ratio","color","min-color","max-color","color-index","min-color-index","max-color-index","monochrome","min-monochrome","max-monochrome","resolution","min-resolution","max-resolution","scan","grid","orientation","device-pixel-ratio","min-device-pixel-ratio","max-device-pixel-ratio","pointer","any-pointer","hover","any-hover","prefers-color-scheme"],s=t(a),l=["landscape","portrait","none","coarse","fine","on-demand","hover","interlace","progressive","dark","light"],c=t(l),u=["align-content","align-items","align-self","alignment-adjust","alignment-baseline","all","anchor-point","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","azimuth","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","binding","bleed","block-size","bookmark-label","bookmark-level","bookmark-state","bookmark-target","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","color","color-profile","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","counter-increment","counter-reset","crop","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","drop-initial-after-adjust","drop-initial-after-align","drop-initial-before-adjust","drop-initial-before-align","drop-initial-size","drop-initial-value","elevation","empty-cells","fit","fit-content","fit-position","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","float-offset","flow-from","flow-into","font","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-gap","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-gap","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","inline-box-align","inset","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","left","letter-spacing","line-break","line-height","line-height-step","line-stacking","line-stacking-ruby","line-stacking-shift","line-stacking-strategy","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marks","marquee-direction","marquee-loop","marquee-play-count","marquee-speed","marquee-style","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","move-to","nav-down","nav-index","nav-left","nav-right","nav-up","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-style","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","page-policy","pause","pause-after","pause-before","perspective","perspective-origin","pitch","pitch-range","place-content","place-items","place-self","play-during","position","presentation-level","punctuation-trim","quotes","region-break-after","region-break-before","region-break-inside","region-fragment","rendering-intent","resize","rest","rest-after","rest-before","richness","right","rotate","rotation","rotation-point","row-gap","ruby-align","ruby-overhang","ruby-position","ruby-span","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-type","shape-image-threshold","shape-inside","shape-margin","shape-outside","size","speak","speak-as","speak-header","speak-numeral","speak-punctuation","speech-rate","stress","string-set","tab-size","table-layout","target","target-name","target-new","target-position","text-align","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-height","text-indent","text-justify","text-orientation","text-outline","text-overflow","text-rendering","text-shadow","text-size-adjust","text-space-collapse","text-transform","text-underline-position","text-wrap","top","touch-action","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-select","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index","clip-path","clip-rule","mask","enable-background","filter","flood-color","flood-opacity","lighting-color","stop-color","stop-opacity","pointer-events","color-interpolation","color-interpolation-filters","color-rendering","fill","fill-opacity","fill-rule","image-rendering","marker","marker-end","marker-mid","marker-start","paint-order","shape-rendering","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-rendering","baseline-shift","dominant-baseline","glyph-orientation-horizontal","glyph-orientation-vertical","text-anchor","writing-mode"],f=t(u),d=["accent-color","aspect-ratio","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","content-visibility","margin-block","margin-block-end","margin-block-start","margin-inline","margin-inline-end","margin-inline-start","overflow-anchor","overscroll-behavior","padding-block","padding-block-end","padding-block-start","padding-inline","padding-inline-end","padding-inline-start","scroll-snap-stop","scrollbar-3d-light-color","scrollbar-arrow-color","scrollbar-base-color","scrollbar-dark-shadow-color","scrollbar-face-color","scrollbar-highlight-color","scrollbar-shadow-color","scrollbar-track-color","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","shape-inside","zoom"],p=t(d),h=t(["font-display","font-family","src","unicode-range","font-variant","font-feature-settings","font-stretch","font-weight","font-style"]),m=t(["additive-symbols","fallback","negative","pad","prefix","range","speak-as","suffix","symbols","system"]),g=["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"],v=t(g),y=["above","absolute","activeborder","additive","activecaption","afar","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","amharic","amharic-abegede","antialiased","appworkspace","arabic-indic","armenian","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","binary","bengali","blink","block","block-axis","blur","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","brightness","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","cambodian","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","cjk-earthly-branch","cjk-heavenly-stem","cjk-ideographic","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","contrast","copy","counter","counters","cover","crop","cross","crosshair","cubic-bezier","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","devanagari","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","drop-shadow","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic","ethiopic-abegede","ethiopic-abegede-am-et","ethiopic-abegede-gez","ethiopic-abegede-ti-er","ethiopic-abegede-ti-et","ethiopic-halehame-aa-er","ethiopic-halehame-aa-et","ethiopic-halehame-am-et","ethiopic-halehame-gez","ethiopic-halehame-om-et","ethiopic-halehame-sid-et","ethiopic-halehame-so-et","ethiopic-halehame-ti-er","ethiopic-halehame-ti-et","ethiopic-halehame-tig","ethiopic-numeric","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","georgian","grayscale","graytext","grid","groove","gujarati","gurmukhi","hand","hangul","hangul-consonant","hard-light","hebrew","help","hidden","hide","higher","highlight","highlighttext","hiragana","hiragana-iroha","horizontal","hsl","hsla","hue","hue-rotate","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","japanese-formal","japanese-informal","justify","kannada","katakana","katakana-iroha","keep-all","khmer","korean-hangul-formal","korean-hanja-formal","korean-hanja-informal","landscape","lao","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-alpha","lower-armenian","lower-greek","lower-hexadecimal","lower-latin","lower-norwegian","lower-roman","lowercase","ltr","luminosity","malayalam","manipulation","match","matrix","matrix3d","media-controls-background","media-current-time-display","media-fullscreen-button","media-mute-button","media-play-button","media-return-to-realtime-button","media-rewind-button","media-seek-back-button","media-seek-forward-button","media-slider","media-sliderthumb","media-time-remaining-display","media-volume-slider","media-volume-slider-container","media-volume-sliderthumb","medium","menu","menulist","menulist-button","menulist-text","menulist-textfield","menutext","message-box","middle","min-intrinsic","mix","mongolian","monospace","move","multiple","multiple_mask_images","multiply","myanmar","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","octal","opacity","open-quote","optimizeLegibility","optimizeSpeed","oriya","oromo","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","persian","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturate","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","searchfield","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","self-start","self-end","semi-condensed","semi-expanded","separate","sepia","serif","show","sidama","simp-chinese-formal","simp-chinese-informal","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","somali","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","square-button","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","tamil","telugu","text","text-bottom","text-top","textarea","textfield","thai","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","tibetan","tigre","tigrinya-er","tigrinya-er-abegede","tigrinya-et","tigrinya-et-abegede","to","top","trad-chinese-formal","trad-chinese-informal","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-alpha","upper-armenian","upper-greek","upper-hexadecimal","upper-latin","upper-norwegian","upper-roman","uppercase","urdu","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"],b=t(y),w=n.concat(i).concat(a).concat(l).concat(u).concat(d).concat(g).concat(y);function x(e,t){for(var n,r=!1;null!=(n=e.next());){if(r&&"/"==n){t.tokenize=null;break}r="*"==n}return["comment","comment"]}e.registerHelper("hintWords","css",w),e.defineMIME("text/css",{documentTypes:r,mediaTypes:o,mediaFeatures:s,mediaValueKeywords:c,propertyKeywords:f,nonStandardPropertyKeywords:p,fontProperties:h,counterDescriptors:m,colorKeywords:v,valueKeywords:b,tokenHooks:{"/":function(e,t){return!!e.eat("*")&&(t.tokenize=x,x(e,t))}},name:"css"}),e.defineMIME("text/x-scss",{mediaTypes:o,mediaFeatures:s,mediaValueKeywords:c,propertyKeywords:f,nonStandardPropertyKeywords:p,colorKeywords:v,valueKeywords:b,fontProperties:h,allowNested:!0,lineComment:"//",tokenHooks:{"/":function(e,t){return e.eat("/")?(e.skipToEnd(),["comment","comment"]):e.eat("*")?(t.tokenize=x,x(e,t)):["operator","operator"]},":":function(e){return!!e.match(/^\s*\{/,!1)&&[null,null]},$:function(e){return e.match(/^[\w-]+/),e.match(/^\s*:/,!1)?["variable-2","variable-definition"]:["variable-2","variable"]},"#":function(e){return!!e.eat("{")&&[null,"interpolation"]}},name:"css",helperType:"scss"}),e.defineMIME("text/x-less",{mediaTypes:o,mediaFeatures:s,mediaValueKeywords:c,propertyKeywords:f,nonStandardPropertyKeywords:p,colorKeywords:v,valueKeywords:b,fontProperties:h,allowNested:!0,lineComment:"//",tokenHooks:{"/":function(e,t){return e.eat("/")?(e.skipToEnd(),["comment","comment"]):e.eat("*")?(t.tokenize=x,x(e,t)):["operator","operator"]},"@":function(e){return e.eat("{")?[null,"interpolation"]:!e.match(/^(charset|document|font-face|import|(-(moz|ms|o|webkit)-)?keyframes|media|namespace|page|supports)\b/i,!1)&&(e.eatWhile(/[\w\\\-]/),e.match(/^\s*:/,!1)?["variable-2","variable-definition"]:["variable-2","variable"])},"&":function(){return["atom","atom"]}},name:"css",helperType:"less"}),e.defineMIME("text/x-gss",{documentTypes:r,mediaTypes:o,mediaFeatures:s,propertyKeywords:f,nonStandardPropertyKeywords:p,fontProperties:h,counterDescriptors:m,colorKeywords:v,valueKeywords:b,supportsAtComponent:!0,tokenHooks:{"/":function(e,t){return!!e.eat("*")&&(t.tokenize=x,x(e,t))}},name:"css",helperType:"gss"})}(n(29))},,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){return o.default[e.type](e,t,n)};var r,i=n(162),o=(r=i)&&r.__esModule?r:{default:r}},function(e,t,n){var r=n(73),i={input:!0,option:!0,optgroup:!0,select:!0,button:!0,datalist:!0,textarea:!0},o={tr:{tr:!0,th:!0,td:!0},th:{th:!0},td:{thead:!0,th:!0,td:!0},body:{head:!0,link:!0,script:!0},li:{li:!0},p:{p:!0},h1:{p:!0},h2:{p:!0},h3:{p:!0},h4:{p:!0},h5:{p:!0},h6:{p:!0},select:i,input:i,output:i,button:i,datalist:i,textarea:i,option:{option:!0},optgroup:{optgroup:!0}},a={__proto__:null,area:!0,base:!0,basefont:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,isindex:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},s={__proto__:null,math:!0,svg:!0},l={__proto__:null,mi:!0,mo:!0,mn:!0,ms:!0,mtext:!0,"annotation-xml":!0,foreignObject:!0,desc:!0,title:!0},c=/\s|\//;function u(e,t){this._options=t||{},this._cbs=e||{},this._tagname="",this._attribname="",this._attribvalue="",this._attribs=null,this._stack=[],this._foreignContext=[],this.startIndex=0,this.endIndex=null,this._lowerCaseTagNames="lowerCaseTags"in this._options?!!this._options.lowerCaseTags:!this._options.xmlMode,this._lowerCaseAttributeNames="lowerCaseAttributeNames"in this._options?!!this._options.lowerCaseAttributeNames:!this._options.xmlMode,this._options.Tokenizer&&(r=this._options.Tokenizer),this._tokenizer=new r(this._options,this),this._cbs.onparserinit&&this._cbs.onparserinit(this)}n(43)(u,n(168).EventEmitter),u.prototype._updatePosition=function(e){null===this.endIndex?this._tokenizer._sectionStart<=e?this.startIndex=0:this.startIndex=this._tokenizer._sectionStart-e:this.startIndex=this.endIndex+1,this.endIndex=this._tokenizer.getAbsoluteIndex()},u.prototype.ontext=function(e){this._updatePosition(1),this.endIndex--,this._cbs.ontext&&this._cbs.ontext(e)},u.prototype.onopentagname=function(e){if(this._lowerCaseTagNames&&(e=e.toLowerCase()),this._tagname=e,!this._options.xmlMode&&e in o)for(var t;(t=this._stack[this._stack.length-1])in o[e];this.onclosetag(t));!this._options.xmlMode&&e in a||(this._stack.push(e),e in s?this._foreignContext.push(!0):e in l&&this._foreignContext.push(!1)),this._cbs.onopentagname&&this._cbs.onopentagname(e),this._cbs.onopentag&&(this._attribs={})},u.prototype.onopentagend=function(){this._updatePosition(1),this._attribs&&(this._cbs.onopentag&&this._cbs.onopentag(this._tagname,this._attribs),this._attribs=null),!this._options.xmlMode&&this._cbs.onclosetag&&this._tagname in a&&this._cbs.onclosetag(this._tagname),this._tagname=""},u.prototype.onclosetag=function(e){if(this._updatePosition(1),this._lowerCaseTagNames&&(e=e.toLowerCase()),(e in s||e in l)&&this._foreignContext.pop(),!this._stack.length||e in a&&!this._options.xmlMode)this._options.xmlMode||"br"!==e&&"p"!==e||(this.onopentagname(e),this._closeCurrentTag());else{var t=this._stack.lastIndexOf(e);if(-1!==t)if(this._cbs.onclosetag)for(t=this._stack.length-t;t--;)this._cbs.onclosetag(this._stack.pop());else this._stack.length=t;else"p"!==e||this._options.xmlMode||(this.onopentagname(e),this._closeCurrentTag())}},u.prototype.onselfclosingtag=function(){this._options.xmlMode||this._options.recognizeSelfClosing||this._foreignContext[this._foreignContext.length-1]?this._closeCurrentTag():this.onopentagend()},u.prototype._closeCurrentTag=function(){var e=this._tagname;this.onopentagend(),this._stack[this._stack.length-1]===e&&(this._cbs.onclosetag&&this._cbs.onclosetag(e),this._stack.pop())},u.prototype.onattribname=function(e){this._lowerCaseAttributeNames&&(e=e.toLowerCase()),this._attribname=e},u.prototype.onattribdata=function(e){this._attribvalue+=e},u.prototype.onattribend=function(){this._cbs.onattribute&&this._cbs.onattribute(this._attribname,this._attribvalue),this._attribs&&!Object.prototype.hasOwnProperty.call(this._attribs,this._attribname)&&(this._attribs[this._attribname]=this._attribvalue),this._attribname="",this._attribvalue=""},u.prototype._getInstructionName=function(e){var t=e.search(c),n=t<0?e:e.substr(0,t);return this._lowerCaseTagNames&&(n=n.toLowerCase()),n},u.prototype.ondeclaration=function(e){if(this._cbs.onprocessinginstruction){var t=this._getInstructionName(e);this._cbs.onprocessinginstruction("!"+t,"!"+e)}},u.prototype.onprocessinginstruction=function(e){if(this._cbs.onprocessinginstruction){var t=this._getInstructionName(e);this._cbs.onprocessinginstruction("?"+t,"?"+e)}},u.prototype.oncomment=function(e){this._updatePosition(4),this._cbs.oncomment&&this._cbs.oncomment(e),this._cbs.oncommentend&&this._cbs.oncommentend()},u.prototype.oncdata=function(e){this._updatePosition(1),this._options.xmlMode||this._options.recognizeCDATA?(this._cbs.oncdatastart&&this._cbs.oncdatastart(),this._cbs.ontext&&this._cbs.ontext(e),this._cbs.oncdataend&&this._cbs.oncdataend()):this.oncomment("[CDATA["+e+"]]")},u.prototype.onerror=function(e){this._cbs.onerror&&this._cbs.onerror(e)},u.prototype.onend=function(){if(this._cbs.onclosetag)for(var e=this._stack.length;e>0;this._cbs.onclosetag(this._stack[--e]));this._cbs.onend&&this._cbs.onend()},u.prototype.reset=function(){this._cbs.onreset&&this._cbs.onreset(),this._tokenizer.reset(),this._tagname="",this._attribname="",this._attribs=null,this._stack=[],this._cbs.onparserinit&&this._cbs.onparserinit(this)},u.prototype.parseComplete=function(e){this.reset(),this.end(e)},u.prototype.write=function(e){this._tokenizer.write(e)},u.prototype.end=function(e){this._tokenizer.end(e)},u.prototype.pause=function(){this._tokenizer.pause()},u.prototype.resume=function(){this._tokenizer.resume()},u.prototype.parseChunk=u.prototype.write,u.prototype.done=u.prototype.end,e.exports=u},function(e,t,n){e.exports=ge;var r=n(163),i=n(165),o=n(166),a=n(167),s=0,l=s++,c=s++,u=s++,f=s++,d=s++,p=s++,h=s++,m=s++,g=s++,v=s++,y=s++,b=s++,w=s++,x=s++,_=s++,k=s++,S=s++,E=s++,T=s++,C=s++,O=s++,A=s++,N=s++,L=s++,D=s++,M=s++,P=s++,j=s++,I=s++,R=s++,q=s++,F=s++,z=s++,H=s++,B=s++,U=s++,W=s++,V=s++,Y=s++,$=s++,X=s++,G=s++,K=s++,Q=s++,J=s++,Z=s++,ee=s++,te=s++,ne=s++,re=s++,ie=s++,oe=s++,ae=s++,se=s++,le=s++,ce=0,ue=ce++,fe=ce++,de=ce++;function pe(e){return" "===e||"\n"===e||"\t"===e||"\f"===e||"\r"===e}function he(e,t,n){var r=e.toLowerCase();return e===r?function(e){e===r?this._state=t:(this._state=n,this._index--)}:function(i){i===r||i===e?this._state=t:(this._state=n,this._index--)}}function me(e,t){var n=e.toLowerCase();return function(r){r===n||r===e?this._state=t:(this._state=u,this._index--)}}function ge(e,t){this._state=l,this._buffer="",this._sectionStart=0,this._index=0,this._bufferOffset=0,this._baseState=l,this._special=ue,this._cbs=t,this._running=!0,this._ended=!1,this._xmlMode=!(!e||!e.xmlMode),this._decodeEntities=!(!e||!e.decodeEntities)}ge.prototype._stateText=function(e){"<"===e?(this._index>this._sectionStart&&this._cbs.ontext(this._getSection()),this._state=c,this._sectionStart=this._index):this._decodeEntities&&this._special===ue&&"&"===e&&(this._index>this._sectionStart&&this._cbs.ontext(this._getSection()),this._baseState=l,this._state=ie,this._sectionStart=this._index)},ge.prototype._stateBeforeTagName=function(e){"/"===e?this._state=d:"<"===e?(this._cbs.ontext(this._getSection()),this._sectionStart=this._index):">"===e||this._special!==ue||pe(e)?this._state=l:"!"===e?(this._state=_,this._sectionStart=this._index+1):"?"===e?(this._state=S,this._sectionStart=this._index+1):(this._state=this._xmlMode||"s"!==e&&"S"!==e?u:q,this._sectionStart=this._index)},ge.prototype._stateInTagName=function(e){("/"===e||">"===e||pe(e))&&(this._emitToken("onopentagname"),this._state=m,this._index--)},ge.prototype._stateBeforeCloseingTagName=function(e){pe(e)||(">"===e?this._state=l:this._special!==ue?"s"===e||"S"===e?this._state=F:(this._state=l,this._index--):(this._state=p,this._sectionStart=this._index))},ge.prototype._stateInCloseingTagName=function(e){(">"===e||pe(e))&&(this._emitToken("onclosetag"),this._state=h,this._index--)},ge.prototype._stateAfterCloseingTagName=function(e){">"===e&&(this._state=l,this._sectionStart=this._index+1)},ge.prototype._stateBeforeAttributeName=function(e){">"===e?(this._cbs.onopentagend(),this._state=l,this._sectionStart=this._index+1):"/"===e?this._state=f:pe(e)||(this._state=g,this._sectionStart=this._index)},ge.prototype._stateInSelfClosingTag=function(e){">"===e?(this._cbs.onselfclosingtag(),this._state=l,this._sectionStart=this._index+1):pe(e)||(this._state=m,this._index--)},ge.prototype._stateInAttributeName=function(e){("="===e||"/"===e||">"===e||pe(e))&&(this._cbs.onattribname(this._getSection()),this._sectionStart=-1,this._state=v,this._index--)},ge.prototype._stateAfterAttributeName=function(e){"="===e?this._state=y:"/"===e||">"===e?(this._cbs.onattribend(),this._state=m,this._index--):pe(e)||(this._cbs.onattribend(),this._state=g,this._sectionStart=this._index)},ge.prototype._stateBeforeAttributeValue=function(e){'"'===e?(this._state=b,this._sectionStart=this._index+1):"'"===e?(this._state=w,this._sectionStart=this._index+1):pe(e)||(this._state=x,this._sectionStart=this._index,this._index--)},ge.prototype._stateInAttributeValueDoubleQuotes=function(e){'"'===e?(this._emitToken("onattribdata"),this._cbs.onattribend(),this._state=m):this._decodeEntities&&"&"===e&&(this._emitToken("onattribdata"),this._baseState=this._state,this._state=ie,this._sectionStart=this._index)},ge.prototype._stateInAttributeValueSingleQuotes=function(e){"'"===e?(this._emitToken("onattribdata"),this._cbs.onattribend(),this._state=m):this._decodeEntities&&"&"===e&&(this._emitToken("onattribdata"),this._baseState=this._state,this._state=ie,this._sectionStart=this._index)},ge.prototype._stateInAttributeValueNoQuotes=function(e){pe(e)||">"===e?(this._emitToken("onattribdata"),this._cbs.onattribend(),this._state=m,this._index--):this._decodeEntities&&"&"===e&&(this._emitToken("onattribdata"),this._baseState=this._state,this._state=ie,this._sectionStart=this._index)},ge.prototype._stateBeforeDeclaration=function(e){this._state="["===e?A:"-"===e?E:k},ge.prototype._stateInDeclaration=function(e){">"===e&&(this._cbs.ondeclaration(this._getSection()),this._state=l,this._sectionStart=this._index+1)},ge.prototype._stateInProcessingInstruction=function(e){">"===e&&(this._cbs.onprocessinginstruction(this._getSection()),this._state=l,this._sectionStart=this._index+1)},ge.prototype._stateBeforeComment=function(e){"-"===e?(this._state=T,this._sectionStart=this._index+1):this._state=k},ge.prototype._stateInComment=function(e){"-"===e&&(this._state=C)},ge.prototype._stateAfterComment1=function(e){this._state="-"===e?O:T},ge.prototype._stateAfterComment2=function(e){">"===e?(this._cbs.oncomment(this._buffer.substring(this._sectionStart,this._index-2)),this._state=l,this._sectionStart=this._index+1):"-"!==e&&(this._state=T)},ge.prototype._stateBeforeCdata1=he("C",N,k),ge.prototype._stateBeforeCdata2=he("D",L,k),ge.prototype._stateBeforeCdata3=he("A",D,k),ge.prototype._stateBeforeCdata4=he("T",M,k),ge.prototype._stateBeforeCdata5=he("A",P,k),ge.prototype._stateBeforeCdata6=function(e){"["===e?(this._state=j,this._sectionStart=this._index+1):(this._state=k,this._index--)},ge.prototype._stateInCdata=function(e){"]"===e&&(this._state=I)},ge.prototype._stateAfterCdata1=function(e){this._state="]"===e?R:j},ge.prototype._stateAfterCdata2=function(e){">"===e?(this._cbs.oncdata(this._buffer.substring(this._sectionStart,this._index-2)),this._state=l,this._sectionStart=this._index+1):"]"!==e&&(this._state=j)},ge.prototype._stateBeforeSpecial=function(e){"c"===e||"C"===e?this._state=z:"t"===e||"T"===e?this._state=K:(this._state=u,this._index--)},ge.prototype._stateBeforeSpecialEnd=function(e){this._special!==fe||"c"!==e&&"C"!==e?this._special!==de||"t"!==e&&"T"!==e?this._state=l:this._state=ee:this._state=V},ge.prototype._stateBeforeScript1=me("R",H),ge.prototype._stateBeforeScript2=me("I",B),ge.prototype._stateBeforeScript3=me("P",U),ge.prototype._stateBeforeScript4=me("T",W),ge.prototype._stateBeforeScript5=function(e){("/"===e||">"===e||pe(e))&&(this._special=fe),this._state=u,this._index--},ge.prototype._stateAfterScript1=he("R",Y,l),ge.prototype._stateAfterScript2=he("I",$,l),ge.prototype._stateAfterScript3=he("P",X,l),ge.prototype._stateAfterScript4=he("T",G,l),ge.prototype._stateAfterScript5=function(e){">"===e||pe(e)?(this._special=ue,this._state=p,this._sectionStart=this._index-6,this._index--):this._state=l},ge.prototype._stateBeforeStyle1=me("Y",Q),ge.prototype._stateBeforeStyle2=me("L",J),ge.prototype._stateBeforeStyle3=me("E",Z),ge.prototype._stateBeforeStyle4=function(e){("/"===e||">"===e||pe(e))&&(this._special=de),this._state=u,this._index--},ge.prototype._stateAfterStyle1=he("Y",te,l),ge.prototype._stateAfterStyle2=he("L",ne,l),ge.prototype._stateAfterStyle3=he("E",re,l),ge.prototype._stateAfterStyle4=function(e){">"===e||pe(e)?(this._special=ue,this._state=p,this._sectionStart=this._index-5,this._index--):this._state=l},ge.prototype._stateBeforeEntity=he("#",oe,ae),ge.prototype._stateBeforeNumericEntity=he("X",le,se),ge.prototype._parseNamedEntityStrict=function(){if(this._sectionStart+16&&(t=6);t>=2;){var n=this._buffer.substr(e,t);if(o.hasOwnProperty(n))return this._emitPartial(o[n]),void(this._sectionStart+=t+1);t--}},ge.prototype._stateInNamedEntity=function(e){";"===e?(this._parseNamedEntityStrict(),this._sectionStart+1"z")&&(e<"A"||e>"Z")&&(e<"0"||e>"9")&&(this._xmlMode||this._sectionStart+1===this._index||(this._baseState!==l?"="!==e&&this._parseNamedEntityStrict():this._parseLegacyEntity()),this._state=this._baseState,this._index--)},ge.prototype._decodeNumericEntity=function(e,t){var n=this._sectionStart+e;if(n!==this._index){var i=this._buffer.substring(n,this._index),o=parseInt(i,t);this._emitPartial(r(o)),this._sectionStart=this._index}else this._sectionStart--;this._state=this._baseState},ge.prototype._stateInNumericEntity=function(e){";"===e?(this._decodeNumericEntity(2,10),this._sectionStart++):(e<"0"||e>"9")&&(this._xmlMode?this._state=this._baseState:this._decodeNumericEntity(2,10),this._index--)},ge.prototype._stateInHexEntity=function(e){";"===e?(this._decodeNumericEntity(3,16),this._sectionStart++):(e<"a"||e>"f")&&(e<"A"||e>"F")&&(e<"0"||e>"9")&&(this._xmlMode?this._state=this._baseState:this._decodeNumericEntity(3,16),this._index--)},ge.prototype._cleanup=function(){this._sectionStart<0?(this._buffer="",this._bufferOffset+=this._index,this._index=0):this._running&&(this._state===l?(this._sectionStart!==this._index&&this._cbs.ontext(this._buffer.substr(this._sectionStart)),this._buffer="",this._bufferOffset+=this._index,this._index=0):this._sectionStart===this._index?(this._buffer="",this._bufferOffset+=this._index,this._index=0):(this._buffer=this._buffer.substr(this._sectionStart),this._index-=this._sectionStart,this._bufferOffset+=this._sectionStart),this._sectionStart=0)},ge.prototype.write=function(e){this._ended&&this._cbs.onerror(Error(".write() after done!")),this._buffer+=e,this._parse()},ge.prototype._parse=function(){for(;this._index","GT":">","Gt":"\u226b","gtdot":"\u22d7","gtlPar":"\u2995","gtquest":"\u2a7c","gtrapprox":"\u2a86","gtrarr":"\u2978","gtrdot":"\u22d7","gtreqless":"\u22db","gtreqqless":"\u2a8c","gtrless":"\u2277","gtrsim":"\u2273","gvertneqq":"\u2269\ufe00","gvnE":"\u2269\ufe00","Hacek":"\u02c7","hairsp":"\u200a","half":"\xbd","hamilt":"\u210b","HARDcy":"\u042a","hardcy":"\u044a","harrcir":"\u2948","harr":"\u2194","hArr":"\u21d4","harrw":"\u21ad","Hat":"^","hbar":"\u210f","Hcirc":"\u0124","hcirc":"\u0125","hearts":"\u2665","heartsuit":"\u2665","hellip":"\u2026","hercon":"\u22b9","hfr":"\ud835\udd25","Hfr":"\u210c","HilbertSpace":"\u210b","hksearow":"\u2925","hkswarow":"\u2926","hoarr":"\u21ff","homtht":"\u223b","hookleftarrow":"\u21a9","hookrightarrow":"\u21aa","hopf":"\ud835\udd59","Hopf":"\u210d","horbar":"\u2015","HorizontalLine":"\u2500","hscr":"\ud835\udcbd","Hscr":"\u210b","hslash":"\u210f","Hstrok":"\u0126","hstrok":"\u0127","HumpDownHump":"\u224e","HumpEqual":"\u224f","hybull":"\u2043","hyphen":"\u2010","Iacute":"\xcd","iacute":"\xed","ic":"\u2063","Icirc":"\xce","icirc":"\xee","Icy":"\u0418","icy":"\u0438","Idot":"\u0130","IEcy":"\u0415","iecy":"\u0435","iexcl":"\xa1","iff":"\u21d4","ifr":"\ud835\udd26","Ifr":"\u2111","Igrave":"\xcc","igrave":"\xec","ii":"\u2148","iiiint":"\u2a0c","iiint":"\u222d","iinfin":"\u29dc","iiota":"\u2129","IJlig":"\u0132","ijlig":"\u0133","Imacr":"\u012a","imacr":"\u012b","image":"\u2111","ImaginaryI":"\u2148","imagline":"\u2110","imagpart":"\u2111","imath":"\u0131","Im":"\u2111","imof":"\u22b7","imped":"\u01b5","Implies":"\u21d2","incare":"\u2105","in":"\u2208","infin":"\u221e","infintie":"\u29dd","inodot":"\u0131","intcal":"\u22ba","int":"\u222b","Int":"\u222c","integers":"\u2124","Integral":"\u222b","intercal":"\u22ba","Intersection":"\u22c2","intlarhk":"\u2a17","intprod":"\u2a3c","InvisibleComma":"\u2063","InvisibleTimes":"\u2062","IOcy":"\u0401","iocy":"\u0451","Iogon":"\u012e","iogon":"\u012f","Iopf":"\ud835\udd40","iopf":"\ud835\udd5a","Iota":"\u0399","iota":"\u03b9","iprod":"\u2a3c","iquest":"\xbf","iscr":"\ud835\udcbe","Iscr":"\u2110","isin":"\u2208","isindot":"\u22f5","isinE":"\u22f9","isins":"\u22f4","isinsv":"\u22f3","isinv":"\u2208","it":"\u2062","Itilde":"\u0128","itilde":"\u0129","Iukcy":"\u0406","iukcy":"\u0456","Iuml":"\xcf","iuml":"\xef","Jcirc":"\u0134","jcirc":"\u0135","Jcy":"\u0419","jcy":"\u0439","Jfr":"\ud835\udd0d","jfr":"\ud835\udd27","jmath":"\u0237","Jopf":"\ud835\udd41","jopf":"\ud835\udd5b","Jscr":"\ud835\udca5","jscr":"\ud835\udcbf","Jsercy":"\u0408","jsercy":"\u0458","Jukcy":"\u0404","jukcy":"\u0454","Kappa":"\u039a","kappa":"\u03ba","kappav":"\u03f0","Kcedil":"\u0136","kcedil":"\u0137","Kcy":"\u041a","kcy":"\u043a","Kfr":"\ud835\udd0e","kfr":"\ud835\udd28","kgreen":"\u0138","KHcy":"\u0425","khcy":"\u0445","KJcy":"\u040c","kjcy":"\u045c","Kopf":"\ud835\udd42","kopf":"\ud835\udd5c","Kscr":"\ud835\udca6","kscr":"\ud835\udcc0","lAarr":"\u21da","Lacute":"\u0139","lacute":"\u013a","laemptyv":"\u29b4","lagran":"\u2112","Lambda":"\u039b","lambda":"\u03bb","lang":"\u27e8","Lang":"\u27ea","langd":"\u2991","langle":"\u27e8","lap":"\u2a85","Laplacetrf":"\u2112","laquo":"\xab","larrb":"\u21e4","larrbfs":"\u291f","larr":"\u2190","Larr":"\u219e","lArr":"\u21d0","larrfs":"\u291d","larrhk":"\u21a9","larrlp":"\u21ab","larrpl":"\u2939","larrsim":"\u2973","larrtl":"\u21a2","latail":"\u2919","lAtail":"\u291b","lat":"\u2aab","late":"\u2aad","lates":"\u2aad\ufe00","lbarr":"\u290c","lBarr":"\u290e","lbbrk":"\u2772","lbrace":"{","lbrack":"[","lbrke":"\u298b","lbrksld":"\u298f","lbrkslu":"\u298d","Lcaron":"\u013d","lcaron":"\u013e","Lcedil":"\u013b","lcedil":"\u013c","lceil":"\u2308","lcub":"{","Lcy":"\u041b","lcy":"\u043b","ldca":"\u2936","ldquo":"\u201c","ldquor":"\u201e","ldrdhar":"\u2967","ldrushar":"\u294b","ldsh":"\u21b2","le":"\u2264","lE":"\u2266","LeftAngleBracket":"\u27e8","LeftArrowBar":"\u21e4","leftarrow":"\u2190","LeftArrow":"\u2190","Leftarrow":"\u21d0","LeftArrowRightArrow":"\u21c6","leftarrowtail":"\u21a2","LeftCeiling":"\u2308","LeftDoubleBracket":"\u27e6","LeftDownTeeVector":"\u2961","LeftDownVectorBar":"\u2959","LeftDownVector":"\u21c3","LeftFloor":"\u230a","leftharpoondown":"\u21bd","leftharpoonup":"\u21bc","leftleftarrows":"\u21c7","leftrightarrow":"\u2194","LeftRightArrow":"\u2194","Leftrightarrow":"\u21d4","leftrightarrows":"\u21c6","leftrightharpoons":"\u21cb","leftrightsquigarrow":"\u21ad","LeftRightVector":"\u294e","LeftTeeArrow":"\u21a4","LeftTee":"\u22a3","LeftTeeVector":"\u295a","leftthreetimes":"\u22cb","LeftTriangleBar":"\u29cf","LeftTriangle":"\u22b2","LeftTriangleEqual":"\u22b4","LeftUpDownVector":"\u2951","LeftUpTeeVector":"\u2960","LeftUpVectorBar":"\u2958","LeftUpVector":"\u21bf","LeftVectorBar":"\u2952","LeftVector":"\u21bc","lEg":"\u2a8b","leg":"\u22da","leq":"\u2264","leqq":"\u2266","leqslant":"\u2a7d","lescc":"\u2aa8","les":"\u2a7d","lesdot":"\u2a7f","lesdoto":"\u2a81","lesdotor":"\u2a83","lesg":"\u22da\ufe00","lesges":"\u2a93","lessapprox":"\u2a85","lessdot":"\u22d6","lesseqgtr":"\u22da","lesseqqgtr":"\u2a8b","LessEqualGreater":"\u22da","LessFullEqual":"\u2266","LessGreater":"\u2276","lessgtr":"\u2276","LessLess":"\u2aa1","lesssim":"\u2272","LessSlantEqual":"\u2a7d","LessTilde":"\u2272","lfisht":"\u297c","lfloor":"\u230a","Lfr":"\ud835\udd0f","lfr":"\ud835\udd29","lg":"\u2276","lgE":"\u2a91","lHar":"\u2962","lhard":"\u21bd","lharu":"\u21bc","lharul":"\u296a","lhblk":"\u2584","LJcy":"\u0409","ljcy":"\u0459","llarr":"\u21c7","ll":"\u226a","Ll":"\u22d8","llcorner":"\u231e","Lleftarrow":"\u21da","llhard":"\u296b","lltri":"\u25fa","Lmidot":"\u013f","lmidot":"\u0140","lmoustache":"\u23b0","lmoust":"\u23b0","lnap":"\u2a89","lnapprox":"\u2a89","lne":"\u2a87","lnE":"\u2268","lneq":"\u2a87","lneqq":"\u2268","lnsim":"\u22e6","loang":"\u27ec","loarr":"\u21fd","lobrk":"\u27e6","longleftarrow":"\u27f5","LongLeftArrow":"\u27f5","Longleftarrow":"\u27f8","longleftrightarrow":"\u27f7","LongLeftRightArrow":"\u27f7","Longleftrightarrow":"\u27fa","longmapsto":"\u27fc","longrightarrow":"\u27f6","LongRightArrow":"\u27f6","Longrightarrow":"\u27f9","looparrowleft":"\u21ab","looparrowright":"\u21ac","lopar":"\u2985","Lopf":"\ud835\udd43","lopf":"\ud835\udd5d","loplus":"\u2a2d","lotimes":"\u2a34","lowast":"\u2217","lowbar":"_","LowerLeftArrow":"\u2199","LowerRightArrow":"\u2198","loz":"\u25ca","lozenge":"\u25ca","lozf":"\u29eb","lpar":"(","lparlt":"\u2993","lrarr":"\u21c6","lrcorner":"\u231f","lrhar":"\u21cb","lrhard":"\u296d","lrm":"\u200e","lrtri":"\u22bf","lsaquo":"\u2039","lscr":"\ud835\udcc1","Lscr":"\u2112","lsh":"\u21b0","Lsh":"\u21b0","lsim":"\u2272","lsime":"\u2a8d","lsimg":"\u2a8f","lsqb":"[","lsquo":"\u2018","lsquor":"\u201a","Lstrok":"\u0141","lstrok":"\u0142","ltcc":"\u2aa6","ltcir":"\u2a79","lt":"<","LT":"<","Lt":"\u226a","ltdot":"\u22d6","lthree":"\u22cb","ltimes":"\u22c9","ltlarr":"\u2976","ltquest":"\u2a7b","ltri":"\u25c3","ltrie":"\u22b4","ltrif":"\u25c2","ltrPar":"\u2996","lurdshar":"\u294a","luruhar":"\u2966","lvertneqq":"\u2268\ufe00","lvnE":"\u2268\ufe00","macr":"\xaf","male":"\u2642","malt":"\u2720","maltese":"\u2720","Map":"\u2905","map":"\u21a6","mapsto":"\u21a6","mapstodown":"\u21a7","mapstoleft":"\u21a4","mapstoup":"\u21a5","marker":"\u25ae","mcomma":"\u2a29","Mcy":"\u041c","mcy":"\u043c","mdash":"\u2014","mDDot":"\u223a","measuredangle":"\u2221","MediumSpace":"\u205f","Mellintrf":"\u2133","Mfr":"\ud835\udd10","mfr":"\ud835\udd2a","mho":"\u2127","micro":"\xb5","midast":"*","midcir":"\u2af0","mid":"\u2223","middot":"\xb7","minusb":"\u229f","minus":"\u2212","minusd":"\u2238","minusdu":"\u2a2a","MinusPlus":"\u2213","mlcp":"\u2adb","mldr":"\u2026","mnplus":"\u2213","models":"\u22a7","Mopf":"\ud835\udd44","mopf":"\ud835\udd5e","mp":"\u2213","mscr":"\ud835\udcc2","Mscr":"\u2133","mstpos":"\u223e","Mu":"\u039c","mu":"\u03bc","multimap":"\u22b8","mumap":"\u22b8","nabla":"\u2207","Nacute":"\u0143","nacute":"\u0144","nang":"\u2220\u20d2","nap":"\u2249","napE":"\u2a70\u0338","napid":"\u224b\u0338","napos":"\u0149","napprox":"\u2249","natural":"\u266e","naturals":"\u2115","natur":"\u266e","nbsp":"\xa0","nbump":"\u224e\u0338","nbumpe":"\u224f\u0338","ncap":"\u2a43","Ncaron":"\u0147","ncaron":"\u0148","Ncedil":"\u0145","ncedil":"\u0146","ncong":"\u2247","ncongdot":"\u2a6d\u0338","ncup":"\u2a42","Ncy":"\u041d","ncy":"\u043d","ndash":"\u2013","nearhk":"\u2924","nearr":"\u2197","neArr":"\u21d7","nearrow":"\u2197","ne":"\u2260","nedot":"\u2250\u0338","NegativeMediumSpace":"\u200b","NegativeThickSpace":"\u200b","NegativeThinSpace":"\u200b","NegativeVeryThinSpace":"\u200b","nequiv":"\u2262","nesear":"\u2928","nesim":"\u2242\u0338","NestedGreaterGreater":"\u226b","NestedLessLess":"\u226a","NewLine":"\\n","nexist":"\u2204","nexists":"\u2204","Nfr":"\ud835\udd11","nfr":"\ud835\udd2b","ngE":"\u2267\u0338","nge":"\u2271","ngeq":"\u2271","ngeqq":"\u2267\u0338","ngeqslant":"\u2a7e\u0338","nges":"\u2a7e\u0338","nGg":"\u22d9\u0338","ngsim":"\u2275","nGt":"\u226b\u20d2","ngt":"\u226f","ngtr":"\u226f","nGtv":"\u226b\u0338","nharr":"\u21ae","nhArr":"\u21ce","nhpar":"\u2af2","ni":"\u220b","nis":"\u22fc","nisd":"\u22fa","niv":"\u220b","NJcy":"\u040a","njcy":"\u045a","nlarr":"\u219a","nlArr":"\u21cd","nldr":"\u2025","nlE":"\u2266\u0338","nle":"\u2270","nleftarrow":"\u219a","nLeftarrow":"\u21cd","nleftrightarrow":"\u21ae","nLeftrightarrow":"\u21ce","nleq":"\u2270","nleqq":"\u2266\u0338","nleqslant":"\u2a7d\u0338","nles":"\u2a7d\u0338","nless":"\u226e","nLl":"\u22d8\u0338","nlsim":"\u2274","nLt":"\u226a\u20d2","nlt":"\u226e","nltri":"\u22ea","nltrie":"\u22ec","nLtv":"\u226a\u0338","nmid":"\u2224","NoBreak":"\u2060","NonBreakingSpace":"\xa0","nopf":"\ud835\udd5f","Nopf":"\u2115","Not":"\u2aec","not":"\xac","NotCongruent":"\u2262","NotCupCap":"\u226d","NotDoubleVerticalBar":"\u2226","NotElement":"\u2209","NotEqual":"\u2260","NotEqualTilde":"\u2242\u0338","NotExists":"\u2204","NotGreater":"\u226f","NotGreaterEqual":"\u2271","NotGreaterFullEqual":"\u2267\u0338","NotGreaterGreater":"\u226b\u0338","NotGreaterLess":"\u2279","NotGreaterSlantEqual":"\u2a7e\u0338","NotGreaterTilde":"\u2275","NotHumpDownHump":"\u224e\u0338","NotHumpEqual":"\u224f\u0338","notin":"\u2209","notindot":"\u22f5\u0338","notinE":"\u22f9\u0338","notinva":"\u2209","notinvb":"\u22f7","notinvc":"\u22f6","NotLeftTriangleBar":"\u29cf\u0338","NotLeftTriangle":"\u22ea","NotLeftTriangleEqual":"\u22ec","NotLess":"\u226e","NotLessEqual":"\u2270","NotLessGreater":"\u2278","NotLessLess":"\u226a\u0338","NotLessSlantEqual":"\u2a7d\u0338","NotLessTilde":"\u2274","NotNestedGreaterGreater":"\u2aa2\u0338","NotNestedLessLess":"\u2aa1\u0338","notni":"\u220c","notniva":"\u220c","notnivb":"\u22fe","notnivc":"\u22fd","NotPrecedes":"\u2280","NotPrecedesEqual":"\u2aaf\u0338","NotPrecedesSlantEqual":"\u22e0","NotReverseElement":"\u220c","NotRightTriangleBar":"\u29d0\u0338","NotRightTriangle":"\u22eb","NotRightTriangleEqual":"\u22ed","NotSquareSubset":"\u228f\u0338","NotSquareSubsetEqual":"\u22e2","NotSquareSuperset":"\u2290\u0338","NotSquareSupersetEqual":"\u22e3","NotSubset":"\u2282\u20d2","NotSubsetEqual":"\u2288","NotSucceeds":"\u2281","NotSucceedsEqual":"\u2ab0\u0338","NotSucceedsSlantEqual":"\u22e1","NotSucceedsTilde":"\u227f\u0338","NotSuperset":"\u2283\u20d2","NotSupersetEqual":"\u2289","NotTilde":"\u2241","NotTildeEqual":"\u2244","NotTildeFullEqual":"\u2247","NotTildeTilde":"\u2249","NotVerticalBar":"\u2224","nparallel":"\u2226","npar":"\u2226","nparsl":"\u2afd\u20e5","npart":"\u2202\u0338","npolint":"\u2a14","npr":"\u2280","nprcue":"\u22e0","nprec":"\u2280","npreceq":"\u2aaf\u0338","npre":"\u2aaf\u0338","nrarrc":"\u2933\u0338","nrarr":"\u219b","nrArr":"\u21cf","nrarrw":"\u219d\u0338","nrightarrow":"\u219b","nRightarrow":"\u21cf","nrtri":"\u22eb","nrtrie":"\u22ed","nsc":"\u2281","nsccue":"\u22e1","nsce":"\u2ab0\u0338","Nscr":"\ud835\udca9","nscr":"\ud835\udcc3","nshortmid":"\u2224","nshortparallel":"\u2226","nsim":"\u2241","nsime":"\u2244","nsimeq":"\u2244","nsmid":"\u2224","nspar":"\u2226","nsqsube":"\u22e2","nsqsupe":"\u22e3","nsub":"\u2284","nsubE":"\u2ac5\u0338","nsube":"\u2288","nsubset":"\u2282\u20d2","nsubseteq":"\u2288","nsubseteqq":"\u2ac5\u0338","nsucc":"\u2281","nsucceq":"\u2ab0\u0338","nsup":"\u2285","nsupE":"\u2ac6\u0338","nsupe":"\u2289","nsupset":"\u2283\u20d2","nsupseteq":"\u2289","nsupseteqq":"\u2ac6\u0338","ntgl":"\u2279","Ntilde":"\xd1","ntilde":"\xf1","ntlg":"\u2278","ntriangleleft":"\u22ea","ntrianglelefteq":"\u22ec","ntriangleright":"\u22eb","ntrianglerighteq":"\u22ed","Nu":"\u039d","nu":"\u03bd","num":"#","numero":"\u2116","numsp":"\u2007","nvap":"\u224d\u20d2","nvdash":"\u22ac","nvDash":"\u22ad","nVdash":"\u22ae","nVDash":"\u22af","nvge":"\u2265\u20d2","nvgt":">\u20d2","nvHarr":"\u2904","nvinfin":"\u29de","nvlArr":"\u2902","nvle":"\u2264\u20d2","nvlt":"<\u20d2","nvltrie":"\u22b4\u20d2","nvrArr":"\u2903","nvrtrie":"\u22b5\u20d2","nvsim":"\u223c\u20d2","nwarhk":"\u2923","nwarr":"\u2196","nwArr":"\u21d6","nwarrow":"\u2196","nwnear":"\u2927","Oacute":"\xd3","oacute":"\xf3","oast":"\u229b","Ocirc":"\xd4","ocirc":"\xf4","ocir":"\u229a","Ocy":"\u041e","ocy":"\u043e","odash":"\u229d","Odblac":"\u0150","odblac":"\u0151","odiv":"\u2a38","odot":"\u2299","odsold":"\u29bc","OElig":"\u0152","oelig":"\u0153","ofcir":"\u29bf","Ofr":"\ud835\udd12","ofr":"\ud835\udd2c","ogon":"\u02db","Ograve":"\xd2","ograve":"\xf2","ogt":"\u29c1","ohbar":"\u29b5","ohm":"\u03a9","oint":"\u222e","olarr":"\u21ba","olcir":"\u29be","olcross":"\u29bb","oline":"\u203e","olt":"\u29c0","Omacr":"\u014c","omacr":"\u014d","Omega":"\u03a9","omega":"\u03c9","Omicron":"\u039f","omicron":"\u03bf","omid":"\u29b6","ominus":"\u2296","Oopf":"\ud835\udd46","oopf":"\ud835\udd60","opar":"\u29b7","OpenCurlyDoubleQuote":"\u201c","OpenCurlyQuote":"\u2018","operp":"\u29b9","oplus":"\u2295","orarr":"\u21bb","Or":"\u2a54","or":"\u2228","ord":"\u2a5d","order":"\u2134","orderof":"\u2134","ordf":"\xaa","ordm":"\xba","origof":"\u22b6","oror":"\u2a56","orslope":"\u2a57","orv":"\u2a5b","oS":"\u24c8","Oscr":"\ud835\udcaa","oscr":"\u2134","Oslash":"\xd8","oslash":"\xf8","osol":"\u2298","Otilde":"\xd5","otilde":"\xf5","otimesas":"\u2a36","Otimes":"\u2a37","otimes":"\u2297","Ouml":"\xd6","ouml":"\xf6","ovbar":"\u233d","OverBar":"\u203e","OverBrace":"\u23de","OverBracket":"\u23b4","OverParenthesis":"\u23dc","para":"\xb6","parallel":"\u2225","par":"\u2225","parsim":"\u2af3","parsl":"\u2afd","part":"\u2202","PartialD":"\u2202","Pcy":"\u041f","pcy":"\u043f","percnt":"%","period":".","permil":"\u2030","perp":"\u22a5","pertenk":"\u2031","Pfr":"\ud835\udd13","pfr":"\ud835\udd2d","Phi":"\u03a6","phi":"\u03c6","phiv":"\u03d5","phmmat":"\u2133","phone":"\u260e","Pi":"\u03a0","pi":"\u03c0","pitchfork":"\u22d4","piv":"\u03d6","planck":"\u210f","planckh":"\u210e","plankv":"\u210f","plusacir":"\u2a23","plusb":"\u229e","pluscir":"\u2a22","plus":"+","plusdo":"\u2214","plusdu":"\u2a25","pluse":"\u2a72","PlusMinus":"\xb1","plusmn":"\xb1","plussim":"\u2a26","plustwo":"\u2a27","pm":"\xb1","Poincareplane":"\u210c","pointint":"\u2a15","popf":"\ud835\udd61","Popf":"\u2119","pound":"\xa3","prap":"\u2ab7","Pr":"\u2abb","pr":"\u227a","prcue":"\u227c","precapprox":"\u2ab7","prec":"\u227a","preccurlyeq":"\u227c","Precedes":"\u227a","PrecedesEqual":"\u2aaf","PrecedesSlantEqual":"\u227c","PrecedesTilde":"\u227e","preceq":"\u2aaf","precnapprox":"\u2ab9","precneqq":"\u2ab5","precnsim":"\u22e8","pre":"\u2aaf","prE":"\u2ab3","precsim":"\u227e","prime":"\u2032","Prime":"\u2033","primes":"\u2119","prnap":"\u2ab9","prnE":"\u2ab5","prnsim":"\u22e8","prod":"\u220f","Product":"\u220f","profalar":"\u232e","profline":"\u2312","profsurf":"\u2313","prop":"\u221d","Proportional":"\u221d","Proportion":"\u2237","propto":"\u221d","prsim":"\u227e","prurel":"\u22b0","Pscr":"\ud835\udcab","pscr":"\ud835\udcc5","Psi":"\u03a8","psi":"\u03c8","puncsp":"\u2008","Qfr":"\ud835\udd14","qfr":"\ud835\udd2e","qint":"\u2a0c","qopf":"\ud835\udd62","Qopf":"\u211a","qprime":"\u2057","Qscr":"\ud835\udcac","qscr":"\ud835\udcc6","quaternions":"\u210d","quatint":"\u2a16","quest":"?","questeq":"\u225f","quot":"\\"","QUOT":"\\"","rAarr":"\u21db","race":"\u223d\u0331","Racute":"\u0154","racute":"\u0155","radic":"\u221a","raemptyv":"\u29b3","rang":"\u27e9","Rang":"\u27eb","rangd":"\u2992","range":"\u29a5","rangle":"\u27e9","raquo":"\xbb","rarrap":"\u2975","rarrb":"\u21e5","rarrbfs":"\u2920","rarrc":"\u2933","rarr":"\u2192","Rarr":"\u21a0","rArr":"\u21d2","rarrfs":"\u291e","rarrhk":"\u21aa","rarrlp":"\u21ac","rarrpl":"\u2945","rarrsim":"\u2974","Rarrtl":"\u2916","rarrtl":"\u21a3","rarrw":"\u219d","ratail":"\u291a","rAtail":"\u291c","ratio":"\u2236","rationals":"\u211a","rbarr":"\u290d","rBarr":"\u290f","RBarr":"\u2910","rbbrk":"\u2773","rbrace":"}","rbrack":"]","rbrke":"\u298c","rbrksld":"\u298e","rbrkslu":"\u2990","Rcaron":"\u0158","rcaron":"\u0159","Rcedil":"\u0156","rcedil":"\u0157","rceil":"\u2309","rcub":"}","Rcy":"\u0420","rcy":"\u0440","rdca":"\u2937","rdldhar":"\u2969","rdquo":"\u201d","rdquor":"\u201d","rdsh":"\u21b3","real":"\u211c","realine":"\u211b","realpart":"\u211c","reals":"\u211d","Re":"\u211c","rect":"\u25ad","reg":"\xae","REG":"\xae","ReverseElement":"\u220b","ReverseEquilibrium":"\u21cb","ReverseUpEquilibrium":"\u296f","rfisht":"\u297d","rfloor":"\u230b","rfr":"\ud835\udd2f","Rfr":"\u211c","rHar":"\u2964","rhard":"\u21c1","rharu":"\u21c0","rharul":"\u296c","Rho":"\u03a1","rho":"\u03c1","rhov":"\u03f1","RightAngleBracket":"\u27e9","RightArrowBar":"\u21e5","rightarrow":"\u2192","RightArrow":"\u2192","Rightarrow":"\u21d2","RightArrowLeftArrow":"\u21c4","rightarrowtail":"\u21a3","RightCeiling":"\u2309","RightDoubleBracket":"\u27e7","RightDownTeeVector":"\u295d","RightDownVectorBar":"\u2955","RightDownVector":"\u21c2","RightFloor":"\u230b","rightharpoondown":"\u21c1","rightharpoonup":"\u21c0","rightleftarrows":"\u21c4","rightleftharpoons":"\u21cc","rightrightarrows":"\u21c9","rightsquigarrow":"\u219d","RightTeeArrow":"\u21a6","RightTee":"\u22a2","RightTeeVector":"\u295b","rightthreetimes":"\u22cc","RightTriangleBar":"\u29d0","RightTriangle":"\u22b3","RightTriangleEqual":"\u22b5","RightUpDownVector":"\u294f","RightUpTeeVector":"\u295c","RightUpVectorBar":"\u2954","RightUpVector":"\u21be","RightVectorBar":"\u2953","RightVector":"\u21c0","ring":"\u02da","risingdotseq":"\u2253","rlarr":"\u21c4","rlhar":"\u21cc","rlm":"\u200f","rmoustache":"\u23b1","rmoust":"\u23b1","rnmid":"\u2aee","roang":"\u27ed","roarr":"\u21fe","robrk":"\u27e7","ropar":"\u2986","ropf":"\ud835\udd63","Ropf":"\u211d","roplus":"\u2a2e","rotimes":"\u2a35","RoundImplies":"\u2970","rpar":")","rpargt":"\u2994","rppolint":"\u2a12","rrarr":"\u21c9","Rrightarrow":"\u21db","rsaquo":"\u203a","rscr":"\ud835\udcc7","Rscr":"\u211b","rsh":"\u21b1","Rsh":"\u21b1","rsqb":"]","rsquo":"\u2019","rsquor":"\u2019","rthree":"\u22cc","rtimes":"\u22ca","rtri":"\u25b9","rtrie":"\u22b5","rtrif":"\u25b8","rtriltri":"\u29ce","RuleDelayed":"\u29f4","ruluhar":"\u2968","rx":"\u211e","Sacute":"\u015a","sacute":"\u015b","sbquo":"\u201a","scap":"\u2ab8","Scaron":"\u0160","scaron":"\u0161","Sc":"\u2abc","sc":"\u227b","sccue":"\u227d","sce":"\u2ab0","scE":"\u2ab4","Scedil":"\u015e","scedil":"\u015f","Scirc":"\u015c","scirc":"\u015d","scnap":"\u2aba","scnE":"\u2ab6","scnsim":"\u22e9","scpolint":"\u2a13","scsim":"\u227f","Scy":"\u0421","scy":"\u0441","sdotb":"\u22a1","sdot":"\u22c5","sdote":"\u2a66","searhk":"\u2925","searr":"\u2198","seArr":"\u21d8","searrow":"\u2198","sect":"\xa7","semi":";","seswar":"\u2929","setminus":"\u2216","setmn":"\u2216","sext":"\u2736","Sfr":"\ud835\udd16","sfr":"\ud835\udd30","sfrown":"\u2322","sharp":"\u266f","SHCHcy":"\u0429","shchcy":"\u0449","SHcy":"\u0428","shcy":"\u0448","ShortDownArrow":"\u2193","ShortLeftArrow":"\u2190","shortmid":"\u2223","shortparallel":"\u2225","ShortRightArrow":"\u2192","ShortUpArrow":"\u2191","shy":"\xad","Sigma":"\u03a3","sigma":"\u03c3","sigmaf":"\u03c2","sigmav":"\u03c2","sim":"\u223c","simdot":"\u2a6a","sime":"\u2243","simeq":"\u2243","simg":"\u2a9e","simgE":"\u2aa0","siml":"\u2a9d","simlE":"\u2a9f","simne":"\u2246","simplus":"\u2a24","simrarr":"\u2972","slarr":"\u2190","SmallCircle":"\u2218","smallsetminus":"\u2216","smashp":"\u2a33","smeparsl":"\u29e4","smid":"\u2223","smile":"\u2323","smt":"\u2aaa","smte":"\u2aac","smtes":"\u2aac\ufe00","SOFTcy":"\u042c","softcy":"\u044c","solbar":"\u233f","solb":"\u29c4","sol":"/","Sopf":"\ud835\udd4a","sopf":"\ud835\udd64","spades":"\u2660","spadesuit":"\u2660","spar":"\u2225","sqcap":"\u2293","sqcaps":"\u2293\ufe00","sqcup":"\u2294","sqcups":"\u2294\ufe00","Sqrt":"\u221a","sqsub":"\u228f","sqsube":"\u2291","sqsubset":"\u228f","sqsubseteq":"\u2291","sqsup":"\u2290","sqsupe":"\u2292","sqsupset":"\u2290","sqsupseteq":"\u2292","square":"\u25a1","Square":"\u25a1","SquareIntersection":"\u2293","SquareSubset":"\u228f","SquareSubsetEqual":"\u2291","SquareSuperset":"\u2290","SquareSupersetEqual":"\u2292","SquareUnion":"\u2294","squarf":"\u25aa","squ":"\u25a1","squf":"\u25aa","srarr":"\u2192","Sscr":"\ud835\udcae","sscr":"\ud835\udcc8","ssetmn":"\u2216","ssmile":"\u2323","sstarf":"\u22c6","Star":"\u22c6","star":"\u2606","starf":"\u2605","straightepsilon":"\u03f5","straightphi":"\u03d5","strns":"\xaf","sub":"\u2282","Sub":"\u22d0","subdot":"\u2abd","subE":"\u2ac5","sube":"\u2286","subedot":"\u2ac3","submult":"\u2ac1","subnE":"\u2acb","subne":"\u228a","subplus":"\u2abf","subrarr":"\u2979","subset":"\u2282","Subset":"\u22d0","subseteq":"\u2286","subseteqq":"\u2ac5","SubsetEqual":"\u2286","subsetneq":"\u228a","subsetneqq":"\u2acb","subsim":"\u2ac7","subsub":"\u2ad5","subsup":"\u2ad3","succapprox":"\u2ab8","succ":"\u227b","succcurlyeq":"\u227d","Succeeds":"\u227b","SucceedsEqual":"\u2ab0","SucceedsSlantEqual":"\u227d","SucceedsTilde":"\u227f","succeq":"\u2ab0","succnapprox":"\u2aba","succneqq":"\u2ab6","succnsim":"\u22e9","succsim":"\u227f","SuchThat":"\u220b","sum":"\u2211","Sum":"\u2211","sung":"\u266a","sup1":"\xb9","sup2":"\xb2","sup3":"\xb3","sup":"\u2283","Sup":"\u22d1","supdot":"\u2abe","supdsub":"\u2ad8","supE":"\u2ac6","supe":"\u2287","supedot":"\u2ac4","Superset":"\u2283","SupersetEqual":"\u2287","suphsol":"\u27c9","suphsub":"\u2ad7","suplarr":"\u297b","supmult":"\u2ac2","supnE":"\u2acc","supne":"\u228b","supplus":"\u2ac0","supset":"\u2283","Supset":"\u22d1","supseteq":"\u2287","supseteqq":"\u2ac6","supsetneq":"\u228b","supsetneqq":"\u2acc","supsim":"\u2ac8","supsub":"\u2ad4","supsup":"\u2ad6","swarhk":"\u2926","swarr":"\u2199","swArr":"\u21d9","swarrow":"\u2199","swnwar":"\u292a","szlig":"\xdf","Tab":"\\t","target":"\u2316","Tau":"\u03a4","tau":"\u03c4","tbrk":"\u23b4","Tcaron":"\u0164","tcaron":"\u0165","Tcedil":"\u0162","tcedil":"\u0163","Tcy":"\u0422","tcy":"\u0442","tdot":"\u20db","telrec":"\u2315","Tfr":"\ud835\udd17","tfr":"\ud835\udd31","there4":"\u2234","therefore":"\u2234","Therefore":"\u2234","Theta":"\u0398","theta":"\u03b8","thetasym":"\u03d1","thetav":"\u03d1","thickapprox":"\u2248","thicksim":"\u223c","ThickSpace":"\u205f\u200a","ThinSpace":"\u2009","thinsp":"\u2009","thkap":"\u2248","thksim":"\u223c","THORN":"\xde","thorn":"\xfe","tilde":"\u02dc","Tilde":"\u223c","TildeEqual":"\u2243","TildeFullEqual":"\u2245","TildeTilde":"\u2248","timesbar":"\u2a31","timesb":"\u22a0","times":"\xd7","timesd":"\u2a30","tint":"\u222d","toea":"\u2928","topbot":"\u2336","topcir":"\u2af1","top":"\u22a4","Topf":"\ud835\udd4b","topf":"\ud835\udd65","topfork":"\u2ada","tosa":"\u2929","tprime":"\u2034","trade":"\u2122","TRADE":"\u2122","triangle":"\u25b5","triangledown":"\u25bf","triangleleft":"\u25c3","trianglelefteq":"\u22b4","triangleq":"\u225c","triangleright":"\u25b9","trianglerighteq":"\u22b5","tridot":"\u25ec","trie":"\u225c","triminus":"\u2a3a","TripleDot":"\u20db","triplus":"\u2a39","trisb":"\u29cd","tritime":"\u2a3b","trpezium":"\u23e2","Tscr":"\ud835\udcaf","tscr":"\ud835\udcc9","TScy":"\u0426","tscy":"\u0446","TSHcy":"\u040b","tshcy":"\u045b","Tstrok":"\u0166","tstrok":"\u0167","twixt":"\u226c","twoheadleftarrow":"\u219e","twoheadrightarrow":"\u21a0","Uacute":"\xda","uacute":"\xfa","uarr":"\u2191","Uarr":"\u219f","uArr":"\u21d1","Uarrocir":"\u2949","Ubrcy":"\u040e","ubrcy":"\u045e","Ubreve":"\u016c","ubreve":"\u016d","Ucirc":"\xdb","ucirc":"\xfb","Ucy":"\u0423","ucy":"\u0443","udarr":"\u21c5","Udblac":"\u0170","udblac":"\u0171","udhar":"\u296e","ufisht":"\u297e","Ufr":"\ud835\udd18","ufr":"\ud835\udd32","Ugrave":"\xd9","ugrave":"\xf9","uHar":"\u2963","uharl":"\u21bf","uharr":"\u21be","uhblk":"\u2580","ulcorn":"\u231c","ulcorner":"\u231c","ulcrop":"\u230f","ultri":"\u25f8","Umacr":"\u016a","umacr":"\u016b","uml":"\xa8","UnderBar":"_","UnderBrace":"\u23df","UnderBracket":"\u23b5","UnderParenthesis":"\u23dd","Union":"\u22c3","UnionPlus":"\u228e","Uogon":"\u0172","uogon":"\u0173","Uopf":"\ud835\udd4c","uopf":"\ud835\udd66","UpArrowBar":"\u2912","uparrow":"\u2191","UpArrow":"\u2191","Uparrow":"\u21d1","UpArrowDownArrow":"\u21c5","updownarrow":"\u2195","UpDownArrow":"\u2195","Updownarrow":"\u21d5","UpEquilibrium":"\u296e","upharpoonleft":"\u21bf","upharpoonright":"\u21be","uplus":"\u228e","UpperLeftArrow":"\u2196","UpperRightArrow":"\u2197","upsi":"\u03c5","Upsi":"\u03d2","upsih":"\u03d2","Upsilon":"\u03a5","upsilon":"\u03c5","UpTeeArrow":"\u21a5","UpTee":"\u22a5","upuparrows":"\u21c8","urcorn":"\u231d","urcorner":"\u231d","urcrop":"\u230e","Uring":"\u016e","uring":"\u016f","urtri":"\u25f9","Uscr":"\ud835\udcb0","uscr":"\ud835\udcca","utdot":"\u22f0","Utilde":"\u0168","utilde":"\u0169","utri":"\u25b5","utrif":"\u25b4","uuarr":"\u21c8","Uuml":"\xdc","uuml":"\xfc","uwangle":"\u29a7","vangrt":"\u299c","varepsilon":"\u03f5","varkappa":"\u03f0","varnothing":"\u2205","varphi":"\u03d5","varpi":"\u03d6","varpropto":"\u221d","varr":"\u2195","vArr":"\u21d5","varrho":"\u03f1","varsigma":"\u03c2","varsubsetneq":"\u228a\ufe00","varsubsetneqq":"\u2acb\ufe00","varsupsetneq":"\u228b\ufe00","varsupsetneqq":"\u2acc\ufe00","vartheta":"\u03d1","vartriangleleft":"\u22b2","vartriangleright":"\u22b3","vBar":"\u2ae8","Vbar":"\u2aeb","vBarv":"\u2ae9","Vcy":"\u0412","vcy":"\u0432","vdash":"\u22a2","vDash":"\u22a8","Vdash":"\u22a9","VDash":"\u22ab","Vdashl":"\u2ae6","veebar":"\u22bb","vee":"\u2228","Vee":"\u22c1","veeeq":"\u225a","vellip":"\u22ee","verbar":"|","Verbar":"\u2016","vert":"|","Vert":"\u2016","VerticalBar":"\u2223","VerticalLine":"|","VerticalSeparator":"\u2758","VerticalTilde":"\u2240","VeryThinSpace":"\u200a","Vfr":"\ud835\udd19","vfr":"\ud835\udd33","vltri":"\u22b2","vnsub":"\u2282\u20d2","vnsup":"\u2283\u20d2","Vopf":"\ud835\udd4d","vopf":"\ud835\udd67","vprop":"\u221d","vrtri":"\u22b3","Vscr":"\ud835\udcb1","vscr":"\ud835\udccb","vsubnE":"\u2acb\ufe00","vsubne":"\u228a\ufe00","vsupnE":"\u2acc\ufe00","vsupne":"\u228b\ufe00","Vvdash":"\u22aa","vzigzag":"\u299a","Wcirc":"\u0174","wcirc":"\u0175","wedbar":"\u2a5f","wedge":"\u2227","Wedge":"\u22c0","wedgeq":"\u2259","weierp":"\u2118","Wfr":"\ud835\udd1a","wfr":"\ud835\udd34","Wopf":"\ud835\udd4e","wopf":"\ud835\udd68","wp":"\u2118","wr":"\u2240","wreath":"\u2240","Wscr":"\ud835\udcb2","wscr":"\ud835\udccc","xcap":"\u22c2","xcirc":"\u25ef","xcup":"\u22c3","xdtri":"\u25bd","Xfr":"\ud835\udd1b","xfr":"\ud835\udd35","xharr":"\u27f7","xhArr":"\u27fa","Xi":"\u039e","xi":"\u03be","xlarr":"\u27f5","xlArr":"\u27f8","xmap":"\u27fc","xnis":"\u22fb","xodot":"\u2a00","Xopf":"\ud835\udd4f","xopf":"\ud835\udd69","xoplus":"\u2a01","xotime":"\u2a02","xrarr":"\u27f6","xrArr":"\u27f9","Xscr":"\ud835\udcb3","xscr":"\ud835\udccd","xsqcup":"\u2a06","xuplus":"\u2a04","xutri":"\u25b3","xvee":"\u22c1","xwedge":"\u22c0","Yacute":"\xdd","yacute":"\xfd","YAcy":"\u042f","yacy":"\u044f","Ycirc":"\u0176","ycirc":"\u0177","Ycy":"\u042b","ycy":"\u044b","yen":"\xa5","Yfr":"\ud835\udd1c","yfr":"\ud835\udd36","YIcy":"\u0407","yicy":"\u0457","Yopf":"\ud835\udd50","yopf":"\ud835\udd6a","Yscr":"\ud835\udcb4","yscr":"\ud835\udcce","YUcy":"\u042e","yucy":"\u044e","yuml":"\xff","Yuml":"\u0178","Zacute":"\u0179","zacute":"\u017a","Zcaron":"\u017d","zcaron":"\u017e","Zcy":"\u0417","zcy":"\u0437","Zdot":"\u017b","zdot":"\u017c","zeetrf":"\u2128","ZeroWidthSpace":"\u200b","Zeta":"\u0396","zeta":"\u03b6","zfr":"\ud835\udd37","Zfr":"\u2128","ZHcy":"\u0416","zhcy":"\u0436","zigrarr":"\u21dd","zopf":"\ud835\udd6b","Zopf":"\u2124","Zscr":"\ud835\udcb5","zscr":"\ud835\udccf","zwj":"\u200d","zwnj":"\u200c"}')},function(e){e.exports=JSON.parse('{"amp":"&","apos":"\'","gt":">","lt":"<","quot":"\\""}')},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.escape=t.encodeHTML=t.encodeXML=void 0;var i=l(r(n(79)).default),o=c(i);t.encodeXML=d(i,o);var a=l(r(n(78)).default),s=c(a);function l(e){return Object.keys(e).sort().reduce((function(t,n){return t[e[n]]="&"+n+";",t}),{})}function c(e){for(var t=[],n=[],r=0,i=Object.keys(e);r=a())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a().toString(16)+" bytes");return 0|e}function h(e,t){if(l.isBuffer(e))return e.length;if("undefined"!==typeof ArrayBuffer&&"function"===typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!==typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return z(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return H(e).length;default:if(r)return z(e).length;t=(""+t).toLowerCase(),r=!0}}function m(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return A(this,t,n);case"utf8":case"utf-8":return T(this,t,n);case"ascii":return C(this,t,n);case"latin1":case"binary":return O(this,t,n);case"base64":return E(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return N(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function g(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function v(e,t,n,r,i){if(0===e.length)return-1;if("string"===typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(i)return-1;n=e.length-1}else if(n<0){if(!i)return-1;n=0}if("string"===typeof t&&(t=l.from(t,r)),l.isBuffer(t))return 0===t.length?-1:y(e,t,n,r,i);if("number"===typeof t)return t&=255,l.TYPED_ARRAY_SUPPORT&&"function"===typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):y(e,[t],n,r,i);throw new TypeError("val must be string, number or Buffer")}function y(e,t,n,r,i){var o,a=1,s=e.length,l=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;a=2,s/=2,l/=2,n/=2}function c(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(i){var u=-1;for(o=n;os&&(n=s-l),o=n;o>=0;o--){for(var f=!0,d=0;di&&(r=i):r=i;var o=t.length;if(o%2!==0)throw new TypeError("Invalid hex string");r>o/2&&(r=o/2);for(var a=0;a>8,i=n%256,o.push(i),o.push(r);return o}(t,e.length-n),e,n,r)}function E(e,t,n){return 0===t&&n===e.length?r.fromByteArray(e):r.fromByteArray(e.slice(t,n))}function T(e,t,n){n=Math.min(e.length,n);for(var r=[],i=t;i239?4:c>223?3:c>191?2:1;if(i+f<=n)switch(f){case 1:c<128&&(u=c);break;case 2:128===(192&(o=e[i+1]))&&(l=(31&c)<<6|63&o)>127&&(u=l);break;case 3:o=e[i+1],a=e[i+2],128===(192&o)&&128===(192&a)&&(l=(15&c)<<12|(63&o)<<6|63&a)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:o=e[i+1],a=e[i+2],s=e[i+3],128===(192&o)&&128===(192&a)&&128===(192&s)&&(l=(15&c)<<18|(63&o)<<12|(63&a)<<6|63&s)>65535&&l<1114112&&(u=l)}null===u?(u=65533,f=1):u>65535&&(u-=65536,r.push(u>>>10&1023|55296),u=56320|1023&u),r.push(u),i+=f}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);var n="",r=0;for(;r0&&(e=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(e+=" ... ")),""},l.prototype.compare=function(e,t,n,r,i){if(!l.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(this===e)return 0;for(var o=(i>>>=0)-(r>>>=0),a=(n>>>=0)-(t>>>=0),s=Math.min(o,a),c=this.slice(r,i),u=e.slice(t,n),f=0;fi)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var o=!1;;)switch(r){case"hex":return b(this,e,t,n);case"utf8":case"utf-8":return w(this,e,t,n);case"ascii":return x(this,e,t,n);case"latin1":case"binary":return _(this,e,t,n);case"base64":return k(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return S(this,e,t,n);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function C(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;ir)&&(n=r);for(var i="",o=t;on)throw new RangeError("Trying to access beyond buffer length")}function D(e,t,n,r,i,o){if(!l.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}function M(e,t,n,r){t<0&&(t=65535+t+1);for(var i=0,o=Math.min(e.length-n,2);i>>8*(r?i:1-i)}function P(e,t,n,r){t<0&&(t=4294967295+t+1);for(var i=0,o=Math.min(e.length-n,4);i>>8*(r?i:3-i)&255}function j(e,t,n,r,i,o){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function I(e,t,n,r,o){return o||j(e,0,n,4),i.write(e,t,n,r,23,4),n+4}function R(e,t,n,r,o){return o||j(e,0,n,8),i.write(e,t,n,r,52,8),n+8}l.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t0&&(i*=256);)r+=this[e+--t]*i;return r},l.prototype.readUInt8=function(e,t){return t||L(e,1,this.length),this[e]},l.prototype.readUInt16LE=function(e,t){return t||L(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUInt16BE=function(e,t){return t||L(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUInt32LE=function(e,t){return t||L(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},l.prototype.readUInt32BE=function(e,t){return t||L(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||L(e,t,this.length);for(var r=this[e],i=1,o=0;++o=(i*=128)&&(r-=Math.pow(2,8*t)),r},l.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||L(e,t,this.length);for(var r=t,i=1,o=this[e+--r];r>0&&(i*=256);)o+=this[e+--r]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*t)),o},l.prototype.readInt8=function(e,t){return t||L(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},l.prototype.readInt16LE=function(e,t){t||L(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt16BE=function(e,t){t||L(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt32LE=function(e,t){return t||L(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return t||L(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readFloatLE=function(e,t){return t||L(e,4,this.length),i.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return t||L(e,4,this.length),i.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return t||L(e,8,this.length),i.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return t||L(e,8,this.length),i.read(this,e,!1,52,8)},l.prototype.writeUIntLE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||D(this,e,t,n,Math.pow(2,8*n)-1,0);var i=1,o=0;for(this[t]=255&e;++o=0&&(o*=256);)this[t+i]=e/o&255;return t+n},l.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,1,255,0),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},l.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):M(this,e,t,!0),t+2},l.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):M(this,e,t,!1),t+2},l.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):P(this,e,t,!0),t+4},l.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):P(this,e,t,!1),t+4},l.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);D(this,e,t,n,i-1,-i)}var o=0,a=1,s=0;for(this[t]=255&e;++o>0)-s&255;return t+n},l.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);D(this,e,t,n,i-1,-i)}var o=n-1,a=1,s=0;for(this[t+o]=255&e;--o>=0&&(a*=256);)e<0&&0===s&&0!==this[t+o+1]&&(s=1),this[t+o]=(e/a>>0)-s&255;return t+n},l.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,1,127,-128),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):M(this,e,t,!0),t+2},l.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):M(this,e,t,!1),t+2},l.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,4,2147483647,-2147483648),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):P(this,e,t,!0),t+4},l.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):P(this,e,t,!1),t+4},l.prototype.writeFloatLE=function(e,t,n){return I(this,e,t,!0,n)},l.prototype.writeFloatBE=function(e,t,n){return I(this,e,t,!1,n)},l.prototype.writeDoubleLE=function(e,t,n){return R(this,e,t,!0,n)},l.prototype.writeDoubleBE=function(e,t,n){return R(this,e,t,!1,n)},l.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t=0;--i)e[i+t]=this[i+n];else if(o<1e3||!l.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"===typeof e)for(o=t;o55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(a+1===r){(t-=3)>-1&&o.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&o.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,n<128){if((t-=1)<0)break;o.push(n)}else if(n<2048){if((t-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function H(e){return r.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(q,"")).length<2)return"";for(;e.length%4!==0;)e+="=";return e}(e))}function B(e,t,n,r){for(var i=0;i=t.length||i>=e.length);++i)t[i+n]=e[i];return i}}).call(this,n(28))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t=0||(i[n]=e[n]);return i}(t,["children"]);if(delete r.in,delete r.mountOnEnter,delete r.unmountOnExit,delete r.appear,delete r.enter,delete r.exit,delete r.timeout,delete r.addEndListener,delete r.onEnter,delete r.onEntering,delete r.onEntered,delete r.onExit,delete r.onExiting,delete r.onExited,"function"===typeof n)return n(e,r);var o=i.default.Children.only(n);return i.default.cloneElement(o,r)},r}(i.default.Component);function c(){}l.contextTypes={transitionGroup:r.object},l.childContextTypes={transitionGroup:function(){}},l.propTypes={},l.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:c,onEntering:c,onEntered:c,onExit:c,onExiting:c,onExited:c},l.UNMOUNTED=0,l.EXITED=1,l.ENTERING=2,l.ENTERED=3,l.EXITING=4;var u=(0,a.polyfill)(l);t.default=u},function(e,t,n){"use strict";t.__esModule=!0,t.default=void 0;var r=s(n(7)),i=s(n(0)),o=n(65),a=n(140);function s(e){return e&&e.__esModule?e:{default:e}}function l(){return(l=Object.assign||function(e){for(var t=1;t=0||(i[n]=e[n]);return i}(e,["component","childFactory"]),o=u(this.state.children).map(n);return delete r.appear,delete r.enter,delete r.exit,null===t?o:i.default.createElement(t,r,o)},r}(i.default.Component);f.childContextTypes={transitionGroup:r.default.object.isRequired},f.propTypes={},f.defaultProps={component:"div",childFactory:function(e){return e}};var d=(0,o.polyfill)(f);t.default=d,e.exports=t.default},function(e,t,n){"use strict";var r=n(0),i=(n(31),n(7)),o=n(36),a=n(141),s=n(142);function l(e){return e?e.replace(/\r\n|\r/g,"\n"):e}var c=n(144)({propTypes:{autoFocus:i.bool,className:i.any,codeMirrorInstance:i.func,defaultValue:i.string,name:i.string,onChange:i.func,onCursorActivity:i.func,onFocusChange:i.func,onScroll:i.func,options:i.object,path:i.string,value:i.string,preserveScrollPosition:i.bool},getDefaultProps:function(){return{preserveScrollPosition:!1}},getCodeMirrorInstance:function(){return this.props.codeMirrorInstance||n(29)},getInitialState:function(){return{isFocused:!1}},componentWillMount:function(){this.componentWillReceiveProps=a(this.componentWillReceiveProps,0),this.props.path&&console.error("Warning: react-codemirror: the `path` prop has been changed to `name`")},componentDidMount:function(){var e=this.getCodeMirrorInstance();this.codeMirror=e.fromTextArea(this.textareaNode,this.props.options),this.codeMirror.on("change",this.codemirrorValueChanged),this.codeMirror.on("cursorActivity",this.cursorActivity),this.codeMirror.on("focus",this.focusChanged.bind(this,!0)),this.codeMirror.on("blur",this.focusChanged.bind(this,!1)),this.codeMirror.on("scroll",this.scrollChanged),this.codeMirror.setValue(this.props.defaultValue||this.props.value||"")},componentWillUnmount:function(){this.codeMirror&&this.codeMirror.toTextArea()},componentWillReceiveProps:function(e){if(this.codeMirror&&void 0!==e.value&&e.value!==this.props.value&&l(this.codeMirror.getValue())!==l(e.value))if(this.props.preserveScrollPosition){var t=this.codeMirror.getScrollInfo();this.codeMirror.setValue(e.value),this.codeMirror.scrollTo(t.left,t.top)}else this.codeMirror.setValue(e.value);if("object"===typeof e.options)for(var n in e.options)e.options.hasOwnProperty(n)&&this.setOptionIfChanged(n,e.options[n])},setOptionIfChanged:function(e,t){var n=this.codeMirror.getOption(e);s(n,t)||this.codeMirror.setOption(e,t)},getCodeMirror:function(){return this.codeMirror},focus:function(){this.codeMirror&&this.codeMirror.focus()},focusChanged:function(e){this.setState({isFocused:e}),this.props.onFocusChange&&this.props.onFocusChange(e)},cursorActivity:function(e){this.props.onCursorActivity&&this.props.onCursorActivity(e)},scrollChanged:function(e){this.props.onScroll&&this.props.onScroll(e.getScrollInfo())},codemirrorValueChanged:function(e,t){this.props.onChange&&"setValue"!==t.origin&&this.props.onChange(e.getValue(),t)},render:function(){var e=this,t=o("ReactCodeMirror",this.state.isFocused?"ReactCodeMirror--focused":null,this.props.className);return r.createElement("div",{className:t},r.createElement("textarea",{ref:function(t){return e.textareaNode=t},name:this.props.name||this.props.path,defaultValue:this.props.value,autoComplete:"off",autoFocus:this.props.autoFocus}))}});e.exports=c},function(e,t,n){e.exports=function(){"use strict";var e=6e4,t=36e5,n="millisecond",r="second",i="minute",o="hour",a="day",s="week",l="month",c="quarter",u="year",f="date",d="Invalid Date",p=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,h=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,m={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_")},g=function(e,t,n){var r=String(e);return!r||r.length>=t?e:""+Array(t+1-r.length).join(n)+e},v={s:g,z:function(e){var t=-e.utcOffset(),n=Math.abs(t),r=Math.floor(n/60),i=n%60;return(t<=0?"+":"-")+g(r,2,"0")+":"+g(i,2,"0")},m:function e(t,n){if(t.date()M.length&&M.push(e)}function I(e,t,n){return null==e?0:function e(t,n,r,i){var s=typeof t;"undefined"!==s&&"boolean"!==s||(t=null);var l=!1;if(null===t)l=!0;else switch(s){case"string":case"number":l=!0;break;case"object":switch(t.$$typeof){case o:case a:l=!0}}if(l)return r(i,t,""===n?"."+R(t,0):n),1;if(l=0,n=""===n?".":n+":",Array.isArray(t))for(var c=0;c
    ',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:{"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]}},Fe="show",ze={HIDE:"hide"+Le,HIDDEN:"hidden"+Le,SHOW:"show"+Le,SHOWN:"shown"+Le,INSERTED:"inserted"+Le,CLICK:"click"+Le,FOCUSIN:"focusin"+Le,FOCUSOUT:"focusout"+Le,MOUSEENTER:"mouseenter"+Le,MOUSELEAVE:"mouseleave"+Le},He="fade",Be="show",Ue="hover",We="focus",Ve=function(){function e(e,t){if("undefined"==typeof n)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org/)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=e,this.config=this._getConfig(t),this.tip=null,this._setListeners()}var r=e.prototype;return r.enable=function(){this._isEnabled=!0},r.disable=function(){this._isEnabled=!1},r.toggleEnabled=function(){this._isEnabled=!this._isEnabled},r.toggle=function(e){if(this._isEnabled)if(e){var n=this.constructor.DATA_KEY,r=t(e.currentTarget).data(n);r||(r=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(n,r)),r._activeTrigger.click=!r._activeTrigger.click,r._isWithActiveTrigger()?r._enter(null,r):r._leave(null,r)}else{if(t(this.getTipElement()).hasClass(Be))return void this._leave(null,this);this._enter(null,this)}},r.dispose=function(){clearTimeout(this._timeout),t.removeData(this.element,this.constructor.DATA_KEY),t(this.element).off(this.constructor.EVENT_KEY),t(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&t(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,(this._activeTrigger=null)!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},r.show=function(){var e=this;if("none"===t(this.element).css("display"))throw new Error("Please use show on visible elements");var r=t.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){t(this.element).trigger(r);var i=s.findShadowRoot(this.element),o=t.contains(null!==i?i:this.element.ownerDocument.documentElement,this.element);if(r.isDefaultPrevented()||!o)return;var a=this.getTipElement(),l=s.getUID(this.constructor.NAME);a.setAttribute("id",l),this.element.setAttribute("aria-describedby",l),this.setContent(),this.config.animation&&t(a).addClass(He);var c="function"==typeof this.config.placement?this.config.placement.call(this,a,this.element):this.config.placement,u=this._getAttachment(c);this.addAttachmentClass(u);var f=this._getContainer();t(a).data(this.constructor.DATA_KEY,this),t.contains(this.element.ownerDocument.documentElement,this.tip)||t(a).appendTo(f),t(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new n(this.element,a,{placement:u,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:".arrow"},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}}),t(a).addClass(Be),"ontouchstart"in document.documentElement&&t(document.body).children().on("mouseover",null,t.noop);var d=function(){e.config.animation&&e._fixTransition();var n=e._hoverState;e._hoverState=null,t(e.element).trigger(e.constructor.Event.SHOWN),"out"===n&&e._leave(null,e)};if(t(this.tip).hasClass(He)){var p=s.getTransitionDurationFromElement(this.tip);t(this.tip).one(s.TRANSITION_END,d).emulateTransitionEnd(p)}else d()}},r.hide=function(e){var n=this,r=this.getTipElement(),i=t.Event(this.constructor.Event.HIDE),o=function(){n._hoverState!==Fe&&r.parentNode&&r.parentNode.removeChild(r),n._cleanTipClass(),n.element.removeAttribute("aria-describedby"),t(n.element).trigger(n.constructor.Event.HIDDEN),null!==n._popper&&n._popper.destroy(),e&&e()};if(t(this.element).trigger(i),!i.isDefaultPrevented()){if(t(r).removeClass(Be),"ontouchstart"in document.documentElement&&t(document.body).children().off("mouseover",null,t.noop),this._activeTrigger.click=!1,this._activeTrigger[We]=!1,this._activeTrigger[Ue]=!1,t(this.tip).hasClass(He)){var a=s.getTransitionDurationFromElement(r);t(r).one(s.TRANSITION_END,o).emulateTransitionEnd(a)}else o();this._hoverState=""}},r.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},r.isWithContent=function(){return Boolean(this.getTitle())},r.addAttachmentClass=function(e){t(this.getTipElement()).addClass(Me+"-"+e)},r.getTipElement=function(){return this.tip=this.tip||t(this.config.template)[0],this.tip},r.setContent=function(){var e=this.getTipElement();this.setElementContent(t(e.querySelectorAll(".tooltip-inner")),this.getTitle()),t(e).removeClass(He+" "+Be)},r.setElementContent=function(e,n){"object"!=typeof n||!n.nodeType&&!n.jquery?this.config.html?(this.config.sanitize&&(n=Oe(n,this.config.whiteList,this.config.sanitizeFn)),e.html(n)):e.text(n):this.config.html?t(n).parent().is(e)||e.empty().append(n):e.text(t(n).text())},r.getTitle=function(){var e=this.element.getAttribute("data-original-title");return e||(e="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),e},r._getOffset=function(){var e=this,t={};return"function"==typeof this.config.offset?t.fn=function(t){return t.offsets=o({},t.offsets,e.config.offset(t.offsets,e.element)||{}),t}:t.offset=this.config.offset,t},r._getContainer=function(){return!1===this.config.container?document.body:s.isElement(this.config.container)?t(this.config.container):t(document).find(this.config.container)},r._getAttachment=function(e){return Re[e.toUpperCase()]},r._setListeners=function(){var e=this;this.config.trigger.split(" ").forEach((function(n){if("click"===n)t(e.element).on(e.constructor.Event.CLICK,e.config.selector,(function(t){return e.toggle(t)}));else if("manual"!==n){var r=n===Ue?e.constructor.Event.MOUSEENTER:e.constructor.Event.FOCUSIN,i=n===Ue?e.constructor.Event.MOUSELEAVE:e.constructor.Event.FOCUSOUT;t(e.element).on(r,e.config.selector,(function(t){return e._enter(t)})).on(i,e.config.selector,(function(t){return e._leave(t)}))}})),t(this.element).closest(".modal").on("hide.bs.modal",(function(){e.element&&e.hide()})),this.config.selector?this.config=o({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},r._fixTitle=function(){var e=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==e)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},r._enter=function(e,n){var r=this.constructor.DATA_KEY;(n=n||t(e.currentTarget).data(r))||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(r,n)),e&&(n._activeTrigger["focusin"===e.type?We:Ue]=!0),t(n.getTipElement()).hasClass(Be)||n._hoverState===Fe?n._hoverState=Fe:(clearTimeout(n._timeout),n._hoverState=Fe,n.config.delay&&n.config.delay.show?n._timeout=setTimeout((function(){n._hoverState===Fe&&n.show()}),n.config.delay.show):n.show())},r._leave=function(e,n){var r=this.constructor.DATA_KEY;(n=n||t(e.currentTarget).data(r))||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(r,n)),e&&(n._activeTrigger["focusout"===e.type?We:Ue]=!1),n._isWithActiveTrigger()||(clearTimeout(n._timeout),n._hoverState="out",n.config.delay&&n.config.delay.hide?n._timeout=setTimeout((function(){"out"===n._hoverState&&n.hide()}),n.config.delay.hide):n.hide())},r._isWithActiveTrigger=function(){for(var e in this._activeTrigger)if(this._activeTrigger[e])return!0;return!1},r._getConfig=function(e){var n=t(this.element).data();return Object.keys(n).forEach((function(e){-1!==je.indexOf(e)&&delete n[e]})),"number"==typeof(e=o({},this.constructor.Default,n,"object"==typeof e&&e?e:{})).delay&&(e.delay={show:e.delay,hide:e.delay}),"number"==typeof e.title&&(e.title=e.title.toString()),"number"==typeof e.content&&(e.content=e.content.toString()),s.typeCheckConfig(Ae,e,this.constructor.DefaultType),e.sanitize&&(e.template=Oe(e.template,e.whiteList,e.sanitizeFn)),e},r._getDelegateConfig=function(){var e={};if(this.config)for(var t in this.config)this.constructor.Default[t]!==this.config[t]&&(e[t]=this.config[t]);return e},r._cleanTipClass=function(){var e=t(this.getTipElement()),n=e.attr("class").match(Pe);null!==n&&n.length&&e.removeClass(n.join(""))},r._handlePopperPlacementChange=function(e){var t=e.instance;this.tip=t.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(e.placement))},r._fixTransition=function(){var e=this.getTipElement(),n=this.config.animation;null===e.getAttribute("x-placement")&&(t(e).removeClass(He),this.config.animation=!1,this.hide(),this.show(),this.config.animation=n)},e._jQueryInterface=function(n){return this.each((function(){var r=t(this).data(Ne),i="object"==typeof n&&n;if((r||!/dispose|hide/.test(n))&&(r||(r=new e(this,i),t(this).data(Ne,r)),"string"==typeof n)){if("undefined"==typeof r[n])throw new TypeError('No method named "'+n+'"');r[n]()}}))},i(e,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return qe}},{key:"NAME",get:function(){return Ae}},{key:"DATA_KEY",get:function(){return Ne}},{key:"Event",get:function(){return ze}},{key:"EVENT_KEY",get:function(){return Le}},{key:"DefaultType",get:function(){return Ie}}]),e}();t.fn[Ae]=Ve._jQueryInterface,t.fn[Ae].Constructor=Ve,t.fn[Ae].noConflict=function(){return t.fn[Ae]=De,Ve._jQueryInterface};var Ye="popover",$e="bs.popover",Xe="."+$e,Ge=t.fn[Ye],Ke="bs-popover",Qe=new RegExp("(^|\\s)"+Ke+"\\S+","g"),Je=o({},Ve.Default,{placement:"right",trigger:"click",content:"",template:''}),Ze=o({},Ve.DefaultType,{content:"(string|element|function)"}),et={HIDE:"hide"+Xe,HIDDEN:"hidden"+Xe,SHOW:"show"+Xe,SHOWN:"shown"+Xe,INSERTED:"inserted"+Xe,CLICK:"click"+Xe,FOCUSIN:"focusin"+Xe,FOCUSOUT:"focusout"+Xe,MOUSEENTER:"mouseenter"+Xe,MOUSELEAVE:"mouseleave"+Xe},tt=function(e){var n,r;function o(){return e.apply(this,arguments)||this}r=e,(n=o).prototype=Object.create(r.prototype),(n.prototype.constructor=n).__proto__=r;var a=o.prototype;return a.isWithContent=function(){return this.getTitle()||this._getContent()},a.addAttachmentClass=function(e){t(this.getTipElement()).addClass(Ke+"-"+e)},a.getTipElement=function(){return this.tip=this.tip||t(this.config.template)[0],this.tip},a.setContent=function(){var e=t(this.getTipElement());this.setElementContent(e.find(".popover-header"),this.getTitle());var n=this._getContent();"function"==typeof n&&(n=n.call(this.element)),this.setElementContent(e.find(".popover-body"),n),e.removeClass("fade show")},a._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},a._cleanTipClass=function(){var e=t(this.getTipElement()),n=e.attr("class").match(Qe);null!==n&&0=this._offsets[i]&&("undefined"==typeof this._offsets[i+1]||e li > .active",_t=function(){function e(e){this._element=e}var n=e.prototype;return n.show=function(){var e=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&t(this._element).hasClass(bt)||t(this._element).hasClass("disabled"))){var n,r,i=t(this._element).closest(".nav, .list-group")[0],o=s.getSelectorFromElement(this._element);if(i){var a="UL"===i.nodeName||"OL"===i.nodeName?xt:wt;r=(r=t.makeArray(t(i).find(a)))[r.length-1]}var l=t.Event(yt.HIDE,{relatedTarget:this._element}),c=t.Event(yt.SHOW,{relatedTarget:r});if(r&&t(r).trigger(l),t(this._element).trigger(c),!c.isDefaultPrevented()&&!l.isDefaultPrevented()){o&&(n=document.querySelector(o)),this._activate(this._element,i);var u=function(){var n=t.Event(yt.HIDDEN,{relatedTarget:e._element}),i=t.Event(yt.SHOWN,{relatedTarget:r});t(r).trigger(n),t(e._element).trigger(i)};n?this._activate(n,n.parentNode,u):u()}}},n.dispose=function(){t.removeData(this._element,mt),this._element=null},n._activate=function(e,n,r){var i=this,o=(!n||"UL"!==n.nodeName&&"OL"!==n.nodeName?t(n).children(wt):t(n).find(xt))[0],a=r&&o&&t(o).hasClass("fade"),l=function(){return i._transitionComplete(e,o,r)};if(o&&a){var c=s.getTransitionDurationFromElement(o);t(o).removeClass("show").one(s.TRANSITION_END,l).emulateTransitionEnd(c)}else l()},n._transitionComplete=function(e,n,r){if(n){t(n).removeClass(bt);var i=t(n.parentNode).find("> .dropdown-menu .active")[0];i&&t(i).removeClass(bt),"tab"===n.getAttribute("role")&&n.setAttribute("aria-selected",!1)}if(t(e).addClass(bt),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!0),s.reflow(e),e.classList.contains("fade")&&e.classList.add("show"),e.parentNode&&t(e.parentNode).hasClass("dropdown-menu")){var o=t(e).closest(".dropdown")[0];if(o){var a=[].slice.call(o.querySelectorAll(".dropdown-toggle"));t(a).addClass(bt)}e.setAttribute("aria-expanded",!0)}r&&r()},e._jQueryInterface=function(n){return this.each((function(){var r=t(this),i=r.data(mt);if(i||(i=new e(this),r.data(mt,i)),"string"==typeof n){if("undefined"==typeof i[n])throw new TypeError('No method named "'+n+'"');i[n]()}}))},i(e,null,[{key:"VERSION",get:function(){return"4.3.1"}}]),e}();t(document).on(yt.CLICK_DATA_API,'[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',(function(e){e.preventDefault(),_t._jQueryInterface.call(t(this),"show")})),t.fn.tab=_t._jQueryInterface,t.fn.tab.Constructor=_t,t.fn.tab.noConflict=function(){return t.fn.tab=vt,_t._jQueryInterface};var kt="toast",St="bs.toast",Et="."+St,Tt=t.fn[kt],Ct={CLICK_DISMISS:"click.dismiss"+Et,HIDE:"hide"+Et,HIDDEN:"hidden"+Et,SHOW:"show"+Et,SHOWN:"shown"+Et},Ot="show",At="showing",Nt={animation:"boolean",autohide:"boolean",delay:"number"},Lt={animation:!0,autohide:!0,delay:500},Dt=function(){function e(e,t){this._element=e,this._config=this._getConfig(t),this._timeout=null,this._setListeners()}var n=e.prototype;return n.show=function(){var e=this;t(this._element).trigger(Ct.SHOW),this._config.animation&&this._element.classList.add("fade");var n=function(){e._element.classList.remove(At),e._element.classList.add(Ot),t(e._element).trigger(Ct.SHOWN),e._config.autohide&&e.hide()};if(this._element.classList.remove("hide"),this._element.classList.add(At),this._config.animation){var r=s.getTransitionDurationFromElement(this._element);t(this._element).one(s.TRANSITION_END,n).emulateTransitionEnd(r)}else n()},n.hide=function(e){var n=this;this._element.classList.contains(Ot)&&(t(this._element).trigger(Ct.HIDE),e?this._close():this._timeout=setTimeout((function(){n._close()}),this._config.delay))},n.dispose=function(){clearTimeout(this._timeout),this._timeout=null,this._element.classList.contains(Ot)&&this._element.classList.remove(Ot),t(this._element).off(Ct.CLICK_DISMISS),t.removeData(this._element,St),this._element=null,this._config=null},n._getConfig=function(e){return e=o({},Lt,t(this._element).data(),"object"==typeof e&&e?e:{}),s.typeCheckConfig(kt,e,this.constructor.DefaultType),e},n._setListeners=function(){var e=this;t(this._element).on(Ct.CLICK_DISMISS,'[data-dismiss="toast"]',(function(){return e.hide(!0)}))},n._close=function(){var e=this,n=function(){e._element.classList.add("hide"),t(e._element).trigger(Ct.HIDDEN)};if(this._element.classList.remove(Ot),this._config.animation){var r=s.getTransitionDurationFromElement(this._element);t(this._element).one(s.TRANSITION_END,n).emulateTransitionEnd(r)}else n()},e._jQueryInterface=function(n){return this.each((function(){var r=t(this),i=r.data(St);if(i||(i=new e(this,"object"==typeof n&&n),r.data(St,i)),"string"==typeof n){if("undefined"==typeof i[n])throw new TypeError('No method named "'+n+'"');i[n](this)}}))},i(e,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"DefaultType",get:function(){return Nt}},{key:"Default",get:function(){return Lt}}]),e}();t.fn[kt]=Dt._jQueryInterface,t.fn[kt].Constructor=Dt,t.fn[kt].noConflict=function(){return t.fn[kt]=Tt,Dt._jQueryInterface},function(){if("undefined"==typeof t)throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");var e=t.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1===e[0]&&9===e[1]&&e[2]<1||4<=e[0])throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(),e.Util=s,e.Alert=p,e.Button=k,e.Carousel=R,e.Collapse=K,e.Dropdown=fe,e.Modal=Se,e.Popover=tt,e.Scrollspy=ht,e.Tab=_t,e.Toast=Dt,e.Tooltip=Ve,Object.defineProperty(e,"__esModule",{value:!0})}(t,n(156),n(157))},function(e,t,n){var r;!function(t,n){"use strict";"object"===typeof e.exports?e.exports=t.document?n(t,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return n(e)}:n(t)}("undefined"!==typeof window?window:this,(function(n,i){"use strict";var o=[],a=Object.getPrototypeOf,s=o.slice,l=o.flat?function(e){return o.flat.call(e)}:function(e){return o.concat.apply([],e)},c=o.push,u=o.indexOf,f={},d=f.toString,p=f.hasOwnProperty,h=p.toString,m=h.call(Object),g={},v=function(e){return"function"===typeof e&&"number"!==typeof e.nodeType},y=function(e){return null!=e&&e===e.window},b=n.document,w={type:!0,src:!0,nonce:!0,noModule:!0};function x(e,t,n){var r,i,o=(n=n||b).createElement("script");if(o.text=e,t)for(r in w)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function _(e){return null==e?e+"":"object"===typeof e||"function"===typeof e?f[d.call(e)]||"object":typeof e}var k=function e(t,n){return new e.fn.init(t,n)};function S(e){var t=!!e&&"length"in e&&e.length,n=_(e);return!v(e)&&!y(e)&&("array"===n||0===t||"number"===typeof t&&t>0&&t-1 in e)}k.fn=k.prototype={jquery:"3.5.1",constructor:k,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=k.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return k.each(this,e)},map:function(e){return this.pushStack(k.map(this,(function(t,n){return e.call(t,n,t)})))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(k.grep(this,(function(e,t){return(t+1)%2})))},odd:function(){return this.pushStack(k.grep(this,(function(e,t){return t%2})))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n+~]|"+R+")"+R+"*"),V=new RegExp(R+"|>"),Y=new RegExp(z),$=new RegExp("^"+q+"$"),X={ID:new RegExp("^#("+q+")"),CLASS:new RegExp("^\\.("+q+")"),TAG:new RegExp("^("+q+"|[*])"),ATTR:new RegExp("^"+F),PSEUDO:new RegExp("^"+z),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+R+"*(even|odd|(([+-]|)(\\d*)n|)"+R+"*(?:([+-]|)"+R+"*(\\d+)|))"+R+"*\\)|)","i"),bool:new RegExp("^(?:"+I+")$","i"),needsContext:new RegExp("^"+R+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+R+"*((?:-\\d)?\\d*)"+R+"*\\)|)(?=[^-]|$)","i")},G=/HTML$/i,K=/^(?:input|select|textarea|button)$/i,Q=/^h\d$/i,J=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+R+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){d()},ae=we((function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()}),{dir:"parentNode",next:"legend"});try{M.apply(N=P.call(x.childNodes),x.childNodes),N[x.childNodes.length].nodeType}catch(Ee){M={apply:N.length?function(e,t){D.apply(e,P.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}function se(e,t,r,i){var o,s,c,u,f,h,v,y=t&&t.ownerDocument,x=t?t.nodeType:9;if(r=r||[],"string"!==typeof e||!e||1!==x&&9!==x&&11!==x)return r;if(!i&&(d(t),t=t||p,m)){if(11!==x&&(f=Z.exec(e)))if(o=f[1]){if(9===x){if(!(c=t.getElementById(o)))return r;if(c.id===o)return r.push(c),r}else if(y&&(c=y.getElementById(o))&&b(t,c)&&c.id===o)return r.push(c),r}else{if(f[2])return M.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return M.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!C[e+" "]&&(!g||!g.test(e))&&(1!==x||"object"!==t.nodeName.toLowerCase())){if(v=e,y=t,1===x&&(V.test(e)||W.test(e))){for((y=ee.test(e)&&ve(t.parentNode)||t)===t&&n.scope||((u=t.getAttribute("id"))?u=u.replace(re,ie):t.setAttribute("id",u=w)),s=(h=a(e)).length;s--;)h[s]=(u?"#"+u:":scope")+" "+be(h[s]);v=h.join(",")}try{return M.apply(r,y.querySelectorAll(v)),r}catch(_){C(e,!0)}finally{u===w&&t.removeAttribute("id")}}}return l(e.replace(B,"$1"),t,r,i)}function le(){var e=[];return function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}}function ce(e){return e[w]=!0,e}function ue(e){var t=p.createElement("fieldset");try{return!!e(t)}catch(Ee){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){for(var n=e.split("|"),i=n.length;i--;)r.attrHandle[n[i]]=t}function de(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function pe(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function he(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function me(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ae(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function ge(e){return ce((function(t){return t=+t,ce((function(n,r){for(var i,o=e([],n.length,t),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))}))}))}function ve(e){return e&&"undefined"!==typeof e.getElementsByTagName&&e}for(t in n=se.support={},o=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!G.test(t||n&&n.nodeName||"HTML")},d=se.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:x;return a!=p&&9===a.nodeType&&a.documentElement?(h=(p=a).documentElement,m=!o(p),x!=p&&(i=p.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",oe,!1):i.attachEvent&&i.attachEvent("onunload",oe)),n.scope=ue((function(e){return h.appendChild(e).appendChild(p.createElement("div")),"undefined"!==typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length})),n.attributes=ue((function(e){return e.className="i",!e.getAttribute("className")})),n.getElementsByTagName=ue((function(e){return e.appendChild(p.createComment("")),!e.getElementsByTagName("*").length})),n.getElementsByClassName=J.test(p.getElementsByClassName),n.getById=ue((function(e){return h.appendChild(e).id=w,!p.getElementsByName||!p.getElementsByName(w).length})),n.getById?(r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if("undefined"!==typeof t.getElementById&&m){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){var n="undefined"!==typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if("undefined"!==typeof t.getElementById&&m){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];for(i=t.getElementsByName(e),r=0;o=i[r++];)if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return"undefined"!==typeof t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if("undefined"!==typeof t.getElementsByClassName&&m)return t.getElementsByClassName(e)},v=[],g=[],(n.qsa=J.test(p.querySelectorAll))&&(ue((function(e){var t;h.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&g.push("[*^$]="+R+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||g.push("\\["+R+"*(?:value|"+I+")"),e.querySelectorAll("[id~="+w+"-]").length||g.push("~="),(t=p.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||g.push("\\["+R+"*name"+R+"*="+R+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||g.push(":checked"),e.querySelectorAll("a#"+w+"+*").length||g.push(".#.+[+~]"),e.querySelectorAll("\\\f"),g.push("[\\r\\n\\f]")})),ue((function(e){e.innerHTML="";var t=p.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&g.push("name"+R+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&g.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&g.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),g.push(",.*:")}))),(n.matchesSelector=J.test(y=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&ue((function(e){n.disconnectedMatch=y.call(e,"*"),y.call(e,"[s!='']:x"),v.push("!=",z)})),g=g.length&&new RegExp(g.join("|")),v=v.length&&new RegExp(v.join("|")),t=J.test(h.compareDocumentPosition),b=t||J.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},O=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e==p||e.ownerDocument==x&&b(x,e)?-1:t==p||t.ownerDocument==x&&b(x,t)?1:u?j(u,e)-j(u,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==p?-1:t==p?1:i?-1:o?1:u?j(u,e)-j(u,t):0;if(i===o)return de(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;a[r]===s[r];)r++;return r?de(a[r],s[r]):a[r]==x?-1:s[r]==x?1:0},p):p},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(d(e),n.matchesSelector&&m&&!C[t+" "]&&(!v||!v.test(t))&&(!g||!g.test(t)))try{var r=y.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(Ee){C(t,!0)}return se(t,p,null,[e]).length>0},se.contains=function(e,t){return(e.ownerDocument||e)!=p&&d(e),b(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=p&&d(e);var i=r.attrHandle[t.toLowerCase()],o=i&&A.call(r.attrHandle,t.toLowerCase())?i(e,t,!m):void 0;return void 0!==o?o:n.attributes||!m?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,u=!n.sortStable&&e.slice(0),e.sort(O),f){for(;t=e[o++];)t===e[o]&&(i=r.push(o));for(;i--;)e.splice(r[i],1)}return u=null,e},i=se.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"===typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else for(;t=e[r++];)n+=i(t);return n},(r=se.selectors={cacheLength:50,createPseudo:ce,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return X.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&Y.test(n)&&(t=a(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=S[e+" "];return t||(t=new RegExp("(^|"+R+")"+e+"("+R+"|$)"))&&S(e,(function(e){return t.test("string"===typeof e.className&&e.className||"undefined"!==typeof e.getAttribute&&e.getAttribute("class")||"")}))},ATTR:function(e,t,n){return function(r){var i=se.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace(H," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,l){var c,u,f,d,p,h,m=o!==a?"nextSibling":"previousSibling",g=t.parentNode,v=s&&t.nodeName.toLowerCase(),y=!l&&!s,b=!1;if(g){if(o){for(;m;){for(d=t;d=d[m];)if(s?d.nodeName.toLowerCase()===v:1===d.nodeType)return!1;h=m="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?g.firstChild:g.lastChild],a&&y){for(b=(p=(c=(u=(f=(d=g)[w]||(d[w]={}))[d.uniqueID]||(f[d.uniqueID]={}))[e]||[])[0]===_&&c[1])&&c[2],d=p&&g.childNodes[p];d=++p&&d&&d[m]||(b=p=0)||h.pop();)if(1===d.nodeType&&++b&&d===t){u[e]=[_,p,b];break}}else if(y&&(b=p=(c=(u=(f=(d=t)[w]||(d[w]={}))[d.uniqueID]||(f[d.uniqueID]={}))[e]||[])[0]===_&&c[1]),!1===b)for(;(d=++p&&d&&d[m]||(b=p=0)||h.pop())&&((s?d.nodeName.toLowerCase()!==v:1!==d.nodeType)||!++b||(y&&((u=(f=d[w]||(d[w]={}))[d.uniqueID]||(f[d.uniqueID]={}))[e]=[_,b]),d!==t)););return(b-=i)===r||b%r===0&&b/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return i[w]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?ce((function(e,n){for(var r,o=i(e,t),a=o.length;a--;)e[r=j(e,o[a])]=!(n[r]=o[a])})):function(e){return i(e,0,n)}):i}},pseudos:{not:ce((function(e){var t=[],n=[],r=s(e.replace(B,"$1"));return r[w]?ce((function(e,t,n,i){for(var o,a=r(e,null,i,[]),s=e.length;s--;)(o=a[s])&&(e[s]=!(t[s]=o))})):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}})),has:ce((function(e){return function(t){return se(e,t).length>0}})),contains:ce((function(e){return e=e.replace(te,ne),function(t){return(t.textContent||i(t)).indexOf(e)>-1}})),lang:ce((function(e){return $.test(e||"")||se.error("unsupported lang: "+e),e=e.replace(te,ne).toLowerCase(),function(t){var n;do{if(n=m?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}})),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:me(!1),disabled:me(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return Q.test(e.nodeName)},input:function(e){return K.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ge((function(){return[0]})),last:ge((function(e,t){return[t-1]})),eq:ge((function(e,t,n){return[n<0?n+t:n]})),even:ge((function(e,t){for(var n=0;nt?t:n;--r>=0;)e.push(r);return e})),gt:ge((function(e,t,n){for(var r=n<0?n+t:n;++r1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function _e(e,t,n,r,i){for(var o,a=[],s=0,l=e.length,c=null!=t;s-1&&(o[c]=!(a[c]=f))}}else v=_e(v===a?v.splice(h,v.length):v),i?i(null,a,v,l):M.apply(a,v)}))}function Se(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],s=a||r.relative[" "],l=a?1:0,u=we((function(e){return e===t}),s,!0),f=we((function(e){return j(t,e)>-1}),s,!0),d=[function(e,n,r){var i=!a&&(r||n!==c)||((t=n).nodeType?u(e,n,r):f(e,n,r));return t=null,i}];l1&&xe(d),l>1&&be(e.slice(0,l-1).concat({value:" "===e[l-2].type?"*":""})).replace(B,"$1"),n,l0,i=e.length>0,o=function(o,a,s,l,u){var f,h,g,v=0,y="0",b=o&&[],w=[],x=c,k=o||i&&r.find.TAG("*",u),S=_+=null==x?1:Math.random()||.1,E=k.length;for(u&&(c=a==p||a||u);y!==E&&null!=(f=k[y]);y++){if(i&&f){for(h=0,a||f.ownerDocument==p||(d(f),s=!m);g=e[h++];)if(g(f,a||p,s)){l.push(f);break}u&&(_=S)}n&&((f=!g&&f)&&v--,o&&b.push(f))}if(v+=y,n&&y!==v){for(h=0;g=t[h++];)g(b,w,a,s);if(o){if(v>0)for(;y--;)b[y]||w[y]||(w[y]=L.call(l));w=_e(w)}M.apply(l,w),u&&!o&&w.length>0&&v+t.length>1&&se.uniqueSort(l)}return u&&(_=S,c=x),b};return n?ce(o):o}(o,i))).selector=e}return s},l=se.select=function(e,t,n,i){var o,l,c,u,f,d="function"===typeof e&&e,p=!i&&a(e=d.selector||e);if(n=n||[],1===p.length){if((l=p[0]=p[0].slice(0)).length>2&&"ID"===(c=l[0]).type&&9===t.nodeType&&m&&r.relative[l[1].type]){if(!(t=(r.find.ID(c.matches[0].replace(te,ne),t)||[])[0]))return n;d&&(t=t.parentNode),e=e.slice(l.shift().value.length)}for(o=X.needsContext.test(e)?0:l.length;o--&&(c=l[o],!r.relative[u=c.type]);)if((f=r.find[u])&&(i=f(c.matches[0].replace(te,ne),ee.test(l[0].type)&&ve(t.parentNode)||t))){if(l.splice(o,1),!(e=i.length&&be(l)))return M.apply(n,i),n;break}}return(d||s(e,p))(i,t,!m,n,!t||ee.test(e)&&ve(t.parentNode)||t),n},n.sortStable=w.split("").sort(O).join("")===w,n.detectDuplicates=!!f,d(),n.sortDetached=ue((function(e){return 1&e.compareDocumentPosition(p.createElement("fieldset"))})),ue((function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")}))||fe("type|href|height|width",(function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)})),n.attributes&&ue((function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")}))||fe("value",(function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue})),ue((function(e){return null==e.getAttribute("disabled")}))||fe(I,(function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null})),se}(n);k.find=E,(k.expr=E.selectors)[":"]=k.expr.pseudos,k.uniqueSort=k.unique=E.uniqueSort,k.text=E.getText,k.isXMLDoc=E.isXML,k.contains=E.contains,k.escapeSelector=E.escape;var T=function(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&k(e).is(n))break;r.push(e)}return r},C=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},O=k.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function L(e,t,n){return v(t)?k.grep(e,(function(e,r){return!!t.call(e,r,e)!==n})):t.nodeType?k.grep(e,(function(e){return e===t!==n})):"string"!==typeof t?k.grep(e,(function(e){return u.call(t,e)>-1!==n})):k.filter(t,e,n)}k.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?k.find.matchesSelector(r,e)?[r]:[]:k.find.matches(e,k.grep(t,(function(e){return 1===e.nodeType})))},k.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!==typeof e)return this.pushStack(k(e).filter((function(){for(t=0;t1?k.uniqueSort(n):n},filter:function(e){return this.pushStack(L(this,e||[],!1))},not:function(e){return this.pushStack(L(this,e||[],!0))},is:function(e){return!!L(this,"string"===typeof e&&O.test(e)?k(e):e||[],!1).length}});var D,M=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"===typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:M.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:b,!0)),N.test(r[1])&&k.isPlainObject(t))for(r in t)v(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=b.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):v(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,D=k(b);var P=/^(?:parents|prev(?:Until|All))/,j={children:!0,contents:!0,next:!0,prev:!0};function I(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter((function(){for(var e=0;e-1:1===n.nodeType&&k.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?k.uniqueSort(o):o)},index:function(e){return e?"string"===typeof e?u.call(k(e),this[0]):u.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(k.uniqueSort(k.merge(this.get(),k(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),k.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return T(e,"parentNode")},parentsUntil:function(e,t,n){return T(e,"parentNode",n)},next:function(e){return I(e,"nextSibling")},prev:function(e){return I(e,"previousSibling")},nextAll:function(e){return T(e,"nextSibling")},prevAll:function(e){return T(e,"previousSibling")},nextUntil:function(e,t,n){return T(e,"nextSibling",n)},prevUntil:function(e,t,n){return T(e,"previousSibling",n)},siblings:function(e){return C((e.parentNode||{}).firstChild,e)},children:function(e){return C(e.firstChild)},contents:function(e){return null!=e.contentDocument&&a(e.contentDocument)?e.contentDocument:(A(e,"template")&&(e=e.content||e),k.merge([],e.childNodes))}},(function(e,t){k.fn[e]=function(n,r){var i=k.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"===typeof r&&(i=k.filter(r,i)),this.length>1&&(j[e]||k.uniqueSort(i),P.test(e)&&i.reverse()),this.pushStack(i)}}));var R=/[^\x20\t\r\n\f]+/g;function q(e){return e}function F(e){throw e}function z(e,t,n,r){var i;try{e&&v(i=e.promise)?i.call(e).done(t).fail(n):e&&v(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}k.Callbacks=function(e){e="string"===typeof e?function(e){var t={};return k.each(e.match(R)||[],(function(e,n){t[n]=!0})),t}(e):k.extend({},e);var t,n,r,i,o=[],a=[],s=-1,l=function(){for(i=i||e.once,r=t=!0;a.length;s=-1)for(n=a.shift();++s-1;)o.splice(n,1),n<=s&&s--})),this},has:function(e){return e?k.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||l()),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},k.extend({Deferred:function(e){var t=[["notify","progress",k.Callbacks("memory"),k.Callbacks("memory"),2],["resolve","done",k.Callbacks("once memory"),k.Callbacks("once memory"),0,"resolved"],["reject","fail",k.Callbacks("once memory"),k.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},catch:function(e){return i.then(null,e)},pipe:function(){var e=arguments;return k.Deferred((function(n){k.each(t,(function(t,r){var i=v(e[r[4]])&&e[r[4]];o[r[1]]((function(){var e=i&&i.apply(this,arguments);e&&v(e.promise)?e.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[r[0]+"With"](this,i?[e]:arguments)}))})),e=null})).promise()},then:function(e,r,i){var o=0;function a(e,t,r,i){return function(){var s=this,l=arguments,c=function(){var n,c;if(!(e=o&&(r!==F&&(s=void 0,l=[n]),t.rejectWith(s,l))}};e?u():(k.Deferred.getStackHook&&(u.stackTrace=k.Deferred.getStackHook()),n.setTimeout(u))}}return k.Deferred((function(n){t[0][3].add(a(0,n,v(i)?i:q,n.notifyWith)),t[1][3].add(a(0,n,v(e)?e:q)),t[2][3].add(a(0,n,v(r)?r:F))})).promise()},promise:function(e){return null!=e?k.extend(e,i):i}},o={};return k.each(t,(function(e,n){var a=n[2],s=n[5];i[n[1]]=a.add,s&&a.add((function(){r=s}),t[3-e][2].disable,t[3-e][3].disable,t[0][2].lock,t[0][3].lock),a.add(n[3].fire),o[n[0]]=function(){return o[n[0]+"With"](this===o?void 0:this,arguments),this},o[n[0]+"With"]=a.fireWith})),i.promise(o),e&&e.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=s.call(arguments),o=k.Deferred(),a=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?s.call(arguments):n,--t||o.resolveWith(r,i)}};if(t<=1&&(z(e,o.done(a(n)).resolve,o.reject,!t),"pending"===o.state()||v(i[n]&&i[n].then)))return o.then();for(;n--;)z(i[n],a(n),o.reject);return o.promise()}});var H=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;k.Deferred.exceptionHook=function(e,t){n.console&&n.console.warn&&e&&H.test(e.name)&&n.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},k.readyException=function(e){n.setTimeout((function(){throw e}))};var B=k.Deferred();function U(){b.removeEventListener("DOMContentLoaded",U),n.removeEventListener("load",U),k.ready()}k.fn.ready=function(e){return B.then(e).catch((function(e){k.readyException(e)})),this},k.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--k.readyWait:k.isReady)||(k.isReady=!0,!0!==e&&--k.readyWait>0||B.resolveWith(b,[k]))}}),k.ready.then=B.then,"complete"===b.readyState||"loading"!==b.readyState&&!b.documentElement.doScroll?n.setTimeout(k.ready):(b.addEventListener("DOMContentLoaded",U),n.addEventListener("load",U));var W=function e(t,n,r,i,o,a,s){var l=0,c=t.length,u=null==r;if("object"===_(r))for(l in o=!0,r)e(t,n,l,r[l],!0,a,s);else if(void 0!==i&&(o=!0,v(i)||(s=!0),u&&(s?(n.call(t,i),n=null):(u=n,n=function(e,t,n){return u.call(k(e),n)})),n))for(;l1,null,!0)},removeData:function(e){return this.each((function(){J.remove(this,e)}))}}),k.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Q.get(e,t),n&&(!r||Array.isArray(n)?r=Q.access(e,t,k.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){var n=k.queue(e,t=t||"fx"),r=n.length,i=n.shift(),o=k._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,(function(){k.dequeue(e,t)}),o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Q.get(e,n)||Q.access(e,n,{empty:k.Callbacks("once memory").add((function(){Q.remove(e,[t+"queue",n])}))})}}),k.fn.extend({queue:function(e,t){var n=2;return"string"!==typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]*)/i,me=/^$|^module$|\/(?:java|ecma)script/i;!function(){var e=b.createDocumentFragment().appendChild(b.createElement("div")),t=b.createElement("input");t.setAttribute("type","radio"),t.setAttribute("checked","checked"),t.setAttribute("name","t"),e.appendChild(t),g.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="",g.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue,e.innerHTML="",g.option=!!e.lastChild}();var ge={thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!==typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!==typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var be=/<|&#?\w+;/;function we(e,t,n,r,i){for(var o,a,s,l,c,u,f=t.createDocumentFragment(),d=[],p=0,h=e.length;p-1)i&&i.push(o);else if(c=ae(o),a=ve(f.appendChild(o),"script"),c&&ye(a),n)for(u=0;o=a[u++];)me.test(o.type||"")&&n.push(o);return f}var xe=/^key/,_e=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,ke=/^([^.]*)(?:\.(.+)|)/;function Se(){return!0}function Ee(){return!1}function Te(e,t){return e===function(){try{return b.activeElement}catch(e){}}()===("focus"===t)}function Ce(e,t,n,r,i,o){var a,s;if("object"===typeof t){for(s in"string"!==typeof n&&(r=r||n,n=void 0),t)Ce(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"===typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Ee;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each((function(){k.event.add(this,t,i,r,n)}))}function Oe(e,t,n){n?(Q.set(e,t,!1),k.event.add(e,t,{namespace:!1,handler:function(e){var r,i,o=Q.get(this,t);if(1&e.isTrigger&&this[t]){if(o.length)(k.event.special[t]||{}).delegateType&&e.stopPropagation();else if(o=s.call(arguments),Q.set(this,t,o),r=n(this,t),this[t](),o!==(i=Q.get(this,t))||r?Q.set(this,t,!1):i={},o!==i)return e.stopImmediatePropagation(),e.preventDefault(),i.value}else o.length&&(Q.set(this,t,{value:k.event.trigger(k.extend(o[0],k.Event.prototype),o.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,t)&&k.event.add(e,t,Se)}k.event={global:{},add:function(e,t,n,r,i){var o,a,s,l,c,u,f,d,p,h,m,g=Q.get(e);if(G(e))for(n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(oe,i),n.guid||(n.guid=k.guid++),(l=g.events)||(l=g.events=Object.create(null)),(a=g.handle)||(a=g.handle=function(t){return k.event.triggered!==t.type?k.event.dispatch.apply(e,arguments):void 0}),c=(t=(t||"").match(R)||[""]).length;c--;)p=m=(s=ke.exec(t[c])||[])[1],h=(s[2]||"").split(".").sort(),p&&(f=k.event.special[p]||{},p=(i?f.delegateType:f.bindType)||p,f=k.event.special[p]||{},u=k.extend({type:p,origType:m,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(d=l[p])||((d=l[p]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(p,a)),f.add&&(f.add.call(e,u),u.handler.guid||(u.handler.guid=n.guid)),i?d.splice(d.delegateCount++,0,u):d.push(u),k.event.global[p]=!0)},remove:function(e,t,n,r,i){var o,a,s,l,c,u,f,d,p,h,m,g=Q.hasData(e)&&Q.get(e);if(g&&(l=g.events)){for(c=(t=(t||"").match(R)||[""]).length;c--;)if(p=m=(s=ke.exec(t[c])||[])[1],h=(s[2]||"").split(".").sort(),p){for(f=k.event.special[p]||{},d=l[p=(r?f.delegateType:f.bindType)||p]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=d.length;o--;)u=d[o],!i&&m!==u.origType||n&&n.guid!==u.guid||s&&!s.test(u.namespace)||r&&r!==u.selector&&("**"!==r||!u.selector)||(d.splice(o,1),u.selector&&d.delegateCount--,f.remove&&f.remove.call(e,u));a&&!d.length&&(f.teardown&&!1!==f.teardown.call(e,h,g.handle)||k.removeEvent(e,p,g.handle),delete l[p])}else for(p in l)k.event.remove(e,p+t[c],n,r,!0);k.isEmptyObject(l)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),l=k.event.fix(e),c=(Q.get(this,"events")||Object.create(null))[l.type]||[],u=k.event.special[l.type]||{};for(s[0]=l,t=1;t=1))for(;c!==this;c=c.parentNode||this)if(1===c.nodeType&&("click"!==e.type||!0!==c.disabled)){for(o=[],a={},n=0;n-1:k.find(i,this,null,[c]).length),a[i]&&o.push(r);o.length&&s.push({elem:c,handlers:o})}return c=this,l\s*$/g;function De(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Me(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Pe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function je(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Q.hasData(e)&&(s=Q.get(e).events))for(i in Q.remove(t,"handle events"),s)for(n=0,r=s[i].length;n1&&"string"===typeof h&&!g.checkClone&&Ne.test(h))return e.each((function(i){var o=e.eq(i);m&&(t[0]=h.call(this,i,o.html())),Re(o,t,n,r)}));if(d&&(o=(i=we(t,e[0].ownerDocument,!1,e,r)).firstChild,1===i.childNodes.length&&(i=o),o||r)){for(s=(a=k.map(ve(i,"script"),Me)).length;f0&&ye(a,!l&&ve(e,"script")),s},cleanData:function(e){for(var t,n,r,i=k.event.special,o=0;void 0!==(n=e[o]);o++)if(G(n)){if(t=n[Q.expando]){if(t.events)for(r in t.events)i[r]?k.event.remove(n,r):k.removeEvent(n,r,t.handle);n[Q.expando]=void 0}n[J.expando]&&(n[J.expando]=void 0)}}}),k.fn.extend({detach:function(e){return qe(this,e,!0)},remove:function(e){return qe(this,e)},text:function(e){return W(this,(function(e){return void 0===e?k.text(this):this.empty().each((function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)}))}),null,e,arguments.length)},append:function(){return Re(this,arguments,(function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||De(this,e).appendChild(e)}))},prepend:function(){return Re(this,arguments,(function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=De(this,e);t.insertBefore(e,t.firstChild)}}))},before:function(){return Re(this,arguments,(function(e){this.parentNode&&this.parentNode.insertBefore(e,this)}))},after:function(){return Re(this,arguments,(function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)}))},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(k.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map((function(){return k.clone(this,e,t)}))},html:function(e){return W(this,(function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"===typeof e&&!Ae.test(e)&&!ge[(he.exec(e)||["",""])[1].toLowerCase()]){e=k.htmlPrefilter(e);try{for(;n3,oe.removeChild(e)),s}}))}();var Ve=["Webkit","Moz","ms"],Ye=b.createElement("div").style,$e={};function Xe(e){var t=k.cssProps[e]||$e[e];return t||(e in Ye?e:$e[e]=function(e){for(var t=e[0].toUpperCase()+e.slice(1),n=Ve.length;n--;)if((e=Ve[n]+t)in Ye)return e}(e)||e)}var Ge=/^(none|table(?!-c[ea]).+)/,Ke=/^--/,Qe={position:"absolute",visibility:"hidden",display:"block"},Je={letterSpacing:"0",fontWeight:"400"};function Ze(e,t,n){var r=re.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function et(e,t,n,r,i,o){var a="width"===t?1:0,s=0,l=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(l+=k.css(e,n+ie[a],!0,i)),r?("content"===n&&(l-=k.css(e,"padding"+ie[a],!0,i)),"margin"!==n&&(l-=k.css(e,"border"+ie[a]+"Width",!0,i))):(l+=k.css(e,"padding"+ie[a],!0,i),"padding"!==n?l+=k.css(e,"border"+ie[a]+"Width",!0,i):s+=k.css(e,"border"+ie[a]+"Width",!0,i));return!r&&o>=0&&(l+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-l-s-.5))||0),l}function tt(e,t,n){var r=ze(e),i=(!g.boxSizingReliable()||n)&&"border-box"===k.css(e,"boxSizing",!1,r),o=i,a=Ue(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Fe.test(a)){if(!n)return a;a="auto"}return(!g.boxSizingReliable()&&i||!g.reliableTrDimensions()&&A(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===k.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===k.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+et(e,t,n||(i?"border":"content"),o,r,a)+"px"}function nt(e,t,n,r,i){return new nt.prototype.init(e,t,n,r,i)}k.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Ue(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=X(t),l=Ke.test(t),c=e.style;if(l||(t=Xe(s)),a=k.cssHooks[t]||k.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:c[t];"string"===(o=typeof n)&&(i=re.exec(n))&&i[1]&&(n=ce(e,t,i),o="number"),null!=n&&n===n&&("number"!==o||l||(n+=i&&i[3]||(k.cssNumber[s]?"":"px")),g.clearCloneStyle||""!==n||0!==t.indexOf("background")||(c[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(l?c.setProperty(t,n):c[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return Ke.test(t)||(t=Xe(s)),(a=k.cssHooks[t]||k.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Ue(e,t,r)),"normal"===i&&t in Je&&(i=Je[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),k.each(["height","width"],(function(e,t){k.cssHooks[t]={get:function(e,n,r){if(n)return!Ge.test(k.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?tt(e,t,r):He(e,Qe,(function(){return tt(e,t,r)}))},set:function(e,n,r){var i,o=ze(e),a=!g.scrollboxSize()&&"absolute"===o.position,s=(a||r)&&"border-box"===k.css(e,"boxSizing",!1,o),l=r?et(e,t,r,s,o):0;return s&&a&&(l-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-et(e,t,"border",!1,o)-.5)),l&&(i=re.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=k.css(e,t)),Ze(0,n,l)}}})),k.cssHooks.marginLeft=We(g.reliableMarginLeft,(function(e,t){if(t)return(parseFloat(Ue(e,"marginLeft"))||e.getBoundingClientRect().left-He(e,{marginLeft:0},(function(){return e.getBoundingClientRect().left})))+"px"})),k.each({margin:"",padding:"",border:"Width"},(function(e,t){k.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"===typeof n?n.split(" "):[n];r<4;r++)i[e+ie[r]+t]=o[r]||o[r-2]||o[0];return i}},"margin"!==e&&(k.cssHooks[e+t].set=Ze)})),k.fn.extend({css:function(e,t){return W(this,(function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=ze(e),i=t.length;a1)}}),k.Tween=nt,nt.prototype={constructor:nt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||k.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(k.cssNumber[n]?"":"px")},cur:function(){var e=nt.propHooks[this.prop];return e&&e.get?e.get(this):nt.propHooks._default.get(this)},run:function(e){var t,n=nt.propHooks[this.prop];return this.options.duration?this.pos=t=k.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):nt.propHooks._default.set(this),this}},nt.prototype.init.prototype=nt.prototype,nt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=k.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){k.fx.step[e.prop]?k.fx.step[e.prop](e):1!==e.elem.nodeType||!k.cssHooks[e.prop]&&null==e.elem.style[Xe(e.prop)]?e.elem[e.prop]=e.now:k.style(e.elem,e.prop,e.now+e.unit)}}},nt.propHooks.scrollTop=nt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},k.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},(k.fx=nt.prototype.init).step={};var rt,it,ot=/^(?:toggle|show|hide)$/,at=/queueHooks$/;function st(){it&&(!1===b.hidden&&n.requestAnimationFrame?n.requestAnimationFrame(st):n.setTimeout(st,k.fx.interval),k.fx.tick())}function lt(){return n.setTimeout((function(){rt=void 0})),rt=Date.now()}function ct(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=ie[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function ut(e,t,n){for(var r,i=(ft.tweeners[t]||[]).concat(ft.tweeners["*"]),o=0,a=i.length;o1)},removeAttr:function(e){return this.each((function(){k.removeAttr(this,e)}))}}),k.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"===typeof e.getAttribute?k.prop(e,t,n):(1===o&&k.isXMLDoc(e)||(i=k.attrHooks[t.toLowerCase()]||(k.expr.match.bool.test(t)?dt:void 0)),void 0!==n?null===n?void k.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=k.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!g.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(R);if(i&&1===e.nodeType)for(;n=i[r++];)e.removeAttribute(n)}}),dt={set:function(e,t,n){return!1===t?k.removeAttr(e,n):e.setAttribute(n,n),n}},k.each(k.expr.match.bool.source.match(/\w+/g),(function(e,t){var n=pt[t]||k.find.attr;pt[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=pt[a],pt[a]=i,i=null!=n(e,t,r)?a:null,pt[a]=o),i}}));var ht=/^(?:input|select|textarea|button)$/i,mt=/^(?:a|area)$/i;function gt(e){return(e.match(R)||[]).join(" ")}function vt(e){return e.getAttribute&&e.getAttribute("class")||""}function yt(e){return Array.isArray(e)?e:"string"===typeof e&&e.match(R)||[]}k.fn.extend({prop:function(e,t){return W(this,k.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each((function(){delete this[k.propFix[e]||e]}))}}),k.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&k.isXMLDoc(e)||(t=k.propFix[t]||t,i=k.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=k.find.attr(e,"tabindex");return t?parseInt(t,10):ht.test(e.nodeName)||mt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),g.optSelected||(k.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),k.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],(function(){k.propFix[this.toLowerCase()]=this})),k.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,l=0;if(v(e))return this.each((function(t){k(this).addClass(e.call(this,t,vt(this)))}));if((t=yt(e)).length)for(;n=this[l++];)if(i=vt(n),r=1===n.nodeType&&" "+gt(i)+" "){for(a=0;o=t[a++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=gt(r))&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,l=0;if(v(e))return this.each((function(t){k(this).removeClass(e.call(this,t,vt(this)))}));if(!arguments.length)return this.attr("class","");if((t=yt(e)).length)for(;n=this[l++];)if(i=vt(n),r=1===n.nodeType&&" "+gt(i)+" "){for(a=0;o=t[a++];)for(;r.indexOf(" "+o+" ")>-1;)r=r.replace(" "+o+" "," ");i!==(s=gt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e,r="string"===n||Array.isArray(e);return"boolean"===typeof t&&r?t?this.addClass(e):this.removeClass(e):v(e)?this.each((function(n){k(this).toggleClass(e.call(this,n,vt(this),t),t)})):this.each((function(){var t,i,o,a;if(r)for(i=0,o=k(this),a=yt(e);t=a[i++];)o.hasClass(t)?o.removeClass(t):o.addClass(t);else void 0!==e&&"boolean"!==n||((t=vt(this))&&Q.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":Q.get(this,"__className__")||""))}))},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+gt(vt(n))+" ").indexOf(t)>-1)return!0;return!1}});var bt=/\r/g;k.fn.extend({val:function(e){var t,n,r,i=this[0];return arguments.length?(r=v(e),this.each((function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,k(this).val()):e)?i="":"number"===typeof i?i+="":Array.isArray(i)&&(i=k.map(i,(function(e){return null==e?"":e+""}))),(t=k.valHooks[this.type]||k.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))}))):i?(t=k.valHooks[i.type]||k.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"===typeof(n=i.value)?n.replace(bt,""):null==n?"":n:void 0}}),k.extend({valHooks:{option:{get:function(e){var t=k.find.attr(e,"value");return null!=t?t:gt(k.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],l=a?o+1:i.length;for(r=o<0?l:a?o:0;r-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),k.each(["radio","checkbox"],(function(){k.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=k.inArray(k(e).val(),t)>-1}},g.checkOn||(k.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})})),g.focusin="onfocusin"in n;var wt=/^(?:focusinfocus|focusoutblur)$/,xt=function(e){e.stopPropagation()};k.extend(k.event,{trigger:function(e,t,r,i){var o,a,s,l,c,u,f,d,h=[r||b],m=p.call(e,"type")?e.type:e,g=p.call(e,"namespace")?e.namespace.split("."):[];if(a=d=s=r=r||b,3!==r.nodeType&&8!==r.nodeType&&!wt.test(m+k.event.triggered)&&(m.indexOf(".")>-1&&(g=m.split("."),m=g.shift(),g.sort()),c=m.indexOf(":")<0&&"on"+m,(e=e[k.expando]?e:new k.Event(m,"object"===typeof e&&e)).isTrigger=i?2:3,e.namespace=g.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+g.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=r),t=null==t?[e]:k.makeArray(t,[e]),f=k.event.special[m]||{},i||!f.trigger||!1!==f.trigger.apply(r,t))){if(!i&&!f.noBubble&&!y(r)){for(l=f.delegateType||m,wt.test(l+m)||(a=a.parentNode);a;a=a.parentNode)h.push(a),s=a;s===(r.ownerDocument||b)&&h.push(s.defaultView||s.parentWindow||n)}for(o=0;(a=h[o++])&&!e.isPropagationStopped();)d=a,e.type=o>1?l:f.bindType||m,(u=(Q.get(a,"events")||Object.create(null))[e.type]&&Q.get(a,"handle"))&&u.apply(a,t),(u=c&&a[c])&&u.apply&&G(a)&&(e.result=u.apply(a,t),!1===e.result&&e.preventDefault());return e.type=m,i||e.isDefaultPrevented()||f._default&&!1!==f._default.apply(h.pop(),t)||!G(r)||c&&v(r[m])&&!y(r)&&((s=r[c])&&(r[c]=null),k.event.triggered=m,e.isPropagationStopped()&&d.addEventListener(m,xt),r[m](),e.isPropagationStopped()&&d.removeEventListener(m,xt),k.event.triggered=void 0,s&&(r[c]=s)),e.result}},simulate:function(e,t,n){var r=k.extend(new k.Event,n,{type:e,isSimulated:!0});k.event.trigger(r,null,t)}}),k.fn.extend({trigger:function(e,t){return this.each((function(){k.event.trigger(e,t,this)}))},triggerHandler:function(e,t){var n=this[0];if(n)return k.event.trigger(e,t,n,!0)}}),g.focusin||k.each({focus:"focusin",blur:"focusout"},(function(e,t){var n=function(e){k.event.simulate(t,e.target,k.event.fix(e))};k.event.special[t]={setup:function(){var r=this.ownerDocument||this.document||this,i=Q.access(r,t);i||r.addEventListener(e,n,!0),Q.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this.document||this,i=Q.access(r,t)-1;i?Q.access(r,t,i):(r.removeEventListener(e,n,!0),Q.remove(r,t))}}}));var _t=n.location,kt={guid:Date.now()},St=/\?/;k.parseXML=function(e){var t;if(!e||"string"!==typeof e)return null;try{t=(new n.DOMParser).parseFromString(e,"text/xml")}catch(r){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||k.error("Invalid XML: "+e),t};var Et=/\[\]$/,Tt=/\r?\n/g,Ct=/^(?:submit|button|image|reset|file)$/i,Ot=/^(?:input|select|textarea|keygen)/i;function At(e,t,n,r){var i;if(Array.isArray(t))k.each(t,(function(t,i){n||Et.test(e)?r(e,i):At(e+"["+("object"===typeof i&&null!=i?t:"")+"]",i,n,r)}));else if(n||"object"!==_(t))r(e,t);else for(i in t)At(e+"["+i+"]",t[i],n,r)}k.param=function(e,t){var n,r=[],i=function(e,t){var n=v(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!k.isPlainObject(e))k.each(e,(function(){i(this.name,this.value)}));else for(n in e)At(n,e[n],t,i);return r.join("&")},k.fn.extend({serialize:function(){return k.param(this.serializeArray())},serializeArray:function(){return this.map((function(){var e=k.prop(this,"elements");return e?k.makeArray(e):this})).filter((function(){var e=this.type;return this.name&&!k(this).is(":disabled")&&Ot.test(this.nodeName)&&!Ct.test(e)&&(this.checked||!pe.test(e))})).map((function(e,t){var n=k(this).val();return null==n?null:Array.isArray(n)?k.map(n,(function(e){return{name:t.name,value:e.replace(Tt,"\r\n")}})):{name:t.name,value:n.replace(Tt,"\r\n")}})).get()}});var Nt=/%20/g,Lt=/#.*$/,Dt=/([?&])_=[^&]*/,Mt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Pt=/^(?:GET|HEAD)$/,jt=/^\/\//,It={},Rt={},qt="*/".concat("*"),Ft=b.createElement("a");function zt(e){return function(t,n){"string"!==typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(R)||[];if(v(n))for(;r=o[i++];)"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function Ht(e,t,n,r){var i={},o=e===Rt;function a(s){var l;return i[s]=!0,k.each(e[s]||[],(function(e,s){var c=s(t,n,r);return"string"!==typeof c||o||i[c]?o?!(l=c):void 0:(t.dataTypes.unshift(c),a(c),!1)})),l}return a(t.dataTypes[0])||!i["*"]&&a("*")}function Bt(e,t){var n,r,i=k.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&k.extend(!0,e,r),e}Ft.href=_t.href,k.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:_t.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(_t.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":qt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":k.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Bt(Bt(e,k.ajaxSettings),t):Bt(k.ajaxSettings,e)},ajaxPrefilter:zt(It),ajaxTransport:zt(Rt),ajax:function(e,t){"object"===typeof e&&(t=e,e=void 0);var r,i,o,a,s,l,c,u,f,d,p=k.ajaxSetup({},t=t||{}),h=p.context||p,m=p.context&&(h.nodeType||h.jquery)?k(h):k.event,g=k.Deferred(),v=k.Callbacks("once memory"),y=p.statusCode||{},w={},x={},_="canceled",S={readyState:0,getResponseHeader:function(e){var t;if(c){if(!a)for(a={};t=Mt.exec(o);)a[t[1].toLowerCase()+" "]=(a[t[1].toLowerCase()+" "]||[]).concat(t[2]);t=a[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return c?o:null},setRequestHeader:function(e,t){return null==c&&(e=x[e.toLowerCase()]=x[e.toLowerCase()]||e,w[e]=t),this},overrideMimeType:function(e){return null==c&&(p.mimeType=e),this},statusCode:function(e){var t;if(e)if(c)S.always(e[S.status]);else for(t in e)y[t]=[y[t],e[t]];return this},abort:function(e){var t=e||_;return r&&r.abort(t),E(0,t),this}};if(g.promise(S),p.url=((e||p.url||_t.href)+"").replace(jt,_t.protocol+"//"),p.type=t.method||t.type||p.method||p.type,p.dataTypes=(p.dataType||"*").toLowerCase().match(R)||[""],null==p.crossDomain){l=b.createElement("a");try{l.href=p.url,l.href=l.href,p.crossDomain=Ft.protocol+"//"+Ft.host!==l.protocol+"//"+l.host}catch(T){p.crossDomain=!0}}if(p.data&&p.processData&&"string"!==typeof p.data&&(p.data=k.param(p.data,p.traditional)),Ht(It,p,t,S),c)return S;for(f in(u=k.event&&p.global)&&0===k.active++&&k.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!Pt.test(p.type),i=p.url.replace(Lt,""),p.hasContent?p.data&&p.processData&&0===(p.contentType||"").indexOf("application/x-www-form-urlencoded")&&(p.data=p.data.replace(Nt,"+")):(d=p.url.slice(i.length),p.data&&(p.processData||"string"===typeof p.data)&&(i+=(St.test(i)?"&":"?")+p.data,delete p.data),!1===p.cache&&(i=i.replace(Dt,"$1"),d=(St.test(i)?"&":"?")+"_="+kt.guid+++d),p.url=i+d),p.ifModified&&(k.lastModified[i]&&S.setRequestHeader("If-Modified-Since",k.lastModified[i]),k.etag[i]&&S.setRequestHeader("If-None-Match",k.etag[i])),(p.data&&p.hasContent&&!1!==p.contentType||t.contentType)&&S.setRequestHeader("Content-Type",p.contentType),S.setRequestHeader("Accept",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+("*"!==p.dataTypes[0]?", "+qt+"; q=0.01":""):p.accepts["*"]),p.headers)S.setRequestHeader(f,p.headers[f]);if(p.beforeSend&&(!1===p.beforeSend.call(h,S,p)||c))return S.abort();if(_="abort",v.add(p.complete),S.done(p.success),S.fail(p.error),r=Ht(Rt,p,t,S)){if(S.readyState=1,u&&m.trigger("ajaxSend",[S,p]),c)return S;p.async&&p.timeout>0&&(s=n.setTimeout((function(){S.abort("timeout")}),p.timeout));try{c=!1,r.send(w,E)}catch(T){if(c)throw T;E(-1,T)}}else E(-1,"No Transport");function E(e,t,a,l){var f,d,b,w,x,_=t;c||(c=!0,s&&n.clearTimeout(s),r=void 0,o=l||"",S.readyState=e>0?4:0,f=e>=200&&e<300||304===e,a&&(w=function(e,t,n){for(var r,i,o,a,s=e.contents,l=e.dataTypes;"*"===l[0];)l.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){l.unshift(i);break}if(l[0]in n)o=l[0];else{for(i in n){if(!l[0]||e.converters[i+" "+l[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==l[0]&&l.unshift(o),n[o]}(p,S,a)),!f&&k.inArray("script",p.dataTypes)>-1&&(p.converters["text script"]=function(){}),w=function(e,t,n,r){var i,o,a,s,l,c={},u=e.dataTypes.slice();if(u[1])for(a in e.converters)c[a.toLowerCase()]=e.converters[a];for(o=u.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!l&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),l=o,o=u.shift())if("*"===o)o=l;else if("*"!==l&&l!==o){if(!(a=c[l+" "+o]||c["* "+o]))for(i in c)if((s=i.split(" "))[1]===o&&(a=c[l+" "+s[0]]||c["* "+s[0]])){!0===a?a=c[i]:!0!==c[i]&&(o=s[0],u.unshift(s[1]));break}if(!0!==a)if(a&&e.throws)t=a(t);else try{t=a(t)}catch(T){return{state:"parsererror",error:a?T:"No conversion from "+l+" to "+o}}}return{state:"success",data:t}}(p,w,S,f),f?(p.ifModified&&((x=S.getResponseHeader("Last-Modified"))&&(k.lastModified[i]=x),(x=S.getResponseHeader("etag"))&&(k.etag[i]=x)),204===e||"HEAD"===p.type?_="nocontent":304===e?_="notmodified":(_=w.state,d=w.data,f=!(b=w.error))):(b=_,!e&&_||(_="error",e<0&&(e=0))),S.status=e,S.statusText=(t||_)+"",f?g.resolveWith(h,[d,_,S]):g.rejectWith(h,[S,_,b]),S.statusCode(y),y=void 0,u&&m.trigger(f?"ajaxSuccess":"ajaxError",[S,p,f?d:b]),v.fireWith(h,[S,_]),u&&(m.trigger("ajaxComplete",[S,p]),--k.active||k.event.trigger("ajaxStop")))}return S},getJSON:function(e,t,n){return k.get(e,t,n,"json")},getScript:function(e,t){return k.get(e,void 0,t,"script")}}),k.each(["get","post"],(function(e,t){k[t]=function(e,n,r,i){return v(n)&&(i=i||r,r=n,n=void 0),k.ajax(k.extend({url:e,type:t,dataType:i,data:n,success:r},k.isPlainObject(e)&&e))}})),k.ajaxPrefilter((function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")})),k._evalUrl=function(e,t,n){return k.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){k.globalEval(e,t,n)}})},k.fn.extend({wrapAll:function(e){var t;return this[0]&&(v(e)&&(e=e.call(this[0])),t=k(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map((function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e})).append(this)),this},wrapInner:function(e){return v(e)?this.each((function(t){k(this).wrapInner(e.call(this,t))})):this.each((function(){var t=k(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)}))},wrap:function(e){var t=v(e);return this.each((function(n){k(this).wrapAll(t?e.call(this,n):e)}))},unwrap:function(e){return this.parent(e).not("body").each((function(){k(this).replaceWith(this.childNodes)})),this}}),k.expr.pseudos.hidden=function(e){return!k.expr.pseudos.visible(e)},k.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},k.ajaxSettings.xhr=function(){try{return new n.XMLHttpRequest}catch(e){}};var Ut={0:200,1223:204},Wt=k.ajaxSettings.xhr();g.cors=!!Wt&&"withCredentials"in Wt,g.ajax=Wt=!!Wt,k.ajaxTransport((function(e){var t,r;if(g.cors||Wt&&!e.crossDomain)return{send:function(i,o){var a,s=e.xhr();if(s.open(e.type,e.url,e.async,e.username,e.password),e.xhrFields)for(a in e.xhrFields)s[a]=e.xhrFields[a];for(a in e.mimeType&&s.overrideMimeType&&s.overrideMimeType(e.mimeType),e.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest"),i)s.setRequestHeader(a,i[a]);t=function(e){return function(){t&&(t=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!==typeof s.status?o(0,"error"):o(s.status,s.statusText):o(Ut[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!==typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=t(),r=s.onerror=s.ontimeout=t("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&n.setTimeout((function(){t&&r()}))},t=t("abort");try{s.send(e.hasContent&&e.data||null)}catch(l){if(t)throw l}},abort:function(){t&&t()}}})),k.ajaxPrefilter((function(e){e.crossDomain&&(e.contents.script=!1)})),k.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return k.globalEval(e),e}}}),k.ajaxPrefilter("script",(function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")})),k.ajaxTransport("script",(function(e){var t,n;if(e.crossDomain||e.scriptAttrs)return{send:function(r,i){t=k("\n if (val === '') return true;\n if (val === 'false') return false;\n if (val === 'true') return true;\n return val;\n}\n\nif (DOCUMENT && typeof DOCUMENT.querySelector === 'function') {\n var attrs = [['data-family-prefix', 'familyPrefix'], ['data-replacement-class', 'replacementClass'], ['data-auto-replace-svg', 'autoReplaceSvg'], ['data-auto-add-css', 'autoAddCss'], ['data-auto-a11y', 'autoA11y'], ['data-search-pseudo-elements', 'searchPseudoElements'], ['data-observe-mutations', 'observeMutations'], ['data-mutate-approach', 'mutateApproach'], ['data-keep-original-source', 'keepOriginalSource'], ['data-measure-performance', 'measurePerformance'], ['data-show-missing-icons', 'showMissingIcons']];\n attrs.forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n attr = _ref2[0],\n key = _ref2[1];\n\n var val = coerce(getAttrConfig(attr));\n\n if (val !== undefined && val !== null) {\n initial[key] = val;\n }\n });\n}\n\nvar _default = {\n familyPrefix: DEFAULT_FAMILY_PREFIX,\n replacementClass: DEFAULT_REPLACEMENT_CLASS,\n autoReplaceSvg: true,\n autoAddCss: true,\n autoA11y: true,\n searchPseudoElements: false,\n observeMutations: true,\n mutateApproach: 'async',\n keepOriginalSource: true,\n measurePerformance: false,\n showMissingIcons: true\n};\n\nvar _config = _objectSpread({}, _default, initial);\n\nif (!_config.autoReplaceSvg) _config.observeMutations = false;\n\nvar config = _objectSpread({}, _config);\n\nWINDOW.FontAwesomeConfig = config;\n\nvar w = WINDOW || {};\nif (!w[NAMESPACE_IDENTIFIER]) w[NAMESPACE_IDENTIFIER] = {};\nif (!w[NAMESPACE_IDENTIFIER].styles) w[NAMESPACE_IDENTIFIER].styles = {};\nif (!w[NAMESPACE_IDENTIFIER].hooks) w[NAMESPACE_IDENTIFIER].hooks = {};\nif (!w[NAMESPACE_IDENTIFIER].shims) w[NAMESPACE_IDENTIFIER].shims = [];\nvar namespace = w[NAMESPACE_IDENTIFIER];\n\nvar functions = [];\n\nvar listener = function listener() {\n DOCUMENT.removeEventListener('DOMContentLoaded', listener);\n loaded = 1;\n functions.map(function (fn) {\n return fn();\n });\n};\n\nvar loaded = false;\n\nif (IS_DOM) {\n loaded = (DOCUMENT.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(DOCUMENT.readyState);\n if (!loaded) DOCUMENT.addEventListener('DOMContentLoaded', listener);\n}\n\nfunction domready (fn) {\n if (!IS_DOM) return;\n loaded ? setTimeout(fn, 0) : functions.push(fn);\n}\n\nvar PENDING = 'pending';\nvar SETTLED = 'settled';\nvar FULFILLED = 'fulfilled';\nvar REJECTED = 'rejected';\n\nvar NOOP = function NOOP() {};\n\nvar isNode = typeof global !== 'undefined' && typeof global.process !== 'undefined' && typeof global.process.emit === 'function';\nvar asyncSetTimer = typeof setImmediate === 'undefined' ? setTimeout : setImmediate;\nvar asyncQueue = [];\nvar asyncTimer;\n\nfunction asyncFlush() {\n // run promise callbacks\n for (var i = 0; i < asyncQueue.length; i++) {\n asyncQueue[i][0](asyncQueue[i][1]);\n } // reset async asyncQueue\n\n\n asyncQueue = [];\n asyncTimer = false;\n}\n\nfunction asyncCall(callback, arg) {\n asyncQueue.push([callback, arg]);\n\n if (!asyncTimer) {\n asyncTimer = true;\n asyncSetTimer(asyncFlush, 0);\n }\n}\n\nfunction invokeResolver(resolver, promise) {\n function resolvePromise(value) {\n resolve(promise, value);\n }\n\n function rejectPromise(reason) {\n reject(promise, reason);\n }\n\n try {\n resolver(resolvePromise, rejectPromise);\n } catch (e) {\n rejectPromise(e);\n }\n}\n\nfunction invokeCallback(subscriber) {\n var owner = subscriber.owner;\n var settled = owner._state;\n var value = owner._data;\n var callback = subscriber[settled];\n var promise = subscriber.then;\n\n if (typeof callback === 'function') {\n settled = FULFILLED;\n\n try {\n value = callback(value);\n } catch (e) {\n reject(promise, e);\n }\n }\n\n if (!handleThenable(promise, value)) {\n if (settled === FULFILLED) {\n resolve(promise, value);\n }\n\n if (settled === REJECTED) {\n reject(promise, value);\n }\n }\n}\n\nfunction handleThenable(promise, value) {\n var resolved;\n\n try {\n if (promise === value) {\n throw new TypeError('A promises callback cannot return that same promise.');\n }\n\n if (value && (typeof value === 'function' || _typeof(value) === 'object')) {\n // then should be retrieved only once\n var then = value.then;\n\n if (typeof then === 'function') {\n then.call(value, function (val) {\n if (!resolved) {\n resolved = true;\n\n if (value === val) {\n fulfill(promise, val);\n } else {\n resolve(promise, val);\n }\n }\n }, function (reason) {\n if (!resolved) {\n resolved = true;\n reject(promise, reason);\n }\n });\n return true;\n }\n }\n } catch (e) {\n if (!resolved) {\n reject(promise, e);\n }\n\n return true;\n }\n\n return false;\n}\n\nfunction resolve(promise, value) {\n if (promise === value || !handleThenable(promise, value)) {\n fulfill(promise, value);\n }\n}\n\nfunction fulfill(promise, value) {\n if (promise._state === PENDING) {\n promise._state = SETTLED;\n promise._data = value;\n asyncCall(publishFulfillment, promise);\n }\n}\n\nfunction reject(promise, reason) {\n if (promise._state === PENDING) {\n promise._state = SETTLED;\n promise._data = reason;\n asyncCall(publishRejection, promise);\n }\n}\n\nfunction publish(promise) {\n promise._then = promise._then.forEach(invokeCallback);\n}\n\nfunction publishFulfillment(promise) {\n promise._state = FULFILLED;\n publish(promise);\n}\n\nfunction publishRejection(promise) {\n promise._state = REJECTED;\n publish(promise);\n\n if (!promise._handled && isNode) {\n global.process.emit('unhandledRejection', promise._data, promise);\n }\n}\n\nfunction notifyRejectionHandled(promise) {\n global.process.emit('rejectionHandled', promise);\n}\n/**\n * @class\n */\n\n\nfunction P(resolver) {\n if (typeof resolver !== 'function') {\n throw new TypeError('Promise resolver ' + resolver + ' is not a function');\n }\n\n if (this instanceof P === false) {\n throw new TypeError('Failed to construct \\'Promise\\': Please use the \\'new\\' operator, this object constructor cannot be called as a function.');\n }\n\n this._then = [];\n invokeResolver(resolver, this);\n}\n\nP.prototype = {\n constructor: P,\n _state: PENDING,\n _then: null,\n _data: undefined,\n _handled: false,\n then: function then(onFulfillment, onRejection) {\n var subscriber = {\n owner: this,\n then: new this.constructor(NOOP),\n fulfilled: onFulfillment,\n rejected: onRejection\n };\n\n if ((onRejection || onFulfillment) && !this._handled) {\n this._handled = true;\n\n if (this._state === REJECTED && isNode) {\n asyncCall(notifyRejectionHandled, this);\n }\n }\n\n if (this._state === FULFILLED || this._state === REJECTED) {\n // already resolved, call callback async\n asyncCall(invokeCallback, subscriber);\n } else {\n // subscribe\n this._then.push(subscriber);\n }\n\n return subscriber.then;\n },\n catch: function _catch(onRejection) {\n return this.then(null, onRejection);\n }\n};\n\nP.all = function (promises) {\n if (!Array.isArray(promises)) {\n throw new TypeError('You must pass an array to Promise.all().');\n }\n\n return new P(function (resolve, reject) {\n var results = [];\n var remaining = 0;\n\n function resolver(index) {\n remaining++;\n return function (value) {\n results[index] = value;\n\n if (! --remaining) {\n resolve(results);\n }\n };\n }\n\n for (var i = 0, promise; i < promises.length; i++) {\n promise = promises[i];\n\n if (promise && typeof promise.then === 'function') {\n promise.then(resolver(i), reject);\n } else {\n results[i] = promise;\n }\n }\n\n if (!remaining) {\n resolve(results);\n }\n });\n};\n\nP.race = function (promises) {\n if (!Array.isArray(promises)) {\n throw new TypeError('You must pass an array to Promise.race().');\n }\n\n return new P(function (resolve, reject) {\n for (var i = 0, promise; i < promises.length; i++) {\n promise = promises[i];\n\n if (promise && typeof promise.then === 'function') {\n promise.then(resolve, reject);\n } else {\n resolve(promise);\n }\n }\n });\n};\n\nP.resolve = function (value) {\n if (value && _typeof(value) === 'object' && value.constructor === P) {\n return value;\n }\n\n return new P(function (resolve) {\n resolve(value);\n });\n};\n\nP.reject = function (reason) {\n return new P(function (resolve, reject) {\n reject(reason);\n });\n};\n\nvar picked = typeof Promise === 'function' ? Promise : P;\n\nvar d = UNITS_IN_GRID;\nvar meaninglessTransform = {\n size: 16,\n x: 0,\n y: 0,\n rotate: 0,\n flipX: false,\n flipY: false\n};\n\nfunction isReserved(name) {\n return ~RESERVED_CLASSES.indexOf(name);\n}\nfunction insertCss(css) {\n if (!css || !IS_DOM) {\n return;\n }\n\n var style = DOCUMENT.createElement('style');\n style.setAttribute('type', 'text/css');\n style.innerHTML = css;\n var headChildren = DOCUMENT.head.childNodes;\n var beforeChild = null;\n\n for (var i = headChildren.length - 1; i > -1; i--) {\n var child = headChildren[i];\n var tagName = (child.tagName || '').toUpperCase();\n\n if (['STYLE', 'LINK'].indexOf(tagName) > -1) {\n beforeChild = child;\n }\n }\n\n DOCUMENT.head.insertBefore(style, beforeChild);\n return css;\n}\nvar idPool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\nfunction nextUniqueId() {\n var size = 12;\n var id = '';\n\n while (size-- > 0) {\n id += idPool[Math.random() * 62 | 0];\n }\n\n return id;\n}\nfunction toArray(obj) {\n var array = [];\n\n for (var i = (obj || []).length >>> 0; i--;) {\n array[i] = obj[i];\n }\n\n return array;\n}\nfunction classArray(node) {\n if (node.classList) {\n return toArray(node.classList);\n } else {\n return (node.getAttribute('class') || '').split(' ').filter(function (i) {\n return i;\n });\n }\n}\nfunction getIconName(familyPrefix, cls) {\n var parts = cls.split('-');\n var prefix = parts[0];\n var iconName = parts.slice(1).join('-');\n\n if (prefix === familyPrefix && iconName !== '' && !isReserved(iconName)) {\n return iconName;\n } else {\n return null;\n }\n}\nfunction htmlEscape(str) {\n return \"\".concat(str).replace(/&/g, '&').replace(/\"/g, '"').replace(/'/g, ''').replace(//g, '>');\n}\nfunction joinAttributes(attributes) {\n return Object.keys(attributes || {}).reduce(function (acc, attributeName) {\n return acc + \"\".concat(attributeName, \"=\\\"\").concat(htmlEscape(attributes[attributeName]), \"\\\" \");\n }, '').trim();\n}\nfunction joinStyles(styles) {\n return Object.keys(styles || {}).reduce(function (acc, styleName) {\n return acc + \"\".concat(styleName, \": \").concat(styles[styleName], \";\");\n }, '');\n}\nfunction transformIsMeaningful(transform) {\n return transform.size !== meaninglessTransform.size || transform.x !== meaninglessTransform.x || transform.y !== meaninglessTransform.y || transform.rotate !== meaninglessTransform.rotate || transform.flipX || transform.flipY;\n}\nfunction transformForSvg(_ref) {\n var transform = _ref.transform,\n containerWidth = _ref.containerWidth,\n iconWidth = _ref.iconWidth;\n var outer = {\n transform: \"translate(\".concat(containerWidth / 2, \" 256)\")\n };\n var innerTranslate = \"translate(\".concat(transform.x * 32, \", \").concat(transform.y * 32, \") \");\n var innerScale = \"scale(\".concat(transform.size / 16 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / 16 * (transform.flipY ? -1 : 1), \") \");\n var innerRotate = \"rotate(\".concat(transform.rotate, \" 0 0)\");\n var inner = {\n transform: \"\".concat(innerTranslate, \" \").concat(innerScale, \" \").concat(innerRotate)\n };\n var path = {\n transform: \"translate(\".concat(iconWidth / 2 * -1, \" -256)\")\n };\n return {\n outer: outer,\n inner: inner,\n path: path\n };\n}\nfunction transformForCss(_ref2) {\n var transform = _ref2.transform,\n _ref2$width = _ref2.width,\n width = _ref2$width === void 0 ? UNITS_IN_GRID : _ref2$width,\n _ref2$height = _ref2.height,\n height = _ref2$height === void 0 ? UNITS_IN_GRID : _ref2$height,\n _ref2$startCentered = _ref2.startCentered,\n startCentered = _ref2$startCentered === void 0 ? false : _ref2$startCentered;\n var val = '';\n\n if (startCentered && IS_IE) {\n val += \"translate(\".concat(transform.x / d - width / 2, \"em, \").concat(transform.y / d - height / 2, \"em) \");\n } else if (startCentered) {\n val += \"translate(calc(-50% + \".concat(transform.x / d, \"em), calc(-50% + \").concat(transform.y / d, \"em)) \");\n } else {\n val += \"translate(\".concat(transform.x / d, \"em, \").concat(transform.y / d, \"em) \");\n }\n\n val += \"scale(\".concat(transform.size / d * (transform.flipX ? -1 : 1), \", \").concat(transform.size / d * (transform.flipY ? -1 : 1), \") \");\n val += \"rotate(\".concat(transform.rotate, \"deg) \");\n return val;\n}\n\nvar ALL_SPACE = {\n x: 0,\n y: 0,\n width: '100%',\n height: '100%'\n};\n\nfunction fillBlack(abstract) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (abstract.attributes && (abstract.attributes.fill || force)) {\n abstract.attributes.fill = 'black';\n }\n\n return abstract;\n}\n\nfunction deGroup(abstract) {\n if (abstract.tag === 'g') {\n return abstract.children;\n } else {\n return [abstract];\n }\n}\n\nfunction makeIconMasking (_ref) {\n var children = _ref.children,\n attributes = _ref.attributes,\n main = _ref.main,\n mask = _ref.mask,\n transform = _ref.transform;\n var mainWidth = main.width,\n mainPath = main.icon;\n var maskWidth = mask.width,\n maskPath = mask.icon;\n var trans = transformForSvg({\n transform: transform,\n containerWidth: maskWidth,\n iconWidth: mainWidth\n });\n var maskRect = {\n tag: 'rect',\n attributes: _objectSpread({}, ALL_SPACE, {\n fill: 'white'\n })\n };\n var maskInnerGroupChildrenMixin = mainPath.children ? {\n children: mainPath.children.map(fillBlack)\n } : {};\n var maskInnerGroup = {\n tag: 'g',\n attributes: _objectSpread({}, trans.inner),\n children: [fillBlack(_objectSpread({\n tag: mainPath.tag,\n attributes: _objectSpread({}, mainPath.attributes, trans.path)\n }, maskInnerGroupChildrenMixin))]\n };\n var maskOuterGroup = {\n tag: 'g',\n attributes: _objectSpread({}, trans.outer),\n children: [maskInnerGroup]\n };\n var maskId = \"mask-\".concat(nextUniqueId());\n var clipId = \"clip-\".concat(nextUniqueId());\n var maskTag = {\n tag: 'mask',\n attributes: _objectSpread({}, ALL_SPACE, {\n id: maskId,\n maskUnits: 'userSpaceOnUse',\n maskContentUnits: 'userSpaceOnUse'\n }),\n children: [maskRect, maskOuterGroup]\n };\n var defs = {\n tag: 'defs',\n children: [{\n tag: 'clipPath',\n attributes: {\n id: clipId\n },\n children: deGroup(maskPath)\n }, maskTag]\n };\n children.push(defs, {\n tag: 'rect',\n attributes: _objectSpread({\n fill: 'currentColor',\n 'clip-path': \"url(#\".concat(clipId, \")\"),\n mask: \"url(#\".concat(maskId, \")\")\n }, ALL_SPACE)\n });\n return {\n children: children,\n attributes: attributes\n };\n}\n\nfunction makeIconStandard (_ref) {\n var children = _ref.children,\n attributes = _ref.attributes,\n main = _ref.main,\n transform = _ref.transform,\n styles = _ref.styles;\n var styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n if (transformIsMeaningful(transform)) {\n var trans = transformForSvg({\n transform: transform,\n containerWidth: main.width,\n iconWidth: main.width\n });\n children.push({\n tag: 'g',\n attributes: _objectSpread({}, trans.outer),\n children: [{\n tag: 'g',\n attributes: _objectSpread({}, trans.inner),\n children: [{\n tag: main.icon.tag,\n children: main.icon.children,\n attributes: _objectSpread({}, main.icon.attributes, trans.path)\n }]\n }]\n });\n } else {\n children.push(main.icon);\n }\n\n return {\n children: children,\n attributes: attributes\n };\n}\n\nfunction asIcon (_ref) {\n var children = _ref.children,\n main = _ref.main,\n mask = _ref.mask,\n attributes = _ref.attributes,\n styles = _ref.styles,\n transform = _ref.transform;\n\n if (transformIsMeaningful(transform) && main.found && !mask.found) {\n var width = main.width,\n height = main.height;\n var offset = {\n x: width / height / 2,\n y: 0.5\n };\n attributes['style'] = joinStyles(_objectSpread({}, styles, {\n 'transform-origin': \"\".concat(offset.x + transform.x / 16, \"em \").concat(offset.y + transform.y / 16, \"em\")\n }));\n }\n\n return [{\n tag: 'svg',\n attributes: attributes,\n children: children\n }];\n}\n\nfunction asSymbol (_ref) {\n var prefix = _ref.prefix,\n iconName = _ref.iconName,\n children = _ref.children,\n attributes = _ref.attributes,\n symbol = _ref.symbol;\n var id = symbol === true ? \"\".concat(prefix, \"-\").concat(config.familyPrefix, \"-\").concat(iconName) : symbol;\n return [{\n tag: 'svg',\n attributes: {\n style: 'display: none;'\n },\n children: [{\n tag: 'symbol',\n attributes: _objectSpread({}, attributes, {\n id: id\n }),\n children: children\n }]\n }];\n}\n\nfunction makeInlineSvgAbstract(params) {\n var _params$icons = params.icons,\n main = _params$icons.main,\n mask = _params$icons.mask,\n prefix = params.prefix,\n iconName = params.iconName,\n transform = params.transform,\n symbol = params.symbol,\n title = params.title,\n extra = params.extra,\n _params$watchable = params.watchable,\n watchable = _params$watchable === void 0 ? false : _params$watchable;\n\n var _ref = mask.found ? mask : main,\n width = _ref.width,\n height = _ref.height;\n\n var widthClass = \"fa-w-\".concat(Math.ceil(width / height * 16));\n var attrClass = [config.replacementClass, iconName ? \"\".concat(config.familyPrefix, \"-\").concat(iconName) : '', widthClass].filter(function (c) {\n return extra.classes.indexOf(c) === -1;\n }).concat(extra.classes).join(' ');\n var content = {\n children: [],\n attributes: _objectSpread({}, extra.attributes, {\n 'data-prefix': prefix,\n 'data-icon': iconName,\n 'class': attrClass,\n 'role': extra.attributes.role || 'img',\n 'xmlns': 'http://www.w3.org/2000/svg',\n 'viewBox': \"0 0 \".concat(width, \" \").concat(height)\n })\n };\n\n if (watchable) {\n content.attributes[DATA_FA_I2SVG] = '';\n }\n\n if (title) content.children.push({\n tag: 'title',\n attributes: {\n id: content.attributes['aria-labelledby'] || \"title-\".concat(nextUniqueId())\n },\n children: [title]\n });\n\n var args = _objectSpread({}, content, {\n prefix: prefix,\n iconName: iconName,\n main: main,\n mask: mask,\n transform: transform,\n symbol: symbol,\n styles: extra.styles\n });\n\n var _ref2 = mask.found && main.found ? makeIconMasking(args) : makeIconStandard(args),\n children = _ref2.children,\n attributes = _ref2.attributes;\n\n args.children = children;\n args.attributes = attributes;\n\n if (symbol) {\n return asSymbol(args);\n } else {\n return asIcon(args);\n }\n}\nfunction makeLayersTextAbstract(params) {\n var content = params.content,\n width = params.width,\n height = params.height,\n transform = params.transform,\n title = params.title,\n extra = params.extra,\n _params$watchable2 = params.watchable,\n watchable = _params$watchable2 === void 0 ? false : _params$watchable2;\n\n var attributes = _objectSpread({}, extra.attributes, title ? {\n 'title': title\n } : {}, {\n 'class': extra.classes.join(' ')\n });\n\n if (watchable) {\n attributes[DATA_FA_I2SVG] = '';\n }\n\n var styles = _objectSpread({}, extra.styles);\n\n if (transformIsMeaningful(transform)) {\n styles['transform'] = transformForCss({\n transform: transform,\n startCentered: true,\n width: width,\n height: height\n });\n styles['-webkit-transform'] = styles['transform'];\n }\n\n var styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n\n return val;\n}\nfunction makeLayersCounterAbstract(params) {\n var content = params.content,\n title = params.title,\n extra = params.extra;\n\n var attributes = _objectSpread({}, extra.attributes, title ? {\n 'title': title\n } : {}, {\n 'class': extra.classes.join(' ')\n });\n\n var styleString = joinStyles(extra.styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n\n return val;\n}\n\nvar noop$1 = function noop() {};\n\nvar p = config.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : {\n mark: noop$1,\n measure: noop$1\n};\nvar preamble = \"FA \\\"5.11.2\\\"\";\n\nvar begin = function begin(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" begins\"));\n return function () {\n return end(name);\n };\n};\n\nvar end = function end(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" ends\"));\n p.measure(\"\".concat(preamble, \" \").concat(name), \"\".concat(preamble, \" \").concat(name, \" begins\"), \"\".concat(preamble, \" \").concat(name, \" ends\"));\n};\n\nvar perf = {\n begin: begin,\n end: end\n};\n\n/**\n * Internal helper to bind a function known to have 4 arguments\n * to a given context.\n */\n\nvar bindInternal4 = function bindInternal4(func, thisContext) {\n return function (a, b, c, d) {\n return func.call(thisContext, a, b, c, d);\n };\n};\n\n/**\n * # Reduce\n *\n * A fast object `.reduce()` implementation.\n *\n * @param {Object} subject The object to reduce over.\n * @param {Function} fn The reducer function.\n * @param {mixed} initialValue The initial value for the reducer, defaults to subject[0].\n * @param {Object} thisContext The context for the reducer.\n * @return {mixed} The final result.\n */\n\n\nvar reduce = function fastReduceObject(subject, fn, initialValue, thisContext) {\n var keys = Object.keys(subject),\n length = keys.length,\n iterator = thisContext !== undefined ? bindInternal4(fn, thisContext) : fn,\n i,\n key,\n result;\n\n if (initialValue === undefined) {\n i = 1;\n result = subject[keys[0]];\n } else {\n i = 0;\n result = initialValue;\n }\n\n for (; i < length; i++) {\n key = keys[i];\n result = iterator(result, subject[key], key, subject);\n }\n\n return result;\n};\n\nfunction toHex(unicode) {\n var result = '';\n\n for (var i = 0; i < unicode.length; i++) {\n var hex = unicode.charCodeAt(i).toString(16);\n result += ('000' + hex).slice(-4);\n }\n\n return result;\n}\n\nfunction defineIcons(prefix, icons) {\n var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var _params$skipHooks = params.skipHooks,\n skipHooks = _params$skipHooks === void 0 ? false : _params$skipHooks;\n var normalized = Object.keys(icons).reduce(function (acc, iconName) {\n var icon = icons[iconName];\n var expanded = !!icon.icon;\n\n if (expanded) {\n acc[icon.iconName] = icon.icon;\n } else {\n acc[iconName] = icon;\n }\n\n return acc;\n }, {});\n\n if (typeof namespace.hooks.addPack === 'function' && !skipHooks) {\n namespace.hooks.addPack(prefix, normalized);\n } else {\n namespace.styles[prefix] = _objectSpread({}, namespace.styles[prefix] || {}, normalized);\n }\n /**\n * Font Awesome 4 used the prefix of `fa` for all icons. With the introduction\n * of new styles we needed to differentiate between them. Prefix `fa` is now an alias\n * for `fas` so we'll easy the upgrade process for our users by automatically defining\n * this as well.\n */\n\n\n if (prefix === 'fas') {\n defineIcons('fa', icons);\n }\n}\n\nvar styles = namespace.styles,\n shims = namespace.shims;\nvar _byUnicode = {};\nvar _byLigature = {};\nvar _byOldName = {};\nvar build = function build() {\n var lookup = function lookup(reducer) {\n return reduce(styles, function (o, style, prefix) {\n o[prefix] = reduce(style, reducer, {});\n return o;\n }, {});\n };\n\n _byUnicode = lookup(function (acc, icon, iconName) {\n if (icon[3]) {\n acc[icon[3]] = iconName;\n }\n\n return acc;\n });\n _byLigature = lookup(function (acc, icon, iconName) {\n var ligatures = icon[2];\n acc[iconName] = iconName;\n ligatures.forEach(function (ligature) {\n acc[ligature] = iconName;\n });\n return acc;\n });\n var hasRegular = 'far' in styles;\n _byOldName = reduce(shims, function (acc, shim) {\n var oldName = shim[0];\n var prefix = shim[1];\n var iconName = shim[2];\n\n if (prefix === 'far' && !hasRegular) {\n prefix = 'fas';\n }\n\n acc[oldName] = {\n prefix: prefix,\n iconName: iconName\n };\n return acc;\n }, {});\n};\nbuild();\nfunction byUnicode(prefix, unicode) {\n return (_byUnicode[prefix] || {})[unicode];\n}\nfunction byLigature(prefix, ligature) {\n return (_byLigature[prefix] || {})[ligature];\n}\nfunction byOldName(name) {\n return _byOldName[name] || {\n prefix: null,\n iconName: null\n };\n}\n\nvar styles$1 = namespace.styles;\nvar emptyCanonicalIcon = function emptyCanonicalIcon() {\n return {\n prefix: null,\n iconName: null,\n rest: []\n };\n};\nfunction getCanonicalIcon(values) {\n return values.reduce(function (acc, cls) {\n var iconName = getIconName(config.familyPrefix, cls);\n\n if (styles$1[cls]) {\n acc.prefix = cls;\n } else if (config.autoFetchSvg && ['fas', 'far', 'fal', 'fad', 'fab', 'fa'].indexOf(cls) > -1) {\n acc.prefix = cls;\n } else if (iconName) {\n var shim = acc.prefix === 'fa' ? byOldName(iconName) : {};\n acc.iconName = shim.iconName || iconName;\n acc.prefix = shim.prefix || acc.prefix;\n } else if (cls !== config.replacementClass && cls.indexOf('fa-w-') !== 0) {\n acc.rest.push(cls);\n }\n\n return acc;\n }, emptyCanonicalIcon());\n}\nfunction iconFromMapping(mapping, prefix, iconName) {\n if (mapping && mapping[prefix] && mapping[prefix][iconName]) {\n return {\n prefix: prefix,\n iconName: iconName,\n icon: mapping[prefix][iconName]\n };\n }\n}\n\nfunction toHtml(abstractNodes) {\n var tag = abstractNodes.tag,\n _abstractNodes$attrib = abstractNodes.attributes,\n attributes = _abstractNodes$attrib === void 0 ? {} : _abstractNodes$attrib,\n _abstractNodes$childr = abstractNodes.children,\n children = _abstractNodes$childr === void 0 ? [] : _abstractNodes$childr;\n\n if (typeof abstractNodes === 'string') {\n return htmlEscape(abstractNodes);\n } else {\n return \"<\".concat(tag, \" \").concat(joinAttributes(attributes), \">\").concat(children.map(toHtml).join(''), \"\");\n }\n}\n\nvar noop$2 = function noop() {};\n\nfunction isWatched(node) {\n var i2svg = node.getAttribute ? node.getAttribute(DATA_FA_I2SVG) : null;\n return typeof i2svg === 'string';\n}\n\nfunction getMutator() {\n if (config.autoReplaceSvg === true) {\n return mutators.replace;\n }\n\n var mutator = mutators[config.autoReplaceSvg];\n return mutator || mutators.replace;\n}\n\nvar mutators = {\n replace: function replace(mutation) {\n var node = mutation[0];\n var abstract = mutation[1];\n var newOuterHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n\n if (node.parentNode && node.outerHTML) {\n node.outerHTML = newOuterHTML + (config.keepOriginalSource && node.tagName.toLowerCase() !== 'svg' ? \"\") : '');\n } else if (node.parentNode) {\n var newNode = document.createElement('span');\n node.parentNode.replaceChild(newNode, node);\n newNode.outerHTML = newOuterHTML;\n }\n },\n nest: function nest(mutation) {\n var node = mutation[0];\n var abstract = mutation[1]; // If we already have a replaced node we do not want to continue nesting within it.\n // Short-circuit to the standard replacement\n\n if (~classArray(node).indexOf(config.replacementClass)) {\n return mutators.replace(mutation);\n }\n\n var forSvg = new RegExp(\"\".concat(config.familyPrefix, \"-.*\"));\n delete abstract[0].attributes.style;\n delete abstract[0].attributes.id;\n var splitClasses = abstract[0].attributes.class.split(' ').reduce(function (acc, cls) {\n if (cls === config.replacementClass || cls.match(forSvg)) {\n acc.toSvg.push(cls);\n } else {\n acc.toNode.push(cls);\n }\n\n return acc;\n }, {\n toNode: [],\n toSvg: []\n });\n abstract[0].attributes.class = splitClasses.toSvg.join(' ');\n var newInnerHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n node.setAttribute('class', splitClasses.toNode.join(' '));\n node.setAttribute(DATA_FA_I2SVG, '');\n node.innerHTML = newInnerHTML;\n }\n};\n\nfunction performOperationSync(op) {\n op();\n}\n\nfunction perform(mutations, callback) {\n var callbackFunction = typeof callback === 'function' ? callback : noop$2;\n\n if (mutations.length === 0) {\n callbackFunction();\n } else {\n var frame = performOperationSync;\n\n if (config.mutateApproach === MUTATION_APPROACH_ASYNC) {\n frame = WINDOW.requestAnimationFrame || performOperationSync;\n }\n\n frame(function () {\n var mutator = getMutator();\n var mark = perf.begin('mutate');\n mutations.map(mutator);\n mark();\n callbackFunction();\n });\n }\n}\nvar disabled = false;\nfunction disableObservation() {\n disabled = true;\n}\nfunction enableObservation() {\n disabled = false;\n}\nvar mo = null;\nfunction observe(options) {\n if (!MUTATION_OBSERVER) {\n return;\n }\n\n if (!config.observeMutations) {\n return;\n }\n\n var treeCallback = options.treeCallback,\n nodeCallback = options.nodeCallback,\n pseudoElementsCallback = options.pseudoElementsCallback,\n _options$observeMutat = options.observeMutationsRoot,\n observeMutationsRoot = _options$observeMutat === void 0 ? DOCUMENT : _options$observeMutat;\n mo = new MUTATION_OBSERVER(function (objects) {\n if (disabled) return;\n toArray(objects).forEach(function (mutationRecord) {\n if (mutationRecord.type === 'childList' && mutationRecord.addedNodes.length > 0 && !isWatched(mutationRecord.addedNodes[0])) {\n if (config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target);\n }\n\n treeCallback(mutationRecord.target);\n }\n\n if (mutationRecord.type === 'attributes' && mutationRecord.target.parentNode && config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target.parentNode);\n }\n\n if (mutationRecord.type === 'attributes' && isWatched(mutationRecord.target) && ~ATTRIBUTES_WATCHED_FOR_MUTATION.indexOf(mutationRecord.attributeName)) {\n if (mutationRecord.attributeName === 'class') {\n var _getCanonicalIcon = getCanonicalIcon(classArray(mutationRecord.target)),\n prefix = _getCanonicalIcon.prefix,\n iconName = _getCanonicalIcon.iconName;\n\n if (prefix) mutationRecord.target.setAttribute('data-prefix', prefix);\n if (iconName) mutationRecord.target.setAttribute('data-icon', iconName);\n } else {\n nodeCallback(mutationRecord.target);\n }\n }\n });\n });\n if (!IS_DOM) return;\n mo.observe(observeMutationsRoot, {\n childList: true,\n attributes: true,\n characterData: true,\n subtree: true\n });\n}\nfunction disconnect() {\n if (!mo) return;\n mo.disconnect();\n}\n\nfunction styleParser (node) {\n var style = node.getAttribute('style');\n var val = [];\n\n if (style) {\n val = style.split(';').reduce(function (acc, style) {\n var styles = style.split(':');\n var prop = styles[0];\n var value = styles.slice(1);\n\n if (prop && value.length > 0) {\n acc[prop] = value.join(':').trim();\n }\n\n return acc;\n }, {});\n }\n\n return val;\n}\n\nfunction classParser (node) {\n var existingPrefix = node.getAttribute('data-prefix');\n var existingIconName = node.getAttribute('data-icon');\n var innerText = node.innerText !== undefined ? node.innerText.trim() : '';\n var val = getCanonicalIcon(classArray(node));\n\n if (existingPrefix && existingIconName) {\n val.prefix = existingPrefix;\n val.iconName = existingIconName;\n }\n\n if (val.prefix && innerText.length > 1) {\n val.iconName = byLigature(val.prefix, node.innerText);\n } else if (val.prefix && innerText.length === 1) {\n val.iconName = byUnicode(val.prefix, toHex(node.innerText));\n }\n\n return val;\n}\n\nvar parseTransformString = function parseTransformString(transformString) {\n var transform = {\n size: 16,\n x: 0,\n y: 0,\n flipX: false,\n flipY: false,\n rotate: 0\n };\n\n if (!transformString) {\n return transform;\n } else {\n return transformString.toLowerCase().split(' ').reduce(function (acc, n) {\n var parts = n.toLowerCase().split('-');\n var first = parts[0];\n var rest = parts.slice(1).join('-');\n\n if (first && rest === 'h') {\n acc.flipX = true;\n return acc;\n }\n\n if (first && rest === 'v') {\n acc.flipY = true;\n return acc;\n }\n\n rest = parseFloat(rest);\n\n if (isNaN(rest)) {\n return acc;\n }\n\n switch (first) {\n case 'grow':\n acc.size = acc.size + rest;\n break;\n\n case 'shrink':\n acc.size = acc.size - rest;\n break;\n\n case 'left':\n acc.x = acc.x - rest;\n break;\n\n case 'right':\n acc.x = acc.x + rest;\n break;\n\n case 'up':\n acc.y = acc.y - rest;\n break;\n\n case 'down':\n acc.y = acc.y + rest;\n break;\n\n case 'rotate':\n acc.rotate = acc.rotate + rest;\n break;\n }\n\n return acc;\n }, transform);\n }\n};\nfunction transformParser (node) {\n return parseTransformString(node.getAttribute('data-fa-transform'));\n}\n\nfunction symbolParser (node) {\n var symbol = node.getAttribute('data-fa-symbol');\n return symbol === null ? false : symbol === '' ? true : symbol;\n}\n\nfunction attributesParser (node) {\n var extraAttributes = toArray(node.attributes).reduce(function (acc, attr) {\n if (acc.name !== 'class' && acc.name !== 'style') {\n acc[attr.name] = attr.value;\n }\n\n return acc;\n }, {});\n var title = node.getAttribute('title');\n\n if (config.autoA11y) {\n if (title) {\n extraAttributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(nextUniqueId());\n } else {\n extraAttributes['aria-hidden'] = 'true';\n extraAttributes['focusable'] = 'false';\n }\n }\n\n return extraAttributes;\n}\n\nfunction maskParser (node) {\n var mask = node.getAttribute('data-fa-mask');\n\n if (!mask) {\n return emptyCanonicalIcon();\n } else {\n return getCanonicalIcon(mask.split(' ').map(function (i) {\n return i.trim();\n }));\n }\n}\n\nfunction blankMeta() {\n return {\n iconName: null,\n title: null,\n prefix: null,\n transform: meaninglessTransform,\n symbol: false,\n mask: null,\n extra: {\n classes: [],\n styles: {},\n attributes: {}\n }\n };\n}\nfunction parseMeta(node) {\n var _classParser = classParser(node),\n iconName = _classParser.iconName,\n prefix = _classParser.prefix,\n extraClasses = _classParser.rest;\n\n var extraStyles = styleParser(node);\n var transform = transformParser(node);\n var symbol = symbolParser(node);\n var extraAttributes = attributesParser(node);\n var mask = maskParser(node);\n return {\n iconName: iconName,\n title: node.getAttribute('title'),\n prefix: prefix,\n transform: transform,\n symbol: symbol,\n mask: mask,\n extra: {\n classes: extraClasses,\n styles: extraStyles,\n attributes: extraAttributes\n }\n };\n}\n\nfunction MissingIcon(error) {\n this.name = 'MissingIcon';\n this.message = error || 'Icon unavailable';\n this.stack = new Error().stack;\n}\nMissingIcon.prototype = Object.create(Error.prototype);\nMissingIcon.prototype.constructor = MissingIcon;\n\nvar FILL = {\n fill: 'currentColor'\n};\nvar ANIMATION_BASE = {\n attributeType: 'XML',\n repeatCount: 'indefinite',\n dur: '2s'\n};\nvar RING = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n d: 'M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z'\n })\n};\n\nvar OPACITY_ANIMATE = _objectSpread({}, ANIMATION_BASE, {\n attributeName: 'opacity'\n});\n\nvar DOT = {\n tag: 'circle',\n attributes: _objectSpread({}, FILL, {\n cx: '256',\n cy: '364',\n r: '28'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, ANIMATION_BASE, {\n attributeName: 'r',\n values: '28;14;28;28;14;28;'\n })\n }, {\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '1;0;1;1;0;1;'\n })\n }]\n};\nvar QUESTION = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n opacity: '1',\n d: 'M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '1;0;0;0;0;1;'\n })\n }]\n};\nvar EXCLAMATION = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n opacity: '0',\n d: 'M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '0;0;1;1;0;0;'\n })\n }]\n};\nvar missing = {\n tag: 'g',\n children: [RING, DOT, QUESTION, EXCLAMATION]\n};\n\nvar styles$2 = namespace.styles;\nfunction asFoundIcon(icon) {\n var width = icon[0];\n var height = icon[1];\n\n var _icon$slice = icon.slice(4),\n _icon$slice2 = _slicedToArray(_icon$slice, 1),\n vectorData = _icon$slice2[0];\n\n var element = null;\n\n if (Array.isArray(vectorData)) {\n element = {\n tag: 'g',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.GROUP)\n },\n children: [{\n tag: 'path',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.SECONDARY),\n fill: 'currentColor',\n d: vectorData[0]\n }\n }, {\n tag: 'path',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.PRIMARY),\n fill: 'currentColor',\n d: vectorData[1]\n }\n }]\n };\n } else {\n element = {\n tag: 'path',\n attributes: {\n fill: 'currentColor',\n d: vectorData\n }\n };\n }\n\n return {\n found: true,\n width: width,\n height: height,\n icon: element\n };\n}\nfunction findIcon(iconName, prefix) {\n return new picked(function (resolve, reject) {\n var val = {\n found: false,\n width: 512,\n height: 512,\n icon: missing\n };\n\n if (iconName && prefix && styles$2[prefix] && styles$2[prefix][iconName]) {\n var icon = styles$2[prefix][iconName];\n return resolve(asFoundIcon(icon));\n }\n\n var headers = {};\n\n if (_typeof(WINDOW.FontAwesomeKitConfig) === 'object' && typeof window.FontAwesomeKitConfig.token === 'string') {\n headers['fa-kit-token'] = WINDOW.FontAwesomeKitConfig.token;\n }\n\n if (iconName && prefix && !config.showMissingIcons) {\n reject(new MissingIcon(\"Icon is missing for prefix \".concat(prefix, \" with icon name \").concat(iconName)));\n } else {\n resolve(val);\n }\n });\n}\n\nvar styles$3 = namespace.styles;\n\nfunction generateSvgReplacementMutation(node, nodeMeta) {\n var iconName = nodeMeta.iconName,\n title = nodeMeta.title,\n prefix = nodeMeta.prefix,\n transform = nodeMeta.transform,\n symbol = nodeMeta.symbol,\n mask = nodeMeta.mask,\n extra = nodeMeta.extra;\n return new picked(function (resolve, reject) {\n picked.all([findIcon(iconName, prefix), findIcon(mask.iconName, mask.prefix)]).then(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n main = _ref2[0],\n mask = _ref2[1];\n\n resolve([node, makeInlineSvgAbstract({\n icons: {\n main: main,\n mask: mask\n },\n prefix: prefix,\n iconName: iconName,\n transform: transform,\n symbol: symbol,\n mask: mask,\n title: title,\n extra: extra,\n watchable: true\n })]);\n });\n });\n}\n\nfunction generateLayersText(node, nodeMeta) {\n var title = nodeMeta.title,\n transform = nodeMeta.transform,\n extra = nodeMeta.extra;\n var width = null;\n var height = null;\n\n if (IS_IE) {\n var computedFontSize = parseInt(getComputedStyle(node).fontSize, 10);\n var boundingClientRect = node.getBoundingClientRect();\n width = boundingClientRect.width / computedFontSize;\n height = boundingClientRect.height / computedFontSize;\n }\n\n if (config.autoA11y && !title) {\n extra.attributes['aria-hidden'] = 'true';\n }\n\n return picked.resolve([node, makeLayersTextAbstract({\n content: node.innerHTML,\n width: width,\n height: height,\n transform: transform,\n title: title,\n extra: extra,\n watchable: true\n })]);\n}\n\nfunction generateMutation(node) {\n var nodeMeta = parseMeta(node);\n\n if (~nodeMeta.extra.classes.indexOf(LAYERS_TEXT_CLASSNAME)) {\n return generateLayersText(node, nodeMeta);\n } else {\n return generateSvgReplacementMutation(node, nodeMeta);\n }\n}\n\nfunction onTree(root) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n if (!IS_DOM) return;\n var htmlClassList = DOCUMENT.documentElement.classList;\n\n var hclAdd = function hclAdd(suffix) {\n return htmlClassList.add(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n\n var hclRemove = function hclRemove(suffix) {\n return htmlClassList.remove(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n\n var prefixes = config.autoFetchSvg ? Object.keys(PREFIX_TO_STYLE) : Object.keys(styles$3);\n var prefixesDomQuery = [\".\".concat(LAYERS_TEXT_CLASSNAME, \":not([\").concat(DATA_FA_I2SVG, \"])\")].concat(prefixes.map(function (p) {\n return \".\".concat(p, \":not([\").concat(DATA_FA_I2SVG, \"])\");\n })).join(', ');\n\n if (prefixesDomQuery.length === 0) {\n return;\n }\n\n var candidates = [];\n\n try {\n candidates = toArray(root.querySelectorAll(prefixesDomQuery));\n } catch (e) {// noop\n }\n\n if (candidates.length > 0) {\n hclAdd('pending');\n hclRemove('complete');\n } else {\n return;\n }\n\n var mark = perf.begin('onTree');\n var mutations = candidates.reduce(function (acc, node) {\n try {\n var mutation = generateMutation(node);\n\n if (mutation) {\n acc.push(mutation);\n }\n } catch (e) {\n if (!PRODUCTION) {\n if (e instanceof MissingIcon) {\n console.error(e);\n }\n }\n }\n\n return acc;\n }, []);\n return new picked(function (resolve, reject) {\n picked.all(mutations).then(function (resolvedMutations) {\n perform(resolvedMutations, function () {\n hclAdd('active');\n hclAdd('complete');\n hclRemove('pending');\n if (typeof callback === 'function') callback();\n mark();\n resolve();\n });\n }).catch(function () {\n mark();\n reject();\n });\n });\n}\nfunction onNode(node) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n generateMutation(node).then(function (mutation) {\n if (mutation) {\n perform([mutation], callback);\n }\n });\n}\n\nfunction replaceForPosition(node, position) {\n var pendingAttribute = \"\".concat(DATA_FA_PSEUDO_ELEMENT_PENDING).concat(position.replace(':', '-'));\n return new picked(function (resolve, reject) {\n if (node.getAttribute(pendingAttribute) !== null) {\n // This node is already being processed\n return resolve();\n }\n\n var children = toArray(node.children);\n var alreadyProcessedPseudoElement = children.filter(function (c) {\n return c.getAttribute(DATA_FA_PSEUDO_ELEMENT) === position;\n })[0];\n var styles = WINDOW.getComputedStyle(node, position);\n var fontFamily = styles.getPropertyValue('font-family').match(FONT_FAMILY_PATTERN);\n var fontWeight = styles.getPropertyValue('font-weight');\n\n if (alreadyProcessedPseudoElement && !fontFamily) {\n // If we've already processed it but the current computed style does not result in a font-family,\n // that probably means that a class name that was previously present to make the icon has been\n // removed. So we now should delete the icon.\n node.removeChild(alreadyProcessedPseudoElement);\n return resolve();\n } else if (fontFamily) {\n var content = styles.getPropertyValue('content');\n var prefix = ~['Solid', 'Regular', 'Light', 'Duotone', 'Brands'].indexOf(fontFamily[1]) ? STYLE_TO_PREFIX[fontFamily[1].toLowerCase()] : FONT_WEIGHT_TO_PREFIX[fontWeight];\n var hexValue = toHex(content.length === 3 ? content.substr(1, 1) : content);\n var iconName = byUnicode(prefix, hexValue);\n var iconIdentifier = iconName; // Only convert the pseudo element in this :before/:after position into an icon if we haven't\n // already done so with the same prefix and iconName\n\n if (iconName && (!alreadyProcessedPseudoElement || alreadyProcessedPseudoElement.getAttribute(DATA_PREFIX) !== prefix || alreadyProcessedPseudoElement.getAttribute(DATA_ICON) !== iconIdentifier)) {\n node.setAttribute(pendingAttribute, iconIdentifier);\n\n if (alreadyProcessedPseudoElement) {\n // Delete the old one, since we're replacing it with a new one\n node.removeChild(alreadyProcessedPseudoElement);\n }\n\n var meta = blankMeta();\n var extra = meta.extra;\n extra.attributes[DATA_FA_PSEUDO_ELEMENT] = position;\n findIcon(iconName, prefix).then(function (main) {\n var abstract = makeInlineSvgAbstract(_objectSpread({}, meta, {\n icons: {\n main: main,\n mask: emptyCanonicalIcon()\n },\n prefix: prefix,\n iconName: iconIdentifier,\n extra: extra,\n watchable: true\n }));\n var element = DOCUMENT.createElement('svg');\n\n if (position === ':before') {\n node.insertBefore(element, node.firstChild);\n } else {\n node.appendChild(element);\n }\n\n element.outerHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n node.removeAttribute(pendingAttribute);\n resolve();\n }).catch(reject);\n } else {\n resolve();\n }\n } else {\n resolve();\n }\n });\n}\n\nfunction replace(node) {\n return picked.all([replaceForPosition(node, ':before'), replaceForPosition(node, ':after')]);\n}\n\nfunction processable(node) {\n return node.parentNode !== document.head && !~TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS.indexOf(node.tagName.toUpperCase()) && !node.getAttribute(DATA_FA_PSEUDO_ELEMENT) && (!node.parentNode || node.parentNode.tagName !== 'svg');\n}\n\nfunction searchPseudoElements (root) {\n if (!IS_DOM) return;\n return new picked(function (resolve, reject) {\n var operations = toArray(root.querySelectorAll('*')).filter(processable).map(replace);\n var end = perf.begin('searchPseudoElements');\n disableObservation();\n picked.all(operations).then(function () {\n end();\n enableObservation();\n resolve();\n }).catch(function () {\n end();\n enableObservation();\n reject();\n });\n });\n}\n\nvar baseStyles = \"svg:not(:root).svg-inline--fa {\\n overflow: visible;\\n}\\n\\n.svg-inline--fa {\\n display: inline-block;\\n font-size: inherit;\\n height: 1em;\\n overflow: visible;\\n vertical-align: -0.125em;\\n}\\n.svg-inline--fa.fa-lg {\\n vertical-align: -0.225em;\\n}\\n.svg-inline--fa.fa-w-1 {\\n width: 0.0625em;\\n}\\n.svg-inline--fa.fa-w-2 {\\n width: 0.125em;\\n}\\n.svg-inline--fa.fa-w-3 {\\n width: 0.1875em;\\n}\\n.svg-inline--fa.fa-w-4 {\\n width: 0.25em;\\n}\\n.svg-inline--fa.fa-w-5 {\\n width: 0.3125em;\\n}\\n.svg-inline--fa.fa-w-6 {\\n width: 0.375em;\\n}\\n.svg-inline--fa.fa-w-7 {\\n width: 0.4375em;\\n}\\n.svg-inline--fa.fa-w-8 {\\n width: 0.5em;\\n}\\n.svg-inline--fa.fa-w-9 {\\n width: 0.5625em;\\n}\\n.svg-inline--fa.fa-w-10 {\\n width: 0.625em;\\n}\\n.svg-inline--fa.fa-w-11 {\\n width: 0.6875em;\\n}\\n.svg-inline--fa.fa-w-12 {\\n width: 0.75em;\\n}\\n.svg-inline--fa.fa-w-13 {\\n width: 0.8125em;\\n}\\n.svg-inline--fa.fa-w-14 {\\n width: 0.875em;\\n}\\n.svg-inline--fa.fa-w-15 {\\n width: 0.9375em;\\n}\\n.svg-inline--fa.fa-w-16 {\\n width: 1em;\\n}\\n.svg-inline--fa.fa-w-17 {\\n width: 1.0625em;\\n}\\n.svg-inline--fa.fa-w-18 {\\n width: 1.125em;\\n}\\n.svg-inline--fa.fa-w-19 {\\n width: 1.1875em;\\n}\\n.svg-inline--fa.fa-w-20 {\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-pull-left {\\n margin-right: 0.3em;\\n width: auto;\\n}\\n.svg-inline--fa.fa-pull-right {\\n margin-left: 0.3em;\\n width: auto;\\n}\\n.svg-inline--fa.fa-border {\\n height: 1.5em;\\n}\\n.svg-inline--fa.fa-li {\\n width: 2em;\\n}\\n.svg-inline--fa.fa-fw {\\n width: 1.25em;\\n}\\n\\n.fa-layers svg.svg-inline--fa {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.fa-layers {\\n display: inline-block;\\n height: 1em;\\n position: relative;\\n text-align: center;\\n vertical-align: -0.125em;\\n width: 1em;\\n}\\n.fa-layers svg.svg-inline--fa {\\n -webkit-transform-origin: center center;\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter, .fa-layers-text {\\n display: inline-block;\\n position: absolute;\\n text-align: center;\\n}\\n\\n.fa-layers-text {\\n left: 50%;\\n top: 50%;\\n -webkit-transform: translate(-50%, -50%);\\n transform: translate(-50%, -50%);\\n -webkit-transform-origin: center center;\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter {\\n background-color: #ff253a;\\n border-radius: 1em;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n color: #fff;\\n height: 1.5em;\\n line-height: 1;\\n max-width: 5em;\\n min-width: 1.5em;\\n overflow: hidden;\\n padding: 0.25em;\\n right: 0;\\n text-overflow: ellipsis;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-bottom-right {\\n bottom: 0;\\n right: 0;\\n top: auto;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: bottom right;\\n transform-origin: bottom right;\\n}\\n\\n.fa-layers-bottom-left {\\n bottom: 0;\\n left: 0;\\n right: auto;\\n top: auto;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: bottom left;\\n transform-origin: bottom left;\\n}\\n\\n.fa-layers-top-right {\\n right: 0;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-top-left {\\n left: 0;\\n right: auto;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top left;\\n transform-origin: top left;\\n}\\n\\n.fa-lg {\\n font-size: 1.3333333333em;\\n line-height: 0.75em;\\n vertical-align: -0.0667em;\\n}\\n\\n.fa-xs {\\n font-size: 0.75em;\\n}\\n\\n.fa-sm {\\n font-size: 0.875em;\\n}\\n\\n.fa-1x {\\n font-size: 1em;\\n}\\n\\n.fa-2x {\\n font-size: 2em;\\n}\\n\\n.fa-3x {\\n font-size: 3em;\\n}\\n\\n.fa-4x {\\n font-size: 4em;\\n}\\n\\n.fa-5x {\\n font-size: 5em;\\n}\\n\\n.fa-6x {\\n font-size: 6em;\\n}\\n\\n.fa-7x {\\n font-size: 7em;\\n}\\n\\n.fa-8x {\\n font-size: 8em;\\n}\\n\\n.fa-9x {\\n font-size: 9em;\\n}\\n\\n.fa-10x {\\n font-size: 10em;\\n}\\n\\n.fa-fw {\\n text-align: center;\\n width: 1.25em;\\n}\\n\\n.fa-ul {\\n list-style-type: none;\\n margin-left: 2.5em;\\n padding-left: 0;\\n}\\n.fa-ul > li {\\n position: relative;\\n}\\n\\n.fa-li {\\n left: -2em;\\n position: absolute;\\n text-align: center;\\n width: 2em;\\n line-height: inherit;\\n}\\n\\n.fa-border {\\n border: solid 0.08em #eee;\\n border-radius: 0.1em;\\n padding: 0.2em 0.25em 0.15em;\\n}\\n\\n.fa-pull-left {\\n float: left;\\n}\\n\\n.fa-pull-right {\\n float: right;\\n}\\n\\n.fa.fa-pull-left,\\n.fas.fa-pull-left,\\n.far.fa-pull-left,\\n.fal.fa-pull-left,\\n.fab.fa-pull-left {\\n margin-right: 0.3em;\\n}\\n.fa.fa-pull-right,\\n.fas.fa-pull-right,\\n.far.fa-pull-right,\\n.fal.fa-pull-right,\\n.fab.fa-pull-right {\\n margin-left: 0.3em;\\n}\\n\\n.fa-spin {\\n -webkit-animation: fa-spin 2s infinite linear;\\n animation: fa-spin 2s infinite linear;\\n}\\n\\n.fa-pulse {\\n -webkit-animation: fa-spin 1s infinite steps(8);\\n animation: fa-spin 1s infinite steps(8);\\n}\\n\\n@-webkit-keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\\n@keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n.fa-rotate-90 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\\\";\\n -webkit-transform: rotate(90deg);\\n transform: rotate(90deg);\\n}\\n\\n.fa-rotate-180 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\\\";\\n -webkit-transform: rotate(180deg);\\n transform: rotate(180deg);\\n}\\n\\n.fa-rotate-270 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\\\";\\n -webkit-transform: rotate(270deg);\\n transform: rotate(270deg);\\n}\\n\\n.fa-flip-horizontal {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\\\";\\n -webkit-transform: scale(-1, 1);\\n transform: scale(-1, 1);\\n}\\n\\n.fa-flip-vertical {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\";\\n -webkit-transform: scale(1, -1);\\n transform: scale(1, -1);\\n}\\n\\n.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\";\\n -webkit-transform: scale(-1, -1);\\n transform: scale(-1, -1);\\n}\\n\\n:root .fa-rotate-90,\\n:root .fa-rotate-180,\\n:root .fa-rotate-270,\\n:root .fa-flip-horizontal,\\n:root .fa-flip-vertical,\\n:root .fa-flip-both {\\n -webkit-filter: none;\\n filter: none;\\n}\\n\\n.fa-stack {\\n display: inline-block;\\n height: 2em;\\n position: relative;\\n width: 2.5em;\\n}\\n\\n.fa-stack-1x,\\n.fa-stack-2x {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.svg-inline--fa.fa-stack-1x {\\n height: 1em;\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-stack-2x {\\n height: 2em;\\n width: 2.5em;\\n}\\n\\n.fa-inverse {\\n color: #fff;\\n}\\n\\n.sr-only {\\n border: 0;\\n clip: rect(0, 0, 0, 0);\\n height: 1px;\\n margin: -1px;\\n overflow: hidden;\\n padding: 0;\\n position: absolute;\\n width: 1px;\\n}\\n\\n.sr-only-focusable:active, .sr-only-focusable:focus {\\n clip: auto;\\n height: auto;\\n margin: 0;\\n overflow: visible;\\n position: static;\\n width: auto;\\n}\\n\\n.svg-inline--fa .fa-primary {\\n fill: var(--fa-primary-color, currentColor);\\n opacity: 1;\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa .fa-secondary {\\n fill: var(--fa-secondary-color, currentColor);\\n opacity: 0.4;\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-primary {\\n opacity: 0.4;\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\\n opacity: 1;\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa mask .fa-primary,\\n.svg-inline--fa mask .fa-secondary {\\n fill: black;\\n}\\n\\n.fad.fa-inverse {\\n color: #fff;\\n}\";\n\nfunction css () {\n var dfp = DEFAULT_FAMILY_PREFIX;\n var drc = DEFAULT_REPLACEMENT_CLASS;\n var fp = config.familyPrefix;\n var rc = config.replacementClass;\n var s = baseStyles;\n\n if (fp !== dfp || rc !== drc) {\n var dPatt = new RegExp(\"\\\\.\".concat(dfp, \"\\\\-\"), 'g');\n var customPropPatt = new RegExp(\"\\\\--\".concat(dfp, \"\\\\-\"), 'g');\n var rPatt = new RegExp(\"\\\\.\".concat(drc), 'g');\n s = s.replace(dPatt, \".\".concat(fp, \"-\")).replace(customPropPatt, \"--\".concat(fp, \"-\")).replace(rPatt, \".\".concat(rc));\n }\n\n return s;\n}\n\nvar Library =\n/*#__PURE__*/\nfunction () {\n function Library() {\n _classCallCheck(this, Library);\n\n this.definitions = {};\n }\n\n _createClass(Library, [{\n key: \"add\",\n value: function add() {\n var _this = this;\n\n for (var _len = arguments.length, definitions = new Array(_len), _key = 0; _key < _len; _key++) {\n definitions[_key] = arguments[_key];\n }\n\n var additions = definitions.reduce(this._pullDefinitions, {});\n Object.keys(additions).forEach(function (key) {\n _this.definitions[key] = _objectSpread({}, _this.definitions[key] || {}, additions[key]);\n defineIcons(key, additions[key]);\n build();\n });\n }\n }, {\n key: \"reset\",\n value: function reset() {\n this.definitions = {};\n }\n }, {\n key: \"_pullDefinitions\",\n value: function _pullDefinitions(additions, definition) {\n var normalized = definition.prefix && definition.iconName && definition.icon ? {\n 0: definition\n } : definition;\n Object.keys(normalized).map(function (key) {\n var _normalized$key = normalized[key],\n prefix = _normalized$key.prefix,\n iconName = _normalized$key.iconName,\n icon = _normalized$key.icon;\n if (!additions[prefix]) additions[prefix] = {};\n additions[prefix][iconName] = icon;\n });\n return additions;\n }\n }]);\n\n return Library;\n}();\n\nfunction ensureCss() {\n if (config.autoAddCss && !_cssInserted) {\n insertCss(css());\n\n _cssInserted = true;\n }\n}\n\nfunction apiObject(val, abstractCreator) {\n Object.defineProperty(val, 'abstract', {\n get: abstractCreator\n });\n Object.defineProperty(val, 'html', {\n get: function get() {\n return val.abstract.map(function (a) {\n return toHtml(a);\n });\n }\n });\n Object.defineProperty(val, 'node', {\n get: function get() {\n if (!IS_DOM) return;\n var container = DOCUMENT.createElement('div');\n container.innerHTML = val.html;\n return container.children;\n }\n });\n return val;\n}\n\nfunction findIconDefinition(iconLookup) {\n var _iconLookup$prefix = iconLookup.prefix,\n prefix = _iconLookup$prefix === void 0 ? 'fa' : _iconLookup$prefix,\n iconName = iconLookup.iconName;\n if (!iconName) return;\n return iconFromMapping(library.definitions, prefix, iconName) || iconFromMapping(namespace.styles, prefix, iconName);\n}\n\nfunction resolveIcons(next) {\n return function (maybeIconDefinition) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var iconDefinition = (maybeIconDefinition || {}).icon ? maybeIconDefinition : findIconDefinition(maybeIconDefinition || {});\n var mask = params.mask;\n\n if (mask) {\n mask = (mask || {}).icon ? mask : findIconDefinition(mask || {});\n }\n\n return next(iconDefinition, _objectSpread({}, params, {\n mask: mask\n }));\n };\n}\n\nvar library = new Library();\nvar noAuto = function noAuto() {\n config.autoReplaceSvg = false;\n config.observeMutations = false;\n disconnect();\n};\nvar _cssInserted = false;\nvar dom = {\n i2svg: function i2svg() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (IS_DOM) {\n ensureCss();\n var _params$node = params.node,\n node = _params$node === void 0 ? DOCUMENT : _params$node,\n _params$callback = params.callback,\n callback = _params$callback === void 0 ? function () {} : _params$callback;\n\n if (config.searchPseudoElements) {\n searchPseudoElements(node);\n }\n\n return onTree(node, callback);\n } else {\n return picked.reject('Operation requires a DOM of some kind.');\n }\n },\n css: css,\n insertCss: function insertCss$$1() {\n if (!_cssInserted) {\n insertCss(css());\n\n _cssInserted = true;\n }\n },\n watch: function watch() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var autoReplaceSvgRoot = params.autoReplaceSvgRoot,\n observeMutationsRoot = params.observeMutationsRoot;\n\n if (config.autoReplaceSvg === false) {\n config.autoReplaceSvg = true;\n }\n\n config.observeMutations = true;\n domready(function () {\n autoReplace({\n autoReplaceSvgRoot: autoReplaceSvgRoot\n });\n observe({\n treeCallback: onTree,\n nodeCallback: onNode,\n pseudoElementsCallback: searchPseudoElements,\n observeMutationsRoot: observeMutationsRoot\n });\n });\n }\n};\nvar parse = {\n transform: function transform(transformString) {\n return parseTransformString(transformString);\n }\n};\nvar icon = resolveIcons(function (iconDefinition) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform = params.transform,\n transform = _params$transform === void 0 ? meaninglessTransform : _params$transform,\n _params$symbol = params.symbol,\n symbol = _params$symbol === void 0 ? false : _params$symbol,\n _params$mask = params.mask,\n mask = _params$mask === void 0 ? null : _params$mask,\n _params$title = params.title,\n title = _params$title === void 0 ? null : _params$title,\n _params$classes = params.classes,\n classes = _params$classes === void 0 ? [] : _params$classes,\n _params$attributes = params.attributes,\n attributes = _params$attributes === void 0 ? {} : _params$attributes,\n _params$styles = params.styles,\n styles = _params$styles === void 0 ? {} : _params$styles;\n if (!iconDefinition) return;\n var prefix = iconDefinition.prefix,\n iconName = iconDefinition.iconName,\n icon = iconDefinition.icon;\n return apiObject(_objectSpread({\n type: 'icon'\n }, iconDefinition), function () {\n ensureCss();\n\n if (config.autoA11y) {\n if (title) {\n attributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(nextUniqueId());\n } else {\n attributes['aria-hidden'] = 'true';\n attributes['focusable'] = 'false';\n }\n }\n\n return makeInlineSvgAbstract({\n icons: {\n main: asFoundIcon(icon),\n mask: mask ? asFoundIcon(mask.icon) : {\n found: false,\n width: null,\n height: null,\n icon: {}\n }\n },\n prefix: prefix,\n iconName: iconName,\n transform: _objectSpread({}, meaninglessTransform, transform),\n symbol: symbol,\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: classes\n }\n });\n });\n});\nvar text = function text(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform2 = params.transform,\n transform = _params$transform2 === void 0 ? meaninglessTransform : _params$transform2,\n _params$title2 = params.title,\n title = _params$title2 === void 0 ? null : _params$title2,\n _params$classes2 = params.classes,\n classes = _params$classes2 === void 0 ? [] : _params$classes2,\n _params$attributes2 = params.attributes,\n attributes = _params$attributes2 === void 0 ? {} : _params$attributes2,\n _params$styles2 = params.styles,\n styles = _params$styles2 === void 0 ? {} : _params$styles2;\n return apiObject({\n type: 'text',\n content: content\n }, function () {\n ensureCss();\n return makeLayersTextAbstract({\n content: content,\n transform: _objectSpread({}, meaninglessTransform, transform),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.familyPrefix, \"-layers-text\")].concat(_toConsumableArray(classes))\n }\n });\n });\n};\nvar counter = function counter(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$title3 = params.title,\n title = _params$title3 === void 0 ? null : _params$title3,\n _params$classes3 = params.classes,\n classes = _params$classes3 === void 0 ? [] : _params$classes3,\n _params$attributes3 = params.attributes,\n attributes = _params$attributes3 === void 0 ? {} : _params$attributes3,\n _params$styles3 = params.styles,\n styles = _params$styles3 === void 0 ? {} : _params$styles3;\n return apiObject({\n type: 'counter',\n content: content\n }, function () {\n ensureCss();\n return makeLayersCounterAbstract({\n content: content.toString(),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.familyPrefix, \"-layers-counter\")].concat(_toConsumableArray(classes))\n }\n });\n });\n};\nvar layer = function layer(assembler) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$classes4 = params.classes,\n classes = _params$classes4 === void 0 ? [] : _params$classes4;\n return apiObject({\n type: 'layer'\n }, function () {\n ensureCss();\n var children = [];\n assembler(function (args) {\n Array.isArray(args) ? args.map(function (a) {\n children = children.concat(a.abstract);\n }) : children = children.concat(args.abstract);\n });\n return [{\n tag: 'span',\n attributes: {\n class: [\"\".concat(config.familyPrefix, \"-layers\")].concat(_toConsumableArray(classes)).join(' ')\n },\n children: children\n }];\n });\n};\nvar api = {\n noAuto: noAuto,\n config: config,\n dom: dom,\n library: library,\n parse: parse,\n findIconDefinition: findIconDefinition,\n icon: icon,\n text: text,\n counter: counter,\n layer: layer,\n toHtml: toHtml\n};\n\nvar autoReplace = function autoReplace() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _params$autoReplaceSv = params.autoReplaceSvgRoot,\n autoReplaceSvgRoot = _params$autoReplaceSv === void 0 ? DOCUMENT : _params$autoReplaceSv;\n if ((Object.keys(namespace.styles).length > 0 || config.autoFetchSvg) && IS_DOM && config.autoReplaceSvg) api.dom.i2svg({\n node: autoReplaceSvgRoot\n });\n};\n\nexport { icon, noAuto, config, toHtml, layer, text, counter, library, dom, parse, findIconDefinition };\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","function classname () {\n var result = {},\n objects = {},\n resultString = \"\";\n\n function add (strings) {\n classname.each(strings.split(\" \"), function (string) {\n result[string] = !!string;\n });\n }\n\n classname.each([].slice.call(arguments), function (x) {\n switch (classname.getType(x)) {\n case \"string\":\n case \"number\":\n add(x);\n break;\n\n case \"array\":\n add(classname.apply(null, x));\n break;\n\n case \"element\":\n add(classname(x.className || \"\"));\n break;\n\n case \"nodelist\":\n add(classname.apply(null, [].slice.call(x)));\n break;\n\n case \"jquery\":\n add(classname.apply(null, x.get()));\n break;\n\n case \"object\":\n objects = classname.extend(objects, x);\n break;\n }\n });\n\n result = classname.extend(result, objects);\n\n classname.each(result, function (val, key) {\n if (val) {\n resultString += \" \" + key;\n }\n });\n\n return resultString.substr(1);\n}\n\nclassname.setTo = function (elements) {\n var type = classname.getType(elements);\n\n if (type === \"element\") {\n elements = [elements];\n }\n\n if (type === \"jquery\") {\n elements = elements.get();\n }\n\n if (type === \"nodelist\") {\n elements = [].slice.call(elements);\n }\n\n return function () {\n var classNames = classname.apply(null, arguments);\n\n classname.each(elements, function (element) {\n element.className = classNames;\n });\n };\n};\n\nclassname.each = function (arr, fn) {\n var type = classname.getType(arr);\n\n if (type === \"array\") {\n for (var i = 0; i < arr.length; i++) {\n fn(arr[i], i);\n }\n }\n\n if (type === \"object\") {\n for (var key in arr) {\n fn(arr[key], key);\n }\n }\n};\n\nclassname.getType = function (x) {\n var type = Object.prototype.toString.call(x).slice(8, -1).toLowerCase();\n\n if (type === \"object\" && x.jquery) {\n return \"jquery\";\n }\n\n if (type.indexOf(\"element\") > 1) {\n return \"element\";\n }\n\n return type;\n};\n\nclassname.extend = function (obj1, obj2) {\n var result = {},\n objs = [obj1, obj2];\n\n classname.each(objs, function (obj) {\n classname.each(obj, function (val, key) {\n if (obj.hasOwnProperty(key)) {\n result[key] = val;\n }\n });\n });\n\n return result;\n};\n\nif (typeof module !== \"undefined\" && module.exports) {\n module.exports = classname;\n}\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\nvar enhanceError = require('./core/enhanceError');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n },\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data) || (headers && headers['Content-Type'] === 'application/json')) {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw enhanceError(e, this, 'E_JSON_PARSE');\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar hexTable = (function () {\n var array = [];\n for (var i = 0; i < 256; ++i) {\n array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());\n }\n\n return array;\n}());\n\nvar compactQueue = function compactQueue(queue) {\n while (queue.length > 1) {\n var item = queue.pop();\n var obj = item.obj[item.prop];\n\n if (isArray(obj)) {\n var compacted = [];\n\n for (var j = 0; j < obj.length; ++j) {\n if (typeof obj[j] !== 'undefined') {\n compacted.push(obj[j]);\n }\n }\n\n item.obj[item.prop] = compacted;\n }\n }\n};\n\nvar arrayToObject = function arrayToObject(source, options) {\n var obj = options && options.plainObjects ? Object.create(null) : {};\n for (var i = 0; i < source.length; ++i) {\n if (typeof source[i] !== 'undefined') {\n obj[i] = source[i];\n }\n }\n\n return obj;\n};\n\nvar merge = function merge(target, source, options) {\n /* eslint no-param-reassign: 0 */\n if (!source) {\n return target;\n }\n\n if (typeof source !== 'object') {\n if (isArray(target)) {\n target.push(source);\n } else if (target && typeof target === 'object') {\n if ((options && (options.plainObjects || options.allowPrototypes)) || !has.call(Object.prototype, source)) {\n target[source] = true;\n }\n } else {\n return [target, source];\n }\n\n return target;\n }\n\n if (!target || typeof target !== 'object') {\n return [target].concat(source);\n }\n\n var mergeTarget = target;\n if (isArray(target) && !isArray(source)) {\n mergeTarget = arrayToObject(target, options);\n }\n\n if (isArray(target) && isArray(source)) {\n source.forEach(function (item, i) {\n if (has.call(target, i)) {\n var targetItem = target[i];\n if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') {\n target[i] = merge(targetItem, item, options);\n } else {\n target.push(item);\n }\n } else {\n target[i] = item;\n }\n });\n return target;\n }\n\n return Object.keys(source).reduce(function (acc, key) {\n var value = source[key];\n\n if (has.call(acc, key)) {\n acc[key] = merge(acc[key], value, options);\n } else {\n acc[key] = value;\n }\n return acc;\n }, mergeTarget);\n};\n\nvar assign = function assignSingleSource(target, source) {\n return Object.keys(source).reduce(function (acc, key) {\n acc[key] = source[key];\n return acc;\n }, target);\n};\n\nvar decode = function (str, decoder, charset) {\n var strWithoutPlus = str.replace(/\\+/g, ' ');\n if (charset === 'iso-8859-1') {\n // unescape never throws, no try...catch needed:\n return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);\n }\n // utf-8\n try {\n return decodeURIComponent(strWithoutPlus);\n } catch (e) {\n return strWithoutPlus;\n }\n};\n\nvar encode = function encode(str, defaultEncoder, charset) {\n // This code was originally written by Brian White (mscdex) for the io.js core querystring library.\n // It has been adapted here for stricter adherence to RFC 3986\n if (str.length === 0) {\n return str;\n }\n\n var string = str;\n if (typeof str === 'symbol') {\n string = Symbol.prototype.toString.call(str);\n } else if (typeof str !== 'string') {\n string = String(str);\n }\n\n if (charset === 'iso-8859-1') {\n return escape(string).replace(/%u[0-9a-f]{4}/gi, function ($0) {\n return '%26%23' + parseInt($0.slice(2), 16) + '%3B';\n });\n }\n\n var out = '';\n for (var i = 0; i < string.length; ++i) {\n var c = string.charCodeAt(i);\n\n if (\n c === 0x2D // -\n || c === 0x2E // .\n || c === 0x5F // _\n || c === 0x7E // ~\n || (c >= 0x30 && c <= 0x39) // 0-9\n || (c >= 0x41 && c <= 0x5A) // a-z\n || (c >= 0x61 && c <= 0x7A) // A-Z\n ) {\n out += string.charAt(i);\n continue;\n }\n\n if (c < 0x80) {\n out = out + hexTable[c];\n continue;\n }\n\n if (c < 0x800) {\n out = out + (hexTable[0xC0 | (c >> 6)] + hexTable[0x80 | (c & 0x3F)]);\n continue;\n }\n\n if (c < 0xD800 || c >= 0xE000) {\n out = out + (hexTable[0xE0 | (c >> 12)] + hexTable[0x80 | ((c >> 6) & 0x3F)] + hexTable[0x80 | (c & 0x3F)]);\n continue;\n }\n\n i += 1;\n c = 0x10000 + (((c & 0x3FF) << 10) | (string.charCodeAt(i) & 0x3FF));\n out += hexTable[0xF0 | (c >> 18)]\n + hexTable[0x80 | ((c >> 12) & 0x3F)]\n + hexTable[0x80 | ((c >> 6) & 0x3F)]\n + hexTable[0x80 | (c & 0x3F)];\n }\n\n return out;\n};\n\nvar compact = function compact(value) {\n var queue = [{ obj: { o: value }, prop: 'o' }];\n var refs = [];\n\n for (var i = 0; i < queue.length; ++i) {\n var item = queue[i];\n var obj = item.obj[item.prop];\n\n var keys = Object.keys(obj);\n for (var j = 0; j < keys.length; ++j) {\n var key = keys[j];\n var val = obj[key];\n if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) {\n queue.push({ obj: obj, prop: key });\n refs.push(val);\n }\n }\n }\n\n compactQueue(queue);\n\n return value;\n};\n\nvar isRegExp = function isRegExp(obj) {\n return Object.prototype.toString.call(obj) === '[object RegExp]';\n};\n\nvar isBuffer = function isBuffer(obj) {\n if (!obj || typeof obj !== 'object') {\n return false;\n }\n\n return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));\n};\n\nvar combine = function combine(a, b) {\n return [].concat(a, b);\n};\n\nvar maybeMap = function maybeMap(val, fn) {\n if (isArray(val)) {\n var mapped = [];\n for (var i = 0; i < val.length; i += 1) {\n mapped.push(fn(val[i]));\n }\n return mapped;\n }\n return fn(val);\n};\n\nmodule.exports = {\n arrayToObject: arrayToObject,\n assign: assign,\n combine: combine,\n compact: compact,\n decode: decode,\n encode: encode,\n isBuffer: isBuffer,\n isRegExp: isRegExp,\n maybeMap: maybeMap,\n merge: merge\n};\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = processNodes;\n\nvar _isEmptyTextNode = require('./utils/isEmptyTextNode');\n\nvar _isEmptyTextNode2 = _interopRequireDefault(_isEmptyTextNode);\n\nvar _convertNodeToElement = require('./convertNodeToElement');\n\nvar _convertNodeToElement2 = _interopRequireDefault(_convertNodeToElement);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Processes the nodes generated by htmlparser2 and convert them all into React elements\n *\n * @param {Object[]} nodes List of nodes to process\n * @param {Function} transform Transform function to optionally apply to nodes\n * @returns {React.Element[]} The list of processed React elements\n */\nfunction processNodes(nodes, transform) {\n\n return nodes.filter(function (node) {\n return !(0, _isEmptyTextNode2.default)(node);\n }).map(function (node, index) {\n\n // return the result of the transform function if applicable\n var transformed = void 0;\n if (typeof transform === 'function') {\n transformed = transform(node, index);\n if (transformed === null || !!transformed) {\n return transformed;\n }\n }\n\n // otherwise convert the node as standard\n return (0, _convertNodeToElement2.default)(node, index, transform);\n });\n}","/* global window */\nimport ponyfill from './ponyfill.js';\n\nvar root;\n\nif (typeof self !== 'undefined') {\n root = self;\n} else if (typeof window !== 'undefined') {\n root = window;\n} else if (typeof global !== 'undefined') {\n root = global;\n} else if (typeof module !== 'undefined') {\n root = module;\n} else {\n root = Function('return this')();\n}\n\nvar result = ponyfill(root);\nexport default result;\n","function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nmodule.exports = _inheritsLoose;","var isarray = require('isarray')\n\n/**\n * Expose `pathToRegexp`.\n */\nmodule.exports = pathToRegexp\nmodule.exports.parse = parse\nmodule.exports.compile = compile\nmodule.exports.tokensToFunction = tokensToFunction\nmodule.exports.tokensToRegExp = tokensToRegExp\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g')\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = []\n var key = 0\n var index = 0\n var path = ''\n var defaultDelimiter = options && options.delimiter || '/'\n var res\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0]\n var escaped = res[1]\n var offset = res.index\n path += str.slice(index, offset)\n index = offset + m.length\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1]\n continue\n }\n\n var next = str[index]\n var prefix = res[2]\n var name = res[3]\n var capture = res[4]\n var group = res[5]\n var modifier = res[6]\n var asterisk = res[7]\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path)\n path = ''\n }\n\n var partial = prefix != null && next != null && next !== prefix\n var repeat = modifier === '+' || modifier === '*'\n var optional = modifier === '?' || modifier === '*'\n var delimiter = res[2] || defaultDelimiter\n var pattern = capture || group\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n })\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index)\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path)\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options))\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length)\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$')\n }\n }\n\n return function (obj, opts) {\n var path = ''\n var data = obj || {}\n var options = opts || {}\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n path += token\n\n continue\n }\n\n var value = data[token.name]\n var segment\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j])\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value)\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g)\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n })\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = []\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source)\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options))\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n var strict = options.strict\n var end = options.end !== false\n var route = ''\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n route += escapeString(token)\n } else {\n var prefix = escapeString(token.prefix)\n var capture = '(?:' + token.pattern + ')'\n\n keys.push(token)\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*'\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?'\n } else {\n capture = prefix + '(' + capture + ')?'\n }\n } else {\n capture = prefix + '(' + capture + ')'\n }\n\n route += capture\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/')\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?'\n }\n\n if (end) {\n route += '$'\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)'\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code\n };\n };\n return error;\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(\n timeoutErrorMessage,\n config,\n config.transitional && config.transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n var valueFromConfig2Keys = ['url', 'method', 'data'];\n var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy', 'params'];\n var defaultToConfig2Keys = [\n 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer',\n 'timeout', 'timeoutMessage', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'decompress',\n 'maxContentLength', 'maxBodyLength', 'maxRedirects', 'transport', 'httpAgent',\n 'httpsAgent', 'cancelToken', 'socketPath', 'responseEncoding'\n ];\n var directMergeKeys = ['validateStatus'];\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n }\n\n utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n }\n });\n\n utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties);\n\n utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n utils.forEach(directMergeKeys, function merge(prop) {\n if (prop in config2) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n var axiosKeys = valueFromConfig2Keys\n .concat(mergeDeepPropertiesKeys)\n .concat(defaultToConfig2Keys)\n .concat(directMergeKeys);\n\n var otherKeys = Object\n .keys(config1)\n .concat(Object.keys(config2))\n .filter(function filterAxiosKeys(key) {\n return axiosKeys.indexOf(key) === -1;\n });\n\n utils.forEach(otherKeys, mergeDeepProperties);\n\n return config;\n};\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","'use strict';\n\nvar replace = String.prototype.replace;\nvar percentTwenties = /%20/g;\n\nvar util = require('./utils');\n\nvar Format = {\n RFC1738: 'RFC1738',\n RFC3986: 'RFC3986'\n};\n\nmodule.exports = util.assign(\n {\n 'default': Format.RFC3986,\n formatters: {\n RFC1738: function (value) {\n return replace.call(value, percentTwenties, '+');\n },\n RFC3986: function (value) {\n return String(value);\n }\n }\n },\n Format\n);\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nfunction componentWillMount() {\n // Call this.constructor.gDSFP to support sub-classes.\n var state = this.constructor.getDerivedStateFromProps(this.props, this.state);\n if (state !== null && state !== undefined) {\n this.setState(state);\n }\n}\n\nfunction componentWillReceiveProps(nextProps) {\n // Call this.constructor.gDSFP to support sub-classes.\n // Use the setState() updater to ensure state isn't stale in certain edge cases.\n function updater(prevState) {\n var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);\n return state !== null && state !== undefined ? state : null;\n }\n // Binding \"this\" is important for shallow renderer support.\n this.setState(updater.bind(this));\n}\n\nfunction componentWillUpdate(nextProps, nextState) {\n try {\n var prevProps = this.props;\n var prevState = this.state;\n this.props = nextProps;\n this.state = nextState;\n this.__reactInternalSnapshotFlag = true;\n this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(\n prevProps,\n prevState\n );\n } finally {\n this.props = prevProps;\n this.state = prevState;\n }\n}\n\n// React may warn about cWM/cWRP/cWU methods being deprecated.\n// Add a flag to suppress these warnings for this special case.\ncomponentWillMount.__suppressDeprecationWarning = true;\ncomponentWillReceiveProps.__suppressDeprecationWarning = true;\ncomponentWillUpdate.__suppressDeprecationWarning = true;\n\nfunction polyfill(Component) {\n var prototype = Component.prototype;\n\n if (!prototype || !prototype.isReactComponent) {\n throw new Error('Can only polyfill class components');\n }\n\n if (\n typeof Component.getDerivedStateFromProps !== 'function' &&\n typeof prototype.getSnapshotBeforeUpdate !== 'function'\n ) {\n return Component;\n }\n\n // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n // Error if any of these lifecycles are present,\n // Because they would work differently between older and newer (16.3+) versions of React.\n var foundWillMountName = null;\n var foundWillReceivePropsName = null;\n var foundWillUpdateName = null;\n if (typeof prototype.componentWillMount === 'function') {\n foundWillMountName = 'componentWillMount';\n } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {\n foundWillMountName = 'UNSAFE_componentWillMount';\n }\n if (typeof prototype.componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'componentWillReceiveProps';\n } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n }\n if (typeof prototype.componentWillUpdate === 'function') {\n foundWillUpdateName = 'componentWillUpdate';\n } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {\n foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n }\n if (\n foundWillMountName !== null ||\n foundWillReceivePropsName !== null ||\n foundWillUpdateName !== null\n ) {\n var componentName = Component.displayName || Component.name;\n var newApiName =\n typeof Component.getDerivedStateFromProps === 'function'\n ? 'getDerivedStateFromProps()'\n : 'getSnapshotBeforeUpdate()';\n\n throw Error(\n 'Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' +\n componentName +\n ' uses ' +\n newApiName +\n ' but also contains the following legacy lifecycles:' +\n (foundWillMountName !== null ? '\\n ' + foundWillMountName : '') +\n (foundWillReceivePropsName !== null\n ? '\\n ' + foundWillReceivePropsName\n : '') +\n (foundWillUpdateName !== null ? '\\n ' + foundWillUpdateName : '') +\n '\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\n' +\n 'https://fb.me/react-async-component-lifecycle-hooks'\n );\n }\n\n // React <= 16.2 does not support static getDerivedStateFromProps.\n // As a workaround, use cWM and cWRP to invoke the new static lifecycle.\n // Newer versions of React will ignore these lifecycles if gDSFP exists.\n if (typeof Component.getDerivedStateFromProps === 'function') {\n prototype.componentWillMount = componentWillMount;\n prototype.componentWillReceiveProps = componentWillReceiveProps;\n }\n\n // React <= 16.2 does not support getSnapshotBeforeUpdate.\n // As a workaround, use cWU to invoke the new lifecycle.\n // Newer versions of React will ignore that lifecycle if gSBU exists.\n if (typeof prototype.getSnapshotBeforeUpdate === 'function') {\n if (typeof prototype.componentDidUpdate !== 'function') {\n throw new Error(\n 'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'\n );\n }\n\n prototype.componentWillUpdate = componentWillUpdate;\n\n var componentDidUpdate = prototype.componentDidUpdate;\n\n prototype.componentDidUpdate = function componentDidUpdatePolyfill(\n prevProps,\n prevState,\n maybeSnapshot\n ) {\n // 16.3+ will not execute our will-update method;\n // It will pass a snapshot value to did-update though.\n // Older versions will require our polyfilled will-update value.\n // We need to handle both cases, but can't just check for the presence of \"maybeSnapshot\",\n // Because for <= 15.x versions this might be a \"prevContext\" object.\n // We also can't just check \"__reactInternalSnapshot\",\n // Because get-snapshot might return a falsy value.\n // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.\n var snapshot = this.__reactInternalSnapshotFlag\n ? this.__reactInternalSnapshot\n : maybeSnapshot;\n\n componentDidUpdate.call(this, prevProps, prevState, snapshot);\n };\n }\n\n return Component;\n}\n\nexport { polyfill };\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.defineMode(\"javascript\", function(config, parserConfig) {\n var indentUnit = config.indentUnit;\n var statementIndent = parserConfig.statementIndent;\n var jsonldMode = parserConfig.jsonld;\n var jsonMode = parserConfig.json || jsonldMode;\n var trackScope = parserConfig.trackScope !== false\n var isTS = parserConfig.typescript;\n var wordRE = parserConfig.wordCharacters || /[\\w$\\xa1-\\uffff]/;\n\n // Tokenizer\n\n var keywords = function(){\n function kw(type) {return {type: type, style: \"keyword\"};}\n var A = kw(\"keyword a\"), B = kw(\"keyword b\"), C = kw(\"keyword c\"), D = kw(\"keyword d\");\n var operator = kw(\"operator\"), atom = {type: \"atom\", style: \"atom\"};\n\n return {\n \"if\": kw(\"if\"), \"while\": A, \"with\": A, \"else\": B, \"do\": B, \"try\": B, \"finally\": B,\n \"return\": D, \"break\": D, \"continue\": D, \"new\": kw(\"new\"), \"delete\": C, \"void\": C, \"throw\": C,\n \"debugger\": kw(\"debugger\"), \"var\": kw(\"var\"), \"const\": kw(\"var\"), \"let\": kw(\"var\"),\n \"function\": kw(\"function\"), \"catch\": kw(\"catch\"),\n \"for\": kw(\"for\"), \"switch\": kw(\"switch\"), \"case\": kw(\"case\"), \"default\": kw(\"default\"),\n \"in\": operator, \"typeof\": operator, \"instanceof\": operator,\n \"true\": atom, \"false\": atom, \"null\": atom, \"undefined\": atom, \"NaN\": atom, \"Infinity\": atom,\n \"this\": kw(\"this\"), \"class\": kw(\"class\"), \"super\": kw(\"atom\"),\n \"yield\": C, \"export\": kw(\"export\"), \"import\": kw(\"import\"), \"extends\": C,\n \"await\": C\n };\n }();\n\n var isOperatorChar = /[+\\-*&%=<>!?|~^@]/;\n var isJsonldKeyword = /^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)\"/;\n\n function readRegexp(stream) {\n var escaped = false, next, inSet = false;\n while ((next = stream.next()) != null) {\n if (!escaped) {\n if (next == \"/\" && !inSet) return;\n if (next == \"[\") inSet = true;\n else if (inSet && next == \"]\") inSet = false;\n }\n escaped = !escaped && next == \"\\\\\";\n }\n }\n\n // Used as scratch variables to communicate multiple values without\n // consing up tons of objects.\n var type, content;\n function ret(tp, style, cont) {\n type = tp; content = cont;\n return style;\n }\n function tokenBase(stream, state) {\n var ch = stream.next();\n if (ch == '\"' || ch == \"'\") {\n state.tokenize = tokenString(ch);\n return state.tokenize(stream, state);\n } else if (ch == \".\" && stream.match(/^\\d[\\d_]*(?:[eE][+\\-]?[\\d_]+)?/)) {\n return ret(\"number\", \"number\");\n } else if (ch == \".\" && stream.match(\"..\")) {\n return ret(\"spread\", \"meta\");\n } else if (/[\\[\\]{}\\(\\),;\\:\\.]/.test(ch)) {\n return ret(ch);\n } else if (ch == \"=\" && stream.eat(\">\")) {\n return ret(\"=>\", \"operator\");\n } else if (ch == \"0\" && stream.match(/^(?:x[\\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/)) {\n return ret(\"number\", \"number\");\n } else if (/\\d/.test(ch)) {\n stream.match(/^[\\d_]*(?:n|(?:\\.[\\d_]*)?(?:[eE][+\\-]?[\\d_]+)?)?/);\n return ret(\"number\", \"number\");\n } else if (ch == \"/\") {\n if (stream.eat(\"*\")) {\n state.tokenize = tokenComment;\n return tokenComment(stream, state);\n } else if (stream.eat(\"/\")) {\n stream.skipToEnd();\n return ret(\"comment\", \"comment\");\n } else if (expressionAllowed(stream, state, 1)) {\n readRegexp(stream);\n stream.match(/^\\b(([gimyus])(?![gimyus]*\\2))+\\b/);\n return ret(\"regexp\", \"string-2\");\n } else {\n stream.eat(\"=\");\n return ret(\"operator\", \"operator\", stream.current());\n }\n } else if (ch == \"`\") {\n state.tokenize = tokenQuasi;\n return tokenQuasi(stream, state);\n } else if (ch == \"#\" && stream.peek() == \"!\") {\n stream.skipToEnd();\n return ret(\"meta\", \"meta\");\n } else if (ch == \"#\" && stream.eatWhile(wordRE)) {\n return ret(\"variable\", \"property\")\n } else if (ch == \"<\" && stream.match(\"!--\") ||\n (ch == \"-\" && stream.match(\"->\") && !/\\S/.test(stream.string.slice(0, stream.start)))) {\n stream.skipToEnd()\n return ret(\"comment\", \"comment\")\n } else if (isOperatorChar.test(ch)) {\n if (ch != \">\" || !state.lexical || state.lexical.type != \">\") {\n if (stream.eat(\"=\")) {\n if (ch == \"!\" || ch == \"=\") stream.eat(\"=\")\n } else if (/[<>*+\\-|&?]/.test(ch)) {\n stream.eat(ch)\n if (ch == \">\") stream.eat(ch)\n }\n }\n if (ch == \"?\" && stream.eat(\".\")) return ret(\".\")\n return ret(\"operator\", \"operator\", stream.current());\n } else if (wordRE.test(ch)) {\n stream.eatWhile(wordRE);\n var word = stream.current()\n if (state.lastType != \".\") {\n if (keywords.propertyIsEnumerable(word)) {\n var kw = keywords[word]\n return ret(kw.type, kw.style, word)\n }\n if (word == \"async\" && stream.match(/^(\\s|\\/\\*([^*]|\\*(?!\\/))*?\\*\\/)*[\\[\\(\\w]/, false))\n return ret(\"async\", \"keyword\", word)\n }\n return ret(\"variable\", \"variable\", word)\n }\n }\n\n function tokenString(quote) {\n return function(stream, state) {\n var escaped = false, next;\n if (jsonldMode && stream.peek() == \"@\" && stream.match(isJsonldKeyword)){\n state.tokenize = tokenBase;\n return ret(\"jsonld-keyword\", \"meta\");\n }\n while ((next = stream.next()) != null) {\n if (next == quote && !escaped) break;\n escaped = !escaped && next == \"\\\\\";\n }\n if (!escaped) state.tokenize = tokenBase;\n return ret(\"string\", \"string\");\n };\n }\n\n function tokenComment(stream, state) {\n var maybeEnd = false, ch;\n while (ch = stream.next()) {\n if (ch == \"/\" && maybeEnd) {\n state.tokenize = tokenBase;\n break;\n }\n maybeEnd = (ch == \"*\");\n }\n return ret(\"comment\", \"comment\");\n }\n\n function tokenQuasi(stream, state) {\n var escaped = false, next;\n while ((next = stream.next()) != null) {\n if (!escaped && (next == \"`\" || next == \"$\" && stream.eat(\"{\"))) {\n state.tokenize = tokenBase;\n break;\n }\n escaped = !escaped && next == \"\\\\\";\n }\n return ret(\"quasi\", \"string-2\", stream.current());\n }\n\n var brackets = \"([{}])\";\n // This is a crude lookahead trick to try and notice that we're\n // parsing the argument patterns for a fat-arrow function before we\n // actually hit the arrow token. It only works if the arrow is on\n // the same line as the arguments and there's no strange noise\n // (comments) in between. Fallback is to only notice when we hit the\n // arrow, and not declare the arguments as locals for the arrow\n // body.\n function findFatArrow(stream, state) {\n if (state.fatArrowAt) state.fatArrowAt = null;\n var arrow = stream.string.indexOf(\"=>\", stream.start);\n if (arrow < 0) return;\n\n if (isTS) { // Try to skip TypeScript return type declarations after the arguments\n var m = /:\\s*(?:\\w+(?:<[^>]*>|\\[\\])?|\\{[^}]*\\})\\s*$/.exec(stream.string.slice(stream.start, arrow))\n if (m) arrow = m.index\n }\n\n var depth = 0, sawSomething = false;\n for (var pos = arrow - 1; pos >= 0; --pos) {\n var ch = stream.string.charAt(pos);\n var bracket = brackets.indexOf(ch);\n if (bracket >= 0 && bracket < 3) {\n if (!depth) { ++pos; break; }\n if (--depth == 0) { if (ch == \"(\") sawSomething = true; break; }\n } else if (bracket >= 3 && bracket < 6) {\n ++depth;\n } else if (wordRE.test(ch)) {\n sawSomething = true;\n } else if (/[\"'\\/`]/.test(ch)) {\n for (;; --pos) {\n if (pos == 0) return\n var next = stream.string.charAt(pos - 1)\n if (next == ch && stream.string.charAt(pos - 2) != \"\\\\\") { pos--; break }\n }\n } else if (sawSomething && !depth) {\n ++pos;\n break;\n }\n }\n if (sawSomething && !depth) state.fatArrowAt = pos;\n }\n\n // Parser\n\n var atomicTypes = {\"atom\": true, \"number\": true, \"variable\": true, \"string\": true,\n \"regexp\": true, \"this\": true, \"import\": true, \"jsonld-keyword\": true};\n\n function JSLexical(indented, column, type, align, prev, info) {\n this.indented = indented;\n this.column = column;\n this.type = type;\n this.prev = prev;\n this.info = info;\n if (align != null) this.align = align;\n }\n\n function inScope(state, varname) {\n if (!trackScope) return false\n for (var v = state.localVars; v; v = v.next)\n if (v.name == varname) return true;\n for (var cx = state.context; cx; cx = cx.prev) {\n for (var v = cx.vars; v; v = v.next)\n if (v.name == varname) return true;\n }\n }\n\n function parseJS(state, style, type, content, stream) {\n var cc = state.cc;\n // Communicate our context to the combinators.\n // (Less wasteful than consing up a hundred closures on every call.)\n cx.state = state; cx.stream = stream; cx.marked = null, cx.cc = cc; cx.style = style;\n\n if (!state.lexical.hasOwnProperty(\"align\"))\n state.lexical.align = true;\n\n while(true) {\n var combinator = cc.length ? cc.pop() : jsonMode ? expression : statement;\n if (combinator(type, content)) {\n while(cc.length && cc[cc.length - 1].lex)\n cc.pop()();\n if (cx.marked) return cx.marked;\n if (type == \"variable\" && inScope(state, content)) return \"variable-2\";\n return style;\n }\n }\n }\n\n // Combinator utils\n\n var cx = {state: null, column: null, marked: null, cc: null};\n function pass() {\n for (var i = arguments.length - 1; i >= 0; i--) cx.cc.push(arguments[i]);\n }\n function cont() {\n pass.apply(null, arguments);\n return true;\n }\n function inList(name, list) {\n for (var v = list; v; v = v.next) if (v.name == name) return true\n return false;\n }\n function register(varname) {\n var state = cx.state;\n cx.marked = \"def\";\n if (!trackScope) return\n if (state.context) {\n if (state.lexical.info == \"var\" && state.context && state.context.block) {\n // FIXME function decls are also not block scoped\n var newContext = registerVarScoped(varname, state.context)\n if (newContext != null) {\n state.context = newContext\n return\n }\n } else if (!inList(varname, state.localVars)) {\n state.localVars = new Var(varname, state.localVars)\n return\n }\n }\n // Fall through means this is global\n if (parserConfig.globalVars && !inList(varname, state.globalVars))\n state.globalVars = new Var(varname, state.globalVars)\n }\n function registerVarScoped(varname, context) {\n if (!context) {\n return null\n } else if (context.block) {\n var inner = registerVarScoped(varname, context.prev)\n if (!inner) return null\n if (inner == context.prev) return context\n return new Context(inner, context.vars, true)\n } else if (inList(varname, context.vars)) {\n return context\n } else {\n return new Context(context.prev, new Var(varname, context.vars), false)\n }\n }\n\n function isModifier(name) {\n return name == \"public\" || name == \"private\" || name == \"protected\" || name == \"abstract\" || name == \"readonly\"\n }\n\n // Combinators\n\n function Context(prev, vars, block) { this.prev = prev; this.vars = vars; this.block = block }\n function Var(name, next) { this.name = name; this.next = next }\n\n var defaultVars = new Var(\"this\", new Var(\"arguments\", null))\n function pushcontext() {\n cx.state.context = new Context(cx.state.context, cx.state.localVars, false)\n cx.state.localVars = defaultVars\n }\n function pushblockcontext() {\n cx.state.context = new Context(cx.state.context, cx.state.localVars, true)\n cx.state.localVars = null\n }\n function popcontext() {\n cx.state.localVars = cx.state.context.vars\n cx.state.context = cx.state.context.prev\n }\n popcontext.lex = true\n function pushlex(type, info) {\n var result = function() {\n var state = cx.state, indent = state.indented;\n if (state.lexical.type == \"stat\") indent = state.lexical.indented;\n else for (var outer = state.lexical; outer && outer.type == \")\" && outer.align; outer = outer.prev)\n indent = outer.indented;\n state.lexical = new JSLexical(indent, cx.stream.column(), type, null, state.lexical, info);\n };\n result.lex = true;\n return result;\n }\n function poplex() {\n var state = cx.state;\n if (state.lexical.prev) {\n if (state.lexical.type == \")\")\n state.indented = state.lexical.indented;\n state.lexical = state.lexical.prev;\n }\n }\n poplex.lex = true;\n\n function expect(wanted) {\n function exp(type) {\n if (type == wanted) return cont();\n else if (wanted == \";\" || type == \"}\" || type == \")\" || type == \"]\") return pass();\n else return cont(exp);\n };\n return exp;\n }\n\n function statement(type, value) {\n if (type == \"var\") return cont(pushlex(\"vardef\", value), vardef, expect(\";\"), poplex);\n if (type == \"keyword a\") return cont(pushlex(\"form\"), parenExpr, statement, poplex);\n if (type == \"keyword b\") return cont(pushlex(\"form\"), statement, poplex);\n if (type == \"keyword d\") return cx.stream.match(/^\\s*$/, false) ? cont() : cont(pushlex(\"stat\"), maybeexpression, expect(\";\"), poplex);\n if (type == \"debugger\") return cont(expect(\";\"));\n if (type == \"{\") return cont(pushlex(\"}\"), pushblockcontext, block, poplex, popcontext);\n if (type == \";\") return cont();\n if (type == \"if\") {\n if (cx.state.lexical.info == \"else\" && cx.state.cc[cx.state.cc.length - 1] == poplex)\n cx.state.cc.pop()();\n return cont(pushlex(\"form\"), parenExpr, statement, poplex, maybeelse);\n }\n if (type == \"function\") return cont(functiondef);\n if (type == \"for\") return cont(pushlex(\"form\"), pushblockcontext, forspec, statement, popcontext, poplex);\n if (type == \"class\" || (isTS && value == \"interface\")) {\n cx.marked = \"keyword\"\n return cont(pushlex(\"form\", type == \"class\" ? type : value), className, poplex)\n }\n if (type == \"variable\") {\n if (isTS && value == \"declare\") {\n cx.marked = \"keyword\"\n return cont(statement)\n } else if (isTS && (value == \"module\" || value == \"enum\" || value == \"type\") && cx.stream.match(/^\\s*\\w/, false)) {\n cx.marked = \"keyword\"\n if (value == \"enum\") return cont(enumdef);\n else if (value == \"type\") return cont(typename, expect(\"operator\"), typeexpr, expect(\";\"));\n else return cont(pushlex(\"form\"), pattern, expect(\"{\"), pushlex(\"}\"), block, poplex, poplex)\n } else if (isTS && value == \"namespace\") {\n cx.marked = \"keyword\"\n return cont(pushlex(\"form\"), expression, statement, poplex)\n } else if (isTS && value == \"abstract\") {\n cx.marked = \"keyword\"\n return cont(statement)\n } else {\n return cont(pushlex(\"stat\"), maybelabel);\n }\n }\n if (type == \"switch\") return cont(pushlex(\"form\"), parenExpr, expect(\"{\"), pushlex(\"}\", \"switch\"), pushblockcontext,\n block, poplex, poplex, popcontext);\n if (type == \"case\") return cont(expression, expect(\":\"));\n if (type == \"default\") return cont(expect(\":\"));\n if (type == \"catch\") return cont(pushlex(\"form\"), pushcontext, maybeCatchBinding, statement, poplex, popcontext);\n if (type == \"export\") return cont(pushlex(\"stat\"), afterExport, poplex);\n if (type == \"import\") return cont(pushlex(\"stat\"), afterImport, poplex);\n if (type == \"async\") return cont(statement)\n if (value == \"@\") return cont(expression, statement)\n return pass(pushlex(\"stat\"), expression, expect(\";\"), poplex);\n }\n function maybeCatchBinding(type) {\n if (type == \"(\") return cont(funarg, expect(\")\"))\n }\n function expression(type, value) {\n return expressionInner(type, value, false);\n }\n function expressionNoComma(type, value) {\n return expressionInner(type, value, true);\n }\n function parenExpr(type) {\n if (type != \"(\") return pass()\n return cont(pushlex(\")\"), maybeexpression, expect(\")\"), poplex)\n }\n function expressionInner(type, value, noComma) {\n if (cx.state.fatArrowAt == cx.stream.start) {\n var body = noComma ? arrowBodyNoComma : arrowBody;\n if (type == \"(\") return cont(pushcontext, pushlex(\")\"), commasep(funarg, \")\"), poplex, expect(\"=>\"), body, popcontext);\n else if (type == \"variable\") return pass(pushcontext, pattern, expect(\"=>\"), body, popcontext);\n }\n\n var maybeop = noComma ? maybeoperatorNoComma : maybeoperatorComma;\n if (atomicTypes.hasOwnProperty(type)) return cont(maybeop);\n if (type == \"function\") return cont(functiondef, maybeop);\n if (type == \"class\" || (isTS && value == \"interface\")) { cx.marked = \"keyword\"; return cont(pushlex(\"form\"), classExpression, poplex); }\n if (type == \"keyword c\" || type == \"async\") return cont(noComma ? expressionNoComma : expression);\n if (type == \"(\") return cont(pushlex(\")\"), maybeexpression, expect(\")\"), poplex, maybeop);\n if (type == \"operator\" || type == \"spread\") return cont(noComma ? expressionNoComma : expression);\n if (type == \"[\") return cont(pushlex(\"]\"), arrayLiteral, poplex, maybeop);\n if (type == \"{\") return contCommasep(objprop, \"}\", null, maybeop);\n if (type == \"quasi\") return pass(quasi, maybeop);\n if (type == \"new\") return cont(maybeTarget(noComma));\n return cont();\n }\n function maybeexpression(type) {\n if (type.match(/[;\\}\\)\\],]/)) return pass();\n return pass(expression);\n }\n\n function maybeoperatorComma(type, value) {\n if (type == \",\") return cont(maybeexpression);\n return maybeoperatorNoComma(type, value, false);\n }\n function maybeoperatorNoComma(type, value, noComma) {\n var me = noComma == false ? maybeoperatorComma : maybeoperatorNoComma;\n var expr = noComma == false ? expression : expressionNoComma;\n if (type == \"=>\") return cont(pushcontext, noComma ? arrowBodyNoComma : arrowBody, popcontext);\n if (type == \"operator\") {\n if (/\\+\\+|--/.test(value) || isTS && value == \"!\") return cont(me);\n if (isTS && value == \"<\" && cx.stream.match(/^([^<>]|<[^<>]*>)*>\\s*\\(/, false))\n return cont(pushlex(\">\"), commasep(typeexpr, \">\"), poplex, me);\n if (value == \"?\") return cont(expression, expect(\":\"), expr);\n return cont(expr);\n }\n if (type == \"quasi\") { return pass(quasi, me); }\n if (type == \";\") return;\n if (type == \"(\") return contCommasep(expressionNoComma, \")\", \"call\", me);\n if (type == \".\") return cont(property, me);\n if (type == \"[\") return cont(pushlex(\"]\"), maybeexpression, expect(\"]\"), poplex, me);\n if (isTS && value == \"as\") { cx.marked = \"keyword\"; return cont(typeexpr, me) }\n if (type == \"regexp\") {\n cx.state.lastType = cx.marked = \"operator\"\n cx.stream.backUp(cx.stream.pos - cx.stream.start - 1)\n return cont(expr)\n }\n }\n function quasi(type, value) {\n if (type != \"quasi\") return pass();\n if (value.slice(value.length - 2) != \"${\") return cont(quasi);\n return cont(maybeexpression, continueQuasi);\n }\n function continueQuasi(type) {\n if (type == \"}\") {\n cx.marked = \"string-2\";\n cx.state.tokenize = tokenQuasi;\n return cont(quasi);\n }\n }\n function arrowBody(type) {\n findFatArrow(cx.stream, cx.state);\n return pass(type == \"{\" ? statement : expression);\n }\n function arrowBodyNoComma(type) {\n findFatArrow(cx.stream, cx.state);\n return pass(type == \"{\" ? statement : expressionNoComma);\n }\n function maybeTarget(noComma) {\n return function(type) {\n if (type == \".\") return cont(noComma ? targetNoComma : target);\n else if (type == \"variable\" && isTS) return cont(maybeTypeArgs, noComma ? maybeoperatorNoComma : maybeoperatorComma)\n else return pass(noComma ? expressionNoComma : expression);\n };\n }\n function target(_, value) {\n if (value == \"target\") { cx.marked = \"keyword\"; return cont(maybeoperatorComma); }\n }\n function targetNoComma(_, value) {\n if (value == \"target\") { cx.marked = \"keyword\"; return cont(maybeoperatorNoComma); }\n }\n function maybelabel(type) {\n if (type == \":\") return cont(poplex, statement);\n return pass(maybeoperatorComma, expect(\";\"), poplex);\n }\n function property(type) {\n if (type == \"variable\") {cx.marked = \"property\"; return cont();}\n }\n function objprop(type, value) {\n if (type == \"async\") {\n cx.marked = \"property\";\n return cont(objprop);\n } else if (type == \"variable\" || cx.style == \"keyword\") {\n cx.marked = \"property\";\n if (value == \"get\" || value == \"set\") return cont(getterSetter);\n var m // Work around fat-arrow-detection complication for detecting typescript typed arrow params\n if (isTS && cx.state.fatArrowAt == cx.stream.start && (m = cx.stream.match(/^\\s*:\\s*/, false)))\n cx.state.fatArrowAt = cx.stream.pos + m[0].length\n return cont(afterprop);\n } else if (type == \"number\" || type == \"string\") {\n cx.marked = jsonldMode ? \"property\" : (cx.style + \" property\");\n return cont(afterprop);\n } else if (type == \"jsonld-keyword\") {\n return cont(afterprop);\n } else if (isTS && isModifier(value)) {\n cx.marked = \"keyword\"\n return cont(objprop)\n } else if (type == \"[\") {\n return cont(expression, maybetype, expect(\"]\"), afterprop);\n } else if (type == \"spread\") {\n return cont(expressionNoComma, afterprop);\n } else if (value == \"*\") {\n cx.marked = \"keyword\";\n return cont(objprop);\n } else if (type == \":\") {\n return pass(afterprop)\n }\n }\n function getterSetter(type) {\n if (type != \"variable\") return pass(afterprop);\n cx.marked = \"property\";\n return cont(functiondef);\n }\n function afterprop(type) {\n if (type == \":\") return cont(expressionNoComma);\n if (type == \"(\") return pass(functiondef);\n }\n function commasep(what, end, sep) {\n function proceed(type, value) {\n if (sep ? sep.indexOf(type) > -1 : type == \",\") {\n var lex = cx.state.lexical;\n if (lex.info == \"call\") lex.pos = (lex.pos || 0) + 1;\n return cont(function(type, value) {\n if (type == end || value == end) return pass()\n return pass(what)\n }, proceed);\n }\n if (type == end || value == end) return cont();\n if (sep && sep.indexOf(\";\") > -1) return pass(what)\n return cont(expect(end));\n }\n return function(type, value) {\n if (type == end || value == end) return cont();\n return pass(what, proceed);\n };\n }\n function contCommasep(what, end, info) {\n for (var i = 3; i < arguments.length; i++)\n cx.cc.push(arguments[i]);\n return cont(pushlex(end, info), commasep(what, end), poplex);\n }\n function block(type) {\n if (type == \"}\") return cont();\n return pass(statement, block);\n }\n function maybetype(type, value) {\n if (isTS) {\n if (type == \":\") return cont(typeexpr);\n if (value == \"?\") return cont(maybetype);\n }\n }\n function maybetypeOrIn(type, value) {\n if (isTS && (type == \":\" || value == \"in\")) return cont(typeexpr)\n }\n function mayberettype(type) {\n if (isTS && type == \":\") {\n if (cx.stream.match(/^\\s*\\w+\\s+is\\b/, false)) return cont(expression, isKW, typeexpr)\n else return cont(typeexpr)\n }\n }\n function isKW(_, value) {\n if (value == \"is\") {\n cx.marked = \"keyword\"\n return cont()\n }\n }\n function typeexpr(type, value) {\n if (value == \"keyof\" || value == \"typeof\" || value == \"infer\" || value == \"readonly\") {\n cx.marked = \"keyword\"\n return cont(value == \"typeof\" ? expressionNoComma : typeexpr)\n }\n if (type == \"variable\" || value == \"void\") {\n cx.marked = \"type\"\n return cont(afterType)\n }\n if (value == \"|\" || value == \"&\") return cont(typeexpr)\n if (type == \"string\" || type == \"number\" || type == \"atom\") return cont(afterType);\n if (type == \"[\") return cont(pushlex(\"]\"), commasep(typeexpr, \"]\", \",\"), poplex, afterType)\n if (type == \"{\") return cont(pushlex(\"}\"), typeprops, poplex, afterType)\n if (type == \"(\") return cont(commasep(typearg, \")\"), maybeReturnType, afterType)\n if (type == \"<\") return cont(commasep(typeexpr, \">\"), typeexpr)\n if (type == \"quasi\") { return pass(quasiType, afterType); }\n }\n function maybeReturnType(type) {\n if (type == \"=>\") return cont(typeexpr)\n }\n function typeprops(type) {\n if (type.match(/[\\}\\)\\]]/)) return cont()\n if (type == \",\" || type == \";\") return cont(typeprops)\n return pass(typeprop, typeprops)\n }\n function typeprop(type, value) {\n if (type == \"variable\" || cx.style == \"keyword\") {\n cx.marked = \"property\"\n return cont(typeprop)\n } else if (value == \"?\" || type == \"number\" || type == \"string\") {\n return cont(typeprop)\n } else if (type == \":\") {\n return cont(typeexpr)\n } else if (type == \"[\") {\n return cont(expect(\"variable\"), maybetypeOrIn, expect(\"]\"), typeprop)\n } else if (type == \"(\") {\n return pass(functiondecl, typeprop)\n } else if (!type.match(/[;\\}\\)\\],]/)) {\n return cont()\n }\n }\n function quasiType(type, value) {\n if (type != \"quasi\") return pass();\n if (value.slice(value.length - 2) != \"${\") return cont(quasiType);\n return cont(typeexpr, continueQuasiType);\n }\n function continueQuasiType(type) {\n if (type == \"}\") {\n cx.marked = \"string-2\";\n cx.state.tokenize = tokenQuasi;\n return cont(quasiType);\n }\n }\n function typearg(type, value) {\n if (type == \"variable\" && cx.stream.match(/^\\s*[?:]/, false) || value == \"?\") return cont(typearg)\n if (type == \":\") return cont(typeexpr)\n if (type == \"spread\") return cont(typearg)\n return pass(typeexpr)\n }\n function afterType(type, value) {\n if (value == \"<\") return cont(pushlex(\">\"), commasep(typeexpr, \">\"), poplex, afterType)\n if (value == \"|\" || type == \".\" || value == \"&\") return cont(typeexpr)\n if (type == \"[\") return cont(typeexpr, expect(\"]\"), afterType)\n if (value == \"extends\" || value == \"implements\") { cx.marked = \"keyword\"; return cont(typeexpr) }\n if (value == \"?\") return cont(typeexpr, expect(\":\"), typeexpr)\n }\n function maybeTypeArgs(_, value) {\n if (value == \"<\") return cont(pushlex(\">\"), commasep(typeexpr, \">\"), poplex, afterType)\n }\n function typeparam() {\n return pass(typeexpr, maybeTypeDefault)\n }\n function maybeTypeDefault(_, value) {\n if (value == \"=\") return cont(typeexpr)\n }\n function vardef(_, value) {\n if (value == \"enum\") {cx.marked = \"keyword\"; return cont(enumdef)}\n return pass(pattern, maybetype, maybeAssign, vardefCont);\n }\n function pattern(type, value) {\n if (isTS && isModifier(value)) { cx.marked = \"keyword\"; return cont(pattern) }\n if (type == \"variable\") { register(value); return cont(); }\n if (type == \"spread\") return cont(pattern);\n if (type == \"[\") return contCommasep(eltpattern, \"]\");\n if (type == \"{\") return contCommasep(proppattern, \"}\");\n }\n function proppattern(type, value) {\n if (type == \"variable\" && !cx.stream.match(/^\\s*:/, false)) {\n register(value);\n return cont(maybeAssign);\n }\n if (type == \"variable\") cx.marked = \"property\";\n if (type == \"spread\") return cont(pattern);\n if (type == \"}\") return pass();\n if (type == \"[\") return cont(expression, expect(']'), expect(':'), proppattern);\n return cont(expect(\":\"), pattern, maybeAssign);\n }\n function eltpattern() {\n return pass(pattern, maybeAssign)\n }\n function maybeAssign(_type, value) {\n if (value == \"=\") return cont(expressionNoComma);\n }\n function vardefCont(type) {\n if (type == \",\") return cont(vardef);\n }\n function maybeelse(type, value) {\n if (type == \"keyword b\" && value == \"else\") return cont(pushlex(\"form\", \"else\"), statement, poplex);\n }\n function forspec(type, value) {\n if (value == \"await\") return cont(forspec);\n if (type == \"(\") return cont(pushlex(\")\"), forspec1, poplex);\n }\n function forspec1(type) {\n if (type == \"var\") return cont(vardef, forspec2);\n if (type == \"variable\") return cont(forspec2);\n return pass(forspec2)\n }\n function forspec2(type, value) {\n if (type == \")\") return cont()\n if (type == \";\") return cont(forspec2)\n if (value == \"in\" || value == \"of\") { cx.marked = \"keyword\"; return cont(expression, forspec2) }\n return pass(expression, forspec2)\n }\n function functiondef(type, value) {\n if (value == \"*\") {cx.marked = \"keyword\"; return cont(functiondef);}\n if (type == \"variable\") {register(value); return cont(functiondef);}\n if (type == \"(\") return cont(pushcontext, pushlex(\")\"), commasep(funarg, \")\"), poplex, mayberettype, statement, popcontext);\n if (isTS && value == \"<\") return cont(pushlex(\">\"), commasep(typeparam, \">\"), poplex, functiondef)\n }\n function functiondecl(type, value) {\n if (value == \"*\") {cx.marked = \"keyword\"; return cont(functiondecl);}\n if (type == \"variable\") {register(value); return cont(functiondecl);}\n if (type == \"(\") return cont(pushcontext, pushlex(\")\"), commasep(funarg, \")\"), poplex, mayberettype, popcontext);\n if (isTS && value == \"<\") return cont(pushlex(\">\"), commasep(typeparam, \">\"), poplex, functiondecl)\n }\n function typename(type, value) {\n if (type == \"keyword\" || type == \"variable\") {\n cx.marked = \"type\"\n return cont(typename)\n } else if (value == \"<\") {\n return cont(pushlex(\">\"), commasep(typeparam, \">\"), poplex)\n }\n }\n function funarg(type, value) {\n if (value == \"@\") cont(expression, funarg)\n if (type == \"spread\") return cont(funarg);\n if (isTS && isModifier(value)) { cx.marked = \"keyword\"; return cont(funarg); }\n if (isTS && type == \"this\") return cont(maybetype, maybeAssign)\n return pass(pattern, maybetype, maybeAssign);\n }\n function classExpression(type, value) {\n // Class expressions may have an optional name.\n if (type == \"variable\") return className(type, value);\n return classNameAfter(type, value);\n }\n function className(type, value) {\n if (type == \"variable\") {register(value); return cont(classNameAfter);}\n }\n function classNameAfter(type, value) {\n if (value == \"<\") return cont(pushlex(\">\"), commasep(typeparam, \">\"), poplex, classNameAfter)\n if (value == \"extends\" || value == \"implements\" || (isTS && type == \",\")) {\n if (value == \"implements\") cx.marked = \"keyword\";\n return cont(isTS ? typeexpr : expression, classNameAfter);\n }\n if (type == \"{\") return cont(pushlex(\"}\"), classBody, poplex);\n }\n function classBody(type, value) {\n if (type == \"async\" ||\n (type == \"variable\" &&\n (value == \"static\" || value == \"get\" || value == \"set\" || (isTS && isModifier(value))) &&\n cx.stream.match(/^\\s+[\\w$\\xa1-\\uffff]/, false))) {\n cx.marked = \"keyword\";\n return cont(classBody);\n }\n if (type == \"variable\" || cx.style == \"keyword\") {\n cx.marked = \"property\";\n return cont(classfield, classBody);\n }\n if (type == \"number\" || type == \"string\") return cont(classfield, classBody);\n if (type == \"[\")\n return cont(expression, maybetype, expect(\"]\"), classfield, classBody)\n if (value == \"*\") {\n cx.marked = \"keyword\";\n return cont(classBody);\n }\n if (isTS && type == \"(\") return pass(functiondecl, classBody)\n if (type == \";\" || type == \",\") return cont(classBody);\n if (type == \"}\") return cont();\n if (value == \"@\") return cont(expression, classBody)\n }\n function classfield(type, value) {\n if (value == \"!\") return cont(classfield)\n if (value == \"?\") return cont(classfield)\n if (type == \":\") return cont(typeexpr, maybeAssign)\n if (value == \"=\") return cont(expressionNoComma)\n var context = cx.state.lexical.prev, isInterface = context && context.info == \"interface\"\n return pass(isInterface ? functiondecl : functiondef)\n }\n function afterExport(type, value) {\n if (value == \"*\") { cx.marked = \"keyword\"; return cont(maybeFrom, expect(\";\")); }\n if (value == \"default\") { cx.marked = \"keyword\"; return cont(expression, expect(\";\")); }\n if (type == \"{\") return cont(commasep(exportField, \"}\"), maybeFrom, expect(\";\"));\n return pass(statement);\n }\n function exportField(type, value) {\n if (value == \"as\") { cx.marked = \"keyword\"; return cont(expect(\"variable\")); }\n if (type == \"variable\") return pass(expressionNoComma, exportField);\n }\n function afterImport(type) {\n if (type == \"string\") return cont();\n if (type == \"(\") return pass(expression);\n if (type == \".\") return pass(maybeoperatorComma);\n return pass(importSpec, maybeMoreImports, maybeFrom);\n }\n function importSpec(type, value) {\n if (type == \"{\") return contCommasep(importSpec, \"}\");\n if (type == \"variable\") register(value);\n if (value == \"*\") cx.marked = \"keyword\";\n return cont(maybeAs);\n }\n function maybeMoreImports(type) {\n if (type == \",\") return cont(importSpec, maybeMoreImports)\n }\n function maybeAs(_type, value) {\n if (value == \"as\") { cx.marked = \"keyword\"; return cont(importSpec); }\n }\n function maybeFrom(_type, value) {\n if (value == \"from\") { cx.marked = \"keyword\"; return cont(expression); }\n }\n function arrayLiteral(type) {\n if (type == \"]\") return cont();\n return pass(commasep(expressionNoComma, \"]\"));\n }\n function enumdef() {\n return pass(pushlex(\"form\"), pattern, expect(\"{\"), pushlex(\"}\"), commasep(enummember, \"}\"), poplex, poplex)\n }\n function enummember() {\n return pass(pattern, maybeAssign);\n }\n\n function isContinuedStatement(state, textAfter) {\n return state.lastType == \"operator\" || state.lastType == \",\" ||\n isOperatorChar.test(textAfter.charAt(0)) ||\n /[,.]/.test(textAfter.charAt(0));\n }\n\n function expressionAllowed(stream, state, backUp) {\n return state.tokenize == tokenBase &&\n /^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\\[{}\\(,;:]|=>)$/.test(state.lastType) ||\n (state.lastType == \"quasi\" && /\\{\\s*$/.test(stream.string.slice(0, stream.pos - (backUp || 0))))\n }\n\n // Interface\n\n return {\n startState: function(basecolumn) {\n var state = {\n tokenize: tokenBase,\n lastType: \"sof\",\n cc: [],\n lexical: new JSLexical((basecolumn || 0) - indentUnit, 0, \"block\", false),\n localVars: parserConfig.localVars,\n context: parserConfig.localVars && new Context(null, null, false),\n indented: basecolumn || 0\n };\n if (parserConfig.globalVars && typeof parserConfig.globalVars == \"object\")\n state.globalVars = parserConfig.globalVars;\n return state;\n },\n\n token: function(stream, state) {\n if (stream.sol()) {\n if (!state.lexical.hasOwnProperty(\"align\"))\n state.lexical.align = false;\n state.indented = stream.indentation();\n findFatArrow(stream, state);\n }\n if (state.tokenize != tokenComment && stream.eatSpace()) return null;\n var style = state.tokenize(stream, state);\n if (type == \"comment\") return style;\n state.lastType = type == \"operator\" && (content == \"++\" || content == \"--\") ? \"incdec\" : type;\n return parseJS(state, style, type, content, stream);\n },\n\n indent: function(state, textAfter) {\n if (state.tokenize == tokenComment || state.tokenize == tokenQuasi) return CodeMirror.Pass;\n if (state.tokenize != tokenBase) return 0;\n var firstChar = textAfter && textAfter.charAt(0), lexical = state.lexical, top\n // Kludge to prevent 'maybelse' from blocking lexical scope pops\n if (!/^\\s*else\\b/.test(textAfter)) for (var i = state.cc.length - 1; i >= 0; --i) {\n var c = state.cc[i];\n if (c == poplex) lexical = lexical.prev;\n else if (c != maybeelse && c != popcontext) break;\n }\n while ((lexical.type == \"stat\" || lexical.type == \"form\") &&\n (firstChar == \"}\" || ((top = state.cc[state.cc.length - 1]) &&\n (top == maybeoperatorComma || top == maybeoperatorNoComma) &&\n !/^[,\\.=+\\-*:?[\\(]/.test(textAfter))))\n lexical = lexical.prev;\n if (statementIndent && lexical.type == \")\" && lexical.prev.type == \"stat\")\n lexical = lexical.prev;\n var type = lexical.type, closing = firstChar == type;\n\n if (type == \"vardef\") return lexical.indented + (state.lastType == \"operator\" || state.lastType == \",\" ? lexical.info.length + 1 : 0);\n else if (type == \"form\" && firstChar == \"{\") return lexical.indented;\n else if (type == \"form\") return lexical.indented + indentUnit;\n else if (type == \"stat\")\n return lexical.indented + (isContinuedStatement(state, textAfter) ? statementIndent || indentUnit : 0);\n else if (lexical.info == \"switch\" && !closing && parserConfig.doubleIndentSwitch != false)\n return lexical.indented + (/^(?:case|default)\\b/.test(textAfter) ? indentUnit : 2 * indentUnit);\n else if (lexical.align) return lexical.column + (closing ? 0 : 1);\n else return lexical.indented + (closing ? 0 : indentUnit);\n },\n\n electricInput: /^\\s*(?:case .*?:|default:|\\{|\\})$/,\n blockCommentStart: jsonMode ? null : \"/*\",\n blockCommentEnd: jsonMode ? null : \"*/\",\n blockCommentContinue: jsonMode ? null : \" * \",\n lineComment: jsonMode ? null : \"//\",\n fold: \"brace\",\n closeBrackets: \"()[]{}''\\\"\\\"``\",\n\n helperType: jsonMode ? \"json\" : \"javascript\",\n jsonldMode: jsonldMode,\n jsonMode: jsonMode,\n\n expressionAllowed: expressionAllowed,\n\n skipExpression: function(state) {\n parseJS(state, \"atom\", \"atom\", \"true\", new CodeMirror.StringStream(\"\", 2, null))\n }\n };\n});\n\nCodeMirror.registerHelper(\"wordChars\", \"javascript\", /[\\w$]/);\n\nCodeMirror.defineMIME(\"text/javascript\", \"javascript\");\nCodeMirror.defineMIME(\"text/ecmascript\", \"javascript\");\nCodeMirror.defineMIME(\"application/javascript\", \"javascript\");\nCodeMirror.defineMIME(\"application/x-javascript\", \"javascript\");\nCodeMirror.defineMIME(\"application/ecmascript\", \"javascript\");\nCodeMirror.defineMIME(\"application/json\", { name: \"javascript\", json: true });\nCodeMirror.defineMIME(\"application/x-json\", { name: \"javascript\", json: true });\nCodeMirror.defineMIME(\"application/manifest+json\", { name: \"javascript\", json: true })\nCodeMirror.defineMIME(\"application/ld+json\", { name: \"javascript\", jsonld: true });\nCodeMirror.defineMIME(\"text/typescript\", { name: \"javascript\", typescript: true });\nCodeMirror.defineMIME(\"application/typescript\", { name: \"javascript\", typescript: true });\n\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n\"use strict\";\n\nvar htmlConfig = {\n autoSelfClosers: {'area': true, 'base': true, 'br': true, 'col': true, 'command': true,\n 'embed': true, 'frame': true, 'hr': true, 'img': true, 'input': true,\n 'keygen': true, 'link': true, 'meta': true, 'param': true, 'source': true,\n 'track': true, 'wbr': true, 'menuitem': true},\n implicitlyClosed: {'dd': true, 'li': true, 'optgroup': true, 'option': true, 'p': true,\n 'rp': true, 'rt': true, 'tbody': true, 'td': true, 'tfoot': true,\n 'th': true, 'tr': true},\n contextGrabbers: {\n 'dd': {'dd': true, 'dt': true},\n 'dt': {'dd': true, 'dt': true},\n 'li': {'li': true},\n 'option': {'option': true, 'optgroup': true},\n 'optgroup': {'optgroup': true},\n 'p': {'address': true, 'article': true, 'aside': true, 'blockquote': true, 'dir': true,\n 'div': true, 'dl': true, 'fieldset': true, 'footer': true, 'form': true,\n 'h1': true, 'h2': true, 'h3': true, 'h4': true, 'h5': true, 'h6': true,\n 'header': true, 'hgroup': true, 'hr': true, 'menu': true, 'nav': true, 'ol': true,\n 'p': true, 'pre': true, 'section': true, 'table': true, 'ul': true},\n 'rp': {'rp': true, 'rt': true},\n 'rt': {'rp': true, 'rt': true},\n 'tbody': {'tbody': true, 'tfoot': true},\n 'td': {'td': true, 'th': true},\n 'tfoot': {'tbody': true},\n 'th': {'td': true, 'th': true},\n 'thead': {'tbody': true, 'tfoot': true},\n 'tr': {'tr': true}\n },\n doNotIndent: {\"pre\": true},\n allowUnquoted: true,\n allowMissing: true,\n caseFold: true\n}\n\nvar xmlConfig = {\n autoSelfClosers: {},\n implicitlyClosed: {},\n contextGrabbers: {},\n doNotIndent: {},\n allowUnquoted: false,\n allowMissing: false,\n allowMissingTagName: false,\n caseFold: false\n}\n\nCodeMirror.defineMode(\"xml\", function(editorConf, config_) {\n var indentUnit = editorConf.indentUnit\n var config = {}\n var defaults = config_.htmlMode ? htmlConfig : xmlConfig\n for (var prop in defaults) config[prop] = defaults[prop]\n for (var prop in config_) config[prop] = config_[prop]\n\n // Return variables for tokenizers\n var type, setStyle;\n\n function inText(stream, state) {\n function chain(parser) {\n state.tokenize = parser;\n return parser(stream, state);\n }\n\n var ch = stream.next();\n if (ch == \"<\") {\n if (stream.eat(\"!\")) {\n if (stream.eat(\"[\")) {\n if (stream.match(\"CDATA[\")) return chain(inBlock(\"atom\", \"]]>\"));\n else return null;\n } else if (stream.match(\"--\")) {\n return chain(inBlock(\"comment\", \"-->\"));\n } else if (stream.match(\"DOCTYPE\", true, true)) {\n stream.eatWhile(/[\\w\\._\\-]/);\n return chain(doctype(1));\n } else {\n return null;\n }\n } else if (stream.eat(\"?\")) {\n stream.eatWhile(/[\\w\\._\\-]/);\n state.tokenize = inBlock(\"meta\", \"?>\");\n return \"meta\";\n } else {\n type = stream.eat(\"/\") ? \"closeTag\" : \"openTag\";\n state.tokenize = inTag;\n return \"tag bracket\";\n }\n } else if (ch == \"&\") {\n var ok;\n if (stream.eat(\"#\")) {\n if (stream.eat(\"x\")) {\n ok = stream.eatWhile(/[a-fA-F\\d]/) && stream.eat(\";\");\n } else {\n ok = stream.eatWhile(/[\\d]/) && stream.eat(\";\");\n }\n } else {\n ok = stream.eatWhile(/[\\w\\.\\-:]/) && stream.eat(\";\");\n }\n return ok ? \"atom\" : \"error\";\n } else {\n stream.eatWhile(/[^&<]/);\n return null;\n }\n }\n inText.isInText = true;\n\n function inTag(stream, state) {\n var ch = stream.next();\n if (ch == \">\" || (ch == \"/\" && stream.eat(\">\"))) {\n state.tokenize = inText;\n type = ch == \">\" ? \"endTag\" : \"selfcloseTag\";\n return \"tag bracket\";\n } else if (ch == \"=\") {\n type = \"equals\";\n return null;\n } else if (ch == \"<\") {\n state.tokenize = inText;\n state.state = baseState;\n state.tagName = state.tagStart = null;\n var next = state.tokenize(stream, state);\n return next ? next + \" tag error\" : \"tag error\";\n } else if (/[\\'\\\"]/.test(ch)) {\n state.tokenize = inAttribute(ch);\n state.stringStartCol = stream.column();\n return state.tokenize(stream, state);\n } else {\n stream.match(/^[^\\s\\u00a0=<>\\\"\\']*[^\\s\\u00a0=<>\\\"\\'\\/]/);\n return \"word\";\n }\n }\n\n function inAttribute(quote) {\n var closure = function(stream, state) {\n while (!stream.eol()) {\n if (stream.next() == quote) {\n state.tokenize = inTag;\n break;\n }\n }\n return \"string\";\n };\n closure.isInAttribute = true;\n return closure;\n }\n\n function inBlock(style, terminator) {\n return function(stream, state) {\n while (!stream.eol()) {\n if (stream.match(terminator)) {\n state.tokenize = inText;\n break;\n }\n stream.next();\n }\n return style;\n }\n }\n\n function doctype(depth) {\n return function(stream, state) {\n var ch;\n while ((ch = stream.next()) != null) {\n if (ch == \"<\") {\n state.tokenize = doctype(depth + 1);\n return state.tokenize(stream, state);\n } else if (ch == \">\") {\n if (depth == 1) {\n state.tokenize = inText;\n break;\n } else {\n state.tokenize = doctype(depth - 1);\n return state.tokenize(stream, state);\n }\n }\n }\n return \"meta\";\n };\n }\n\n function Context(state, tagName, startOfLine) {\n this.prev = state.context;\n this.tagName = tagName || \"\";\n this.indent = state.indented;\n this.startOfLine = startOfLine;\n if (config.doNotIndent.hasOwnProperty(tagName) || (state.context && state.context.noIndent))\n this.noIndent = true;\n }\n function popContext(state) {\n if (state.context) state.context = state.context.prev;\n }\n function maybePopContext(state, nextTagName) {\n var parentTagName;\n while (true) {\n if (!state.context) {\n return;\n }\n parentTagName = state.context.tagName;\n if (!config.contextGrabbers.hasOwnProperty(parentTagName) ||\n !config.contextGrabbers[parentTagName].hasOwnProperty(nextTagName)) {\n return;\n }\n popContext(state);\n }\n }\n\n function baseState(type, stream, state) {\n if (type == \"openTag\") {\n state.tagStart = stream.column();\n return tagNameState;\n } else if (type == \"closeTag\") {\n return closeTagNameState;\n } else {\n return baseState;\n }\n }\n function tagNameState(type, stream, state) {\n if (type == \"word\") {\n state.tagName = stream.current();\n setStyle = \"tag\";\n return attrState;\n } else if (config.allowMissingTagName && type == \"endTag\") {\n setStyle = \"tag bracket\";\n return attrState(type, stream, state);\n } else {\n setStyle = \"error\";\n return tagNameState;\n }\n }\n function closeTagNameState(type, stream, state) {\n if (type == \"word\") {\n var tagName = stream.current();\n if (state.context && state.context.tagName != tagName &&\n config.implicitlyClosed.hasOwnProperty(state.context.tagName))\n popContext(state);\n if ((state.context && state.context.tagName == tagName) || config.matchClosing === false) {\n setStyle = \"tag\";\n return closeState;\n } else {\n setStyle = \"tag error\";\n return closeStateErr;\n }\n } else if (config.allowMissingTagName && type == \"endTag\") {\n setStyle = \"tag bracket\";\n return closeState(type, stream, state);\n } else {\n setStyle = \"error\";\n return closeStateErr;\n }\n }\n\n function closeState(type, _stream, state) {\n if (type != \"endTag\") {\n setStyle = \"error\";\n return closeState;\n }\n popContext(state);\n return baseState;\n }\n function closeStateErr(type, stream, state) {\n setStyle = \"error\";\n return closeState(type, stream, state);\n }\n\n function attrState(type, _stream, state) {\n if (type == \"word\") {\n setStyle = \"attribute\";\n return attrEqState;\n } else if (type == \"endTag\" || type == \"selfcloseTag\") {\n var tagName = state.tagName, tagStart = state.tagStart;\n state.tagName = state.tagStart = null;\n if (type == \"selfcloseTag\" ||\n config.autoSelfClosers.hasOwnProperty(tagName)) {\n maybePopContext(state, tagName);\n } else {\n maybePopContext(state, tagName);\n state.context = new Context(state, tagName, tagStart == state.indented);\n }\n return baseState;\n }\n setStyle = \"error\";\n return attrState;\n }\n function attrEqState(type, stream, state) {\n if (type == \"equals\") return attrValueState;\n if (!config.allowMissing) setStyle = \"error\";\n return attrState(type, stream, state);\n }\n function attrValueState(type, stream, state) {\n if (type == \"string\") return attrContinuedState;\n if (type == \"word\" && config.allowUnquoted) {setStyle = \"string\"; return attrState;}\n setStyle = \"error\";\n return attrState(type, stream, state);\n }\n function attrContinuedState(type, stream, state) {\n if (type == \"string\") return attrContinuedState;\n return attrState(type, stream, state);\n }\n\n return {\n startState: function(baseIndent) {\n var state = {tokenize: inText,\n state: baseState,\n indented: baseIndent || 0,\n tagName: null, tagStart: null,\n context: null}\n if (baseIndent != null) state.baseIndent = baseIndent\n return state\n },\n\n token: function(stream, state) {\n if (!state.tagName && stream.sol())\n state.indented = stream.indentation();\n\n if (stream.eatSpace()) return null;\n type = null;\n var style = state.tokenize(stream, state);\n if ((style || type) && style != \"comment\") {\n setStyle = null;\n state.state = state.state(type || style, stream, state);\n if (setStyle)\n style = setStyle == \"error\" ? style + \" error\" : setStyle;\n }\n return style;\n },\n\n indent: function(state, textAfter, fullLine) {\n var context = state.context;\n // Indent multi-line strings (e.g. css).\n if (state.tokenize.isInAttribute) {\n if (state.tagStart == state.indented)\n return state.stringStartCol + 1;\n else\n return state.indented + indentUnit;\n }\n if (context && context.noIndent) return CodeMirror.Pass;\n if (state.tokenize != inTag && state.tokenize != inText)\n return fullLine ? fullLine.match(/^(\\s*)/)[0].length : 0;\n // Indent the starts of attribute names.\n if (state.tagName) {\n if (config.multilineTagIndentPastTag !== false)\n return state.tagStart + state.tagName.length + 2;\n else\n return state.tagStart + indentUnit * (config.multilineTagIndentFactor || 1);\n }\n if (config.alignCDATA && /$/,\n blockCommentStart: \"\",\n\n configuration: config.htmlMode ? \"html\" : \"xml\",\n helperType: config.htmlMode ? \"html\" : \"xml\",\n\n skipAttribute: function(state) {\n if (state.state == attrValueState)\n state.state = attrState\n },\n\n xmlCurrentTag: function(state) {\n return state.tagName ? {name: state.tagName, close: state.type == \"closeTag\"} : null\n },\n\n xmlCurrentContext: function(state) {\n var context = []\n for (var cx = state.context; cx; cx = cx.prev)\n context.push(cx.tagName)\n return context.reverse()\n }\n };\n});\n\nCodeMirror.defineMIME(\"text/xml\", \"xml\");\nCodeMirror.defineMIME(\"application/xml\", \"xml\");\nif (!CodeMirror.mimeModes.hasOwnProperty(\"text/html\"))\n CodeMirror.defineMIME(\"text/html\", {name: \"xml\", htmlMode: true});\n\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"), require(\"../xml/xml\"), require(\"../javascript/javascript\"), require(\"../css/css\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\", \"../xml/xml\", \"../javascript/javascript\", \"../css/css\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n \"use strict\";\n\n var defaultTags = {\n script: [\n [\"lang\", /(javascript|babel)/i, \"javascript\"],\n [\"type\", /^(?:text|application)\\/(?:x-)?(?:java|ecma)script$|^module$|^$/i, \"javascript\"],\n [\"type\", /./, \"text/plain\"],\n [null, null, \"javascript\"]\n ],\n style: [\n [\"lang\", /^css$/i, \"css\"],\n [\"type\", /^(text\\/)?(x-)?(stylesheet|css)$/i, \"css\"],\n [\"type\", /./, \"text/plain\"],\n [null, null, \"css\"]\n ]\n };\n\n function maybeBackup(stream, pat, style) {\n var cur = stream.current(), close = cur.search(pat);\n if (close > -1) {\n stream.backUp(cur.length - close);\n } else if (cur.match(/<\\/?$/)) {\n stream.backUp(cur.length);\n if (!stream.match(pat, false)) stream.match(cur);\n }\n return style;\n }\n\n var attrRegexpCache = {};\n function getAttrRegexp(attr) {\n var regexp = attrRegexpCache[attr];\n if (regexp) return regexp;\n return attrRegexpCache[attr] = new RegExp(\"\\\\s+\" + attr + \"\\\\s*=\\\\s*('|\\\")?([^'\\\"]+)('|\\\")?\\\\s*\");\n }\n\n function getAttrValue(text, attr) {\n var match = text.match(getAttrRegexp(attr))\n return match ? /^\\s*(.*?)\\s*$/.exec(match[2])[1] : \"\"\n }\n\n function getTagRegexp(tagName, anchored) {\n return new RegExp((anchored ? \"^\" : \"\") + \"<\\/\\s*\" + tagName + \"\\s*>\", \"i\");\n }\n\n function addTags(from, to) {\n for (var tag in from) {\n var dest = to[tag] || (to[tag] = []);\n var source = from[tag];\n for (var i = source.length - 1; i >= 0; i--)\n dest.unshift(source[i])\n }\n }\n\n function findMatchingMode(tagInfo, tagText) {\n for (var i = 0; i < tagInfo.length; i++) {\n var spec = tagInfo[i];\n if (!spec[0] || spec[1].test(getAttrValue(tagText, spec[0]))) return spec[2];\n }\n }\n\n CodeMirror.defineMode(\"htmlmixed\", function (config, parserConfig) {\n var htmlMode = CodeMirror.getMode(config, {\n name: \"xml\",\n htmlMode: true,\n multilineTagIndentFactor: parserConfig.multilineTagIndentFactor,\n multilineTagIndentPastTag: parserConfig.multilineTagIndentPastTag,\n allowMissingTagName: parserConfig.allowMissingTagName,\n });\n\n var tags = {};\n var configTags = parserConfig && parserConfig.tags, configScript = parserConfig && parserConfig.scriptTypes;\n addTags(defaultTags, tags);\n if (configTags) addTags(configTags, tags);\n if (configScript) for (var i = configScript.length - 1; i >= 0; i--)\n tags.script.unshift([\"type\", configScript[i].matches, configScript[i].mode])\n\n function html(stream, state) {\n var style = htmlMode.token(stream, state.htmlState), tag = /\\btag\\b/.test(style), tagName\n if (tag && !/[<>\\s\\/]/.test(stream.current()) &&\n (tagName = state.htmlState.tagName && state.htmlState.tagName.toLowerCase()) &&\n tags.hasOwnProperty(tagName)) {\n state.inTag = tagName + \" \"\n } else if (state.inTag && tag && />$/.test(stream.current())) {\n var inTag = /^([\\S]+) (.*)/.exec(state.inTag)\n state.inTag = null\n var modeSpec = stream.current() == \">\" && findMatchingMode(tags[inTag[1]], inTag[2])\n var mode = CodeMirror.getMode(config, modeSpec)\n var endTagA = getTagRegexp(inTag[1], true), endTag = getTagRegexp(inTag[1], false);\n state.token = function (stream, state) {\n if (stream.match(endTagA, false)) {\n state.token = html;\n state.localState = state.localMode = null;\n return null;\n }\n return maybeBackup(stream, endTag, state.localMode.token(stream, state.localState));\n };\n state.localMode = mode;\n state.localState = CodeMirror.startState(mode, htmlMode.indent(state.htmlState, \"\", \"\"));\n } else if (state.inTag) {\n state.inTag += stream.current()\n if (stream.eol()) state.inTag += \" \"\n }\n return style;\n };\n\n return {\n startState: function () {\n var state = CodeMirror.startState(htmlMode);\n return {token: html, inTag: null, localMode: null, localState: null, htmlState: state};\n },\n\n copyState: function (state) {\n var local;\n if (state.localState) {\n local = CodeMirror.copyState(state.localMode, state.localState);\n }\n return {token: state.token, inTag: state.inTag,\n localMode: state.localMode, localState: local,\n htmlState: CodeMirror.copyState(htmlMode, state.htmlState)};\n },\n\n token: function (stream, state) {\n return state.token(stream, state);\n },\n\n indent: function (state, textAfter, line) {\n if (!state.localMode || /^\\s*<\\//.test(textAfter))\n return htmlMode.indent(state.htmlState, textAfter, line);\n else if (state.localMode.indent)\n return state.localMode.indent(state.localState, textAfter, line);\n else\n return CodeMirror.Pass;\n },\n\n innerMode: function (state) {\n return {state: state.localState || state.htmlState, mode: state.localMode || htmlMode};\n }\n };\n }, \"xml\", \"javascript\", \"css\");\n\n CodeMirror.defineMIME(\"text/html\", \"htmlmixed\");\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.defineMode(\"css\", function(config, parserConfig) {\n var inline = parserConfig.inline\n if (!parserConfig.propertyKeywords) parserConfig = CodeMirror.resolveMode(\"text/css\");\n\n var indentUnit = config.indentUnit,\n tokenHooks = parserConfig.tokenHooks,\n documentTypes = parserConfig.documentTypes || {},\n mediaTypes = parserConfig.mediaTypes || {},\n mediaFeatures = parserConfig.mediaFeatures || {},\n mediaValueKeywords = parserConfig.mediaValueKeywords || {},\n propertyKeywords = parserConfig.propertyKeywords || {},\n nonStandardPropertyKeywords = parserConfig.nonStandardPropertyKeywords || {},\n fontProperties = parserConfig.fontProperties || {},\n counterDescriptors = parserConfig.counterDescriptors || {},\n colorKeywords = parserConfig.colorKeywords || {},\n valueKeywords = parserConfig.valueKeywords || {},\n allowNested = parserConfig.allowNested,\n lineComment = parserConfig.lineComment,\n supportsAtComponent = parserConfig.supportsAtComponent === true,\n highlightNonStandardPropertyKeywords = config.highlightNonStandardPropertyKeywords !== false;\n\n var type, override;\n function ret(style, tp) { type = tp; return style; }\n\n // Tokenizers\n\n function tokenBase(stream, state) {\n var ch = stream.next();\n if (tokenHooks[ch]) {\n var result = tokenHooks[ch](stream, state);\n if (result !== false) return result;\n }\n if (ch == \"@\") {\n stream.eatWhile(/[\\w\\\\\\-]/);\n return ret(\"def\", stream.current());\n } else if (ch == \"=\" || (ch == \"~\" || ch == \"|\") && stream.eat(\"=\")) {\n return ret(null, \"compare\");\n } else if (ch == \"\\\"\" || ch == \"'\") {\n state.tokenize = tokenString(ch);\n return state.tokenize(stream, state);\n } else if (ch == \"#\") {\n stream.eatWhile(/[\\w\\\\\\-]/);\n return ret(\"atom\", \"hash\");\n } else if (ch == \"!\") {\n stream.match(/^\\s*\\w*/);\n return ret(\"keyword\", \"important\");\n } else if (/\\d/.test(ch) || ch == \".\" && stream.eat(/\\d/)) {\n stream.eatWhile(/[\\w.%]/);\n return ret(\"number\", \"unit\");\n } else if (ch === \"-\") {\n if (/[\\d.]/.test(stream.peek())) {\n stream.eatWhile(/[\\w.%]/);\n return ret(\"number\", \"unit\");\n } else if (stream.match(/^-[\\w\\\\\\-]*/)) {\n stream.eatWhile(/[\\w\\\\\\-]/);\n if (stream.match(/^\\s*:/, false))\n return ret(\"variable-2\", \"variable-definition\");\n return ret(\"variable-2\", \"variable\");\n } else if (stream.match(/^\\w+-/)) {\n return ret(\"meta\", \"meta\");\n }\n } else if (/[,+>*\\/]/.test(ch)) {\n return ret(null, \"select-op\");\n } else if (ch == \".\" && stream.match(/^-?[_a-z][_a-z0-9-]*/i)) {\n return ret(\"qualifier\", \"qualifier\");\n } else if (/[:;{}\\[\\]\\(\\)]/.test(ch)) {\n return ret(null, ch);\n } else if (stream.match(/^[\\w-.]+(?=\\()/)) {\n if (/^(url(-prefix)?|domain|regexp)$/i.test(stream.current())) {\n state.tokenize = tokenParenthesized;\n }\n return ret(\"variable callee\", \"variable\");\n } else if (/[\\w\\\\\\-]/.test(ch)) {\n stream.eatWhile(/[\\w\\\\\\-]/);\n return ret(\"property\", \"word\");\n } else {\n return ret(null, null);\n }\n }\n\n function tokenString(quote) {\n return function(stream, state) {\n var escaped = false, ch;\n while ((ch = stream.next()) != null) {\n if (ch == quote && !escaped) {\n if (quote == \")\") stream.backUp(1);\n break;\n }\n escaped = !escaped && ch == \"\\\\\";\n }\n if (ch == quote || !escaped && quote != \")\") state.tokenize = null;\n return ret(\"string\", \"string\");\n };\n }\n\n function tokenParenthesized(stream, state) {\n stream.next(); // Must be '('\n if (!stream.match(/^\\s*[\\\"\\')]/, false))\n state.tokenize = tokenString(\")\");\n else\n state.tokenize = null;\n return ret(null, \"(\");\n }\n\n // Context management\n\n function Context(type, indent, prev) {\n this.type = type;\n this.indent = indent;\n this.prev = prev;\n }\n\n function pushContext(state, stream, type, indent) {\n state.context = new Context(type, stream.indentation() + (indent === false ? 0 : indentUnit), state.context);\n return type;\n }\n\n function popContext(state) {\n if (state.context.prev)\n state.context = state.context.prev;\n return state.context.type;\n }\n\n function pass(type, stream, state) {\n return states[state.context.type](type, stream, state);\n }\n function popAndPass(type, stream, state, n) {\n for (var i = n || 1; i > 0; i--)\n state.context = state.context.prev;\n return pass(type, stream, state);\n }\n\n // Parser\n\n function wordAsValue(stream) {\n var word = stream.current().toLowerCase();\n if (valueKeywords.hasOwnProperty(word))\n override = \"atom\";\n else if (colorKeywords.hasOwnProperty(word))\n override = \"keyword\";\n else\n override = \"variable\";\n }\n\n var states = {};\n\n states.top = function(type, stream, state) {\n if (type == \"{\") {\n return pushContext(state, stream, \"block\");\n } else if (type == \"}\" && state.context.prev) {\n return popContext(state);\n } else if (supportsAtComponent && /@component/i.test(type)) {\n return pushContext(state, stream, \"atComponentBlock\");\n } else if (/^@(-moz-)?document$/i.test(type)) {\n return pushContext(state, stream, \"documentTypes\");\n } else if (/^@(media|supports|(-moz-)?document|import)$/i.test(type)) {\n return pushContext(state, stream, \"atBlock\");\n } else if (/^@(font-face|counter-style)/i.test(type)) {\n state.stateArg = type;\n return \"restricted_atBlock_before\";\n } else if (/^@(-(moz|ms|o|webkit)-)?keyframes$/i.test(type)) {\n return \"keyframes\";\n } else if (type && type.charAt(0) == \"@\") {\n return pushContext(state, stream, \"at\");\n } else if (type == \"hash\") {\n override = \"builtin\";\n } else if (type == \"word\") {\n override = \"tag\";\n } else if (type == \"variable-definition\") {\n return \"maybeprop\";\n } else if (type == \"interpolation\") {\n return pushContext(state, stream, \"interpolation\");\n } else if (type == \":\") {\n return \"pseudo\";\n } else if (allowNested && type == \"(\") {\n return pushContext(state, stream, \"parens\");\n }\n return state.context.type;\n };\n\n states.block = function(type, stream, state) {\n if (type == \"word\") {\n var word = stream.current().toLowerCase();\n if (propertyKeywords.hasOwnProperty(word)) {\n override = \"property\";\n return \"maybeprop\";\n } else if (nonStandardPropertyKeywords.hasOwnProperty(word)) {\n override = highlightNonStandardPropertyKeywords ? \"string-2\" : \"property\";\n return \"maybeprop\";\n } else if (allowNested) {\n override = stream.match(/^\\s*:(?:\\s|$)/, false) ? \"property\" : \"tag\";\n return \"block\";\n } else {\n override += \" error\";\n return \"maybeprop\";\n }\n } else if (type == \"meta\") {\n return \"block\";\n } else if (!allowNested && (type == \"hash\" || type == \"qualifier\")) {\n override = \"error\";\n return \"block\";\n } else {\n return states.top(type, stream, state);\n }\n };\n\n states.maybeprop = function(type, stream, state) {\n if (type == \":\") return pushContext(state, stream, \"prop\");\n return pass(type, stream, state);\n };\n\n states.prop = function(type, stream, state) {\n if (type == \";\") return popContext(state);\n if (type == \"{\" && allowNested) return pushContext(state, stream, \"propBlock\");\n if (type == \"}\" || type == \"{\") return popAndPass(type, stream, state);\n if (type == \"(\") return pushContext(state, stream, \"parens\");\n\n if (type == \"hash\" && !/^#([0-9a-fA-f]{3,4}|[0-9a-fA-f]{6}|[0-9a-fA-f]{8})$/.test(stream.current())) {\n override += \" error\";\n } else if (type == \"word\") {\n wordAsValue(stream);\n } else if (type == \"interpolation\") {\n return pushContext(state, stream, \"interpolation\");\n }\n return \"prop\";\n };\n\n states.propBlock = function(type, _stream, state) {\n if (type == \"}\") return popContext(state);\n if (type == \"word\") { override = \"property\"; return \"maybeprop\"; }\n return state.context.type;\n };\n\n states.parens = function(type, stream, state) {\n if (type == \"{\" || type == \"}\") return popAndPass(type, stream, state);\n if (type == \")\") return popContext(state);\n if (type == \"(\") return pushContext(state, stream, \"parens\");\n if (type == \"interpolation\") return pushContext(state, stream, \"interpolation\");\n if (type == \"word\") wordAsValue(stream);\n return \"parens\";\n };\n\n states.pseudo = function(type, stream, state) {\n if (type == \"meta\") return \"pseudo\";\n\n if (type == \"word\") {\n override = \"variable-3\";\n return state.context.type;\n }\n return pass(type, stream, state);\n };\n\n states.documentTypes = function(type, stream, state) {\n if (type == \"word\" && documentTypes.hasOwnProperty(stream.current())) {\n override = \"tag\";\n return state.context.type;\n } else {\n return states.atBlock(type, stream, state);\n }\n };\n\n states.atBlock = function(type, stream, state) {\n if (type == \"(\") return pushContext(state, stream, \"atBlock_parens\");\n if (type == \"}\" || type == \";\") return popAndPass(type, stream, state);\n if (type == \"{\") return popContext(state) && pushContext(state, stream, allowNested ? \"block\" : \"top\");\n\n if (type == \"interpolation\") return pushContext(state, stream, \"interpolation\");\n\n if (type == \"word\") {\n var word = stream.current().toLowerCase();\n if (word == \"only\" || word == \"not\" || word == \"and\" || word == \"or\")\n override = \"keyword\";\n else if (mediaTypes.hasOwnProperty(word))\n override = \"attribute\";\n else if (mediaFeatures.hasOwnProperty(word))\n override = \"property\";\n else if (mediaValueKeywords.hasOwnProperty(word))\n override = \"keyword\";\n else if (propertyKeywords.hasOwnProperty(word))\n override = \"property\";\n else if (nonStandardPropertyKeywords.hasOwnProperty(word))\n override = highlightNonStandardPropertyKeywords ? \"string-2\" : \"property\";\n else if (valueKeywords.hasOwnProperty(word))\n override = \"atom\";\n else if (colorKeywords.hasOwnProperty(word))\n override = \"keyword\";\n else\n override = \"error\";\n }\n return state.context.type;\n };\n\n states.atComponentBlock = function(type, stream, state) {\n if (type == \"}\")\n return popAndPass(type, stream, state);\n if (type == \"{\")\n return popContext(state) && pushContext(state, stream, allowNested ? \"block\" : \"top\", false);\n if (type == \"word\")\n override = \"error\";\n return state.context.type;\n };\n\n states.atBlock_parens = function(type, stream, state) {\n if (type == \")\") return popContext(state);\n if (type == \"{\" || type == \"}\") return popAndPass(type, stream, state, 2);\n return states.atBlock(type, stream, state);\n };\n\n states.restricted_atBlock_before = function(type, stream, state) {\n if (type == \"{\")\n return pushContext(state, stream, \"restricted_atBlock\");\n if (type == \"word\" && state.stateArg == \"@counter-style\") {\n override = \"variable\";\n return \"restricted_atBlock_before\";\n }\n return pass(type, stream, state);\n };\n\n states.restricted_atBlock = function(type, stream, state) {\n if (type == \"}\") {\n state.stateArg = null;\n return popContext(state);\n }\n if (type == \"word\") {\n if ((state.stateArg == \"@font-face\" && !fontProperties.hasOwnProperty(stream.current().toLowerCase())) ||\n (state.stateArg == \"@counter-style\" && !counterDescriptors.hasOwnProperty(stream.current().toLowerCase())))\n override = \"error\";\n else\n override = \"property\";\n return \"maybeprop\";\n }\n return \"restricted_atBlock\";\n };\n\n states.keyframes = function(type, stream, state) {\n if (type == \"word\") { override = \"variable\"; return \"keyframes\"; }\n if (type == \"{\") return pushContext(state, stream, \"top\");\n return pass(type, stream, state);\n };\n\n states.at = function(type, stream, state) {\n if (type == \";\") return popContext(state);\n if (type == \"{\" || type == \"}\") return popAndPass(type, stream, state);\n if (type == \"word\") override = \"tag\";\n else if (type == \"hash\") override = \"builtin\";\n return \"at\";\n };\n\n states.interpolation = function(type, stream, state) {\n if (type == \"}\") return popContext(state);\n if (type == \"{\" || type == \";\") return popAndPass(type, stream, state);\n if (type == \"word\") override = \"variable\";\n else if (type != \"variable\" && type != \"(\" && type != \")\") override = \"error\";\n return \"interpolation\";\n };\n\n return {\n startState: function(base) {\n return {tokenize: null,\n state: inline ? \"block\" : \"top\",\n stateArg: null,\n context: new Context(inline ? \"block\" : \"top\", base || 0, null)};\n },\n\n token: function(stream, state) {\n if (!state.tokenize && stream.eatSpace()) return null;\n var style = (state.tokenize || tokenBase)(stream, state);\n if (style && typeof style == \"object\") {\n type = style[1];\n style = style[0];\n }\n override = style;\n if (type != \"comment\")\n state.state = states[state.state](type, stream, state);\n return override;\n },\n\n indent: function(state, textAfter) {\n var cx = state.context, ch = textAfter && textAfter.charAt(0);\n var indent = cx.indent;\n if (cx.type == \"prop\" && (ch == \"}\" || ch == \")\")) cx = cx.prev;\n if (cx.prev) {\n if (ch == \"}\" && (cx.type == \"block\" || cx.type == \"top\" ||\n cx.type == \"interpolation\" || cx.type == \"restricted_atBlock\")) {\n // Resume indentation from parent context.\n cx = cx.prev;\n indent = cx.indent;\n } else if (ch == \")\" && (cx.type == \"parens\" || cx.type == \"atBlock_parens\") ||\n ch == \"{\" && (cx.type == \"at\" || cx.type == \"atBlock\")) {\n // Dedent relative to current context.\n indent = Math.max(0, cx.indent - indentUnit);\n }\n }\n return indent;\n },\n\n electricChars: \"}\",\n blockCommentStart: \"/*\",\n blockCommentEnd: \"*/\",\n blockCommentContinue: \" * \",\n lineComment: lineComment,\n fold: \"brace\"\n };\n});\n\n function keySet(array) {\n var keys = {};\n for (var i = 0; i < array.length; ++i) {\n keys[array[i].toLowerCase()] = true;\n }\n return keys;\n }\n\n var documentTypes_ = [\n \"domain\", \"regexp\", \"url\", \"url-prefix\"\n ], documentTypes = keySet(documentTypes_);\n\n var mediaTypes_ = [\n \"all\", \"aural\", \"braille\", \"handheld\", \"print\", \"projection\", \"screen\",\n \"tty\", \"tv\", \"embossed\"\n ], mediaTypes = keySet(mediaTypes_);\n\n var mediaFeatures_ = [\n \"width\", \"min-width\", \"max-width\", \"height\", \"min-height\", \"max-height\",\n \"device-width\", \"min-device-width\", \"max-device-width\", \"device-height\",\n \"min-device-height\", \"max-device-height\", \"aspect-ratio\",\n \"min-aspect-ratio\", \"max-aspect-ratio\", \"device-aspect-ratio\",\n \"min-device-aspect-ratio\", \"max-device-aspect-ratio\", \"color\", \"min-color\",\n \"max-color\", \"color-index\", \"min-color-index\", \"max-color-index\",\n \"monochrome\", \"min-monochrome\", \"max-monochrome\", \"resolution\",\n \"min-resolution\", \"max-resolution\", \"scan\", \"grid\", \"orientation\",\n \"device-pixel-ratio\", \"min-device-pixel-ratio\", \"max-device-pixel-ratio\",\n \"pointer\", \"any-pointer\", \"hover\", \"any-hover\", \"prefers-color-scheme\"\n ], mediaFeatures = keySet(mediaFeatures_);\n\n var mediaValueKeywords_ = [\n \"landscape\", \"portrait\", \"none\", \"coarse\", \"fine\", \"on-demand\", \"hover\",\n \"interlace\", \"progressive\",\n \"dark\", \"light\"\n ], mediaValueKeywords = keySet(mediaValueKeywords_);\n\n var propertyKeywords_ = [\n \"align-content\", \"align-items\", \"align-self\", \"alignment-adjust\",\n \"alignment-baseline\", \"all\", \"anchor-point\", \"animation\", \"animation-delay\",\n \"animation-direction\", \"animation-duration\", \"animation-fill-mode\",\n \"animation-iteration-count\", \"animation-name\", \"animation-play-state\",\n \"animation-timing-function\", \"appearance\", \"azimuth\", \"backdrop-filter\",\n \"backface-visibility\", \"background\", \"background-attachment\",\n \"background-blend-mode\", \"background-clip\", \"background-color\",\n \"background-image\", \"background-origin\", \"background-position\",\n \"background-position-x\", \"background-position-y\", \"background-repeat\",\n \"background-size\", \"baseline-shift\", \"binding\", \"bleed\", \"block-size\",\n \"bookmark-label\", \"bookmark-level\", \"bookmark-state\", \"bookmark-target\",\n \"border\", \"border-bottom\", \"border-bottom-color\", \"border-bottom-left-radius\",\n \"border-bottom-right-radius\", \"border-bottom-style\", \"border-bottom-width\",\n \"border-collapse\", \"border-color\", \"border-image\", \"border-image-outset\",\n \"border-image-repeat\", \"border-image-slice\", \"border-image-source\",\n \"border-image-width\", \"border-left\", \"border-left-color\", \"border-left-style\",\n \"border-left-width\", \"border-radius\", \"border-right\", \"border-right-color\",\n \"border-right-style\", \"border-right-width\", \"border-spacing\", \"border-style\",\n \"border-top\", \"border-top-color\", \"border-top-left-radius\",\n \"border-top-right-radius\", \"border-top-style\", \"border-top-width\",\n \"border-width\", \"bottom\", \"box-decoration-break\", \"box-shadow\", \"box-sizing\",\n \"break-after\", \"break-before\", \"break-inside\", \"caption-side\", \"caret-color\",\n \"clear\", \"clip\", \"color\", \"color-profile\", \"column-count\", \"column-fill\",\n \"column-gap\", \"column-rule\", \"column-rule-color\", \"column-rule-style\",\n \"column-rule-width\", \"column-span\", \"column-width\", \"columns\", \"contain\",\n \"content\", \"counter-increment\", \"counter-reset\", \"crop\", \"cue\", \"cue-after\",\n \"cue-before\", \"cursor\", \"direction\", \"display\", \"dominant-baseline\",\n \"drop-initial-after-adjust\", \"drop-initial-after-align\",\n \"drop-initial-before-adjust\", \"drop-initial-before-align\", \"drop-initial-size\",\n \"drop-initial-value\", \"elevation\", \"empty-cells\", \"fit\", \"fit-content\", \"fit-position\",\n \"flex\", \"flex-basis\", \"flex-direction\", \"flex-flow\", \"flex-grow\",\n \"flex-shrink\", \"flex-wrap\", \"float\", \"float-offset\", \"flow-from\", \"flow-into\",\n \"font\", \"font-family\", \"font-feature-settings\", \"font-kerning\",\n \"font-language-override\", \"font-optical-sizing\", \"font-size\",\n \"font-size-adjust\", \"font-stretch\", \"font-style\", \"font-synthesis\",\n \"font-variant\", \"font-variant-alternates\", \"font-variant-caps\",\n \"font-variant-east-asian\", \"font-variant-ligatures\", \"font-variant-numeric\",\n \"font-variant-position\", \"font-variation-settings\", \"font-weight\", \"gap\",\n \"grid\", \"grid-area\", \"grid-auto-columns\", \"grid-auto-flow\", \"grid-auto-rows\",\n \"grid-column\", \"grid-column-end\", \"grid-column-gap\", \"grid-column-start\",\n \"grid-gap\", \"grid-row\", \"grid-row-end\", \"grid-row-gap\", \"grid-row-start\",\n \"grid-template\", \"grid-template-areas\", \"grid-template-columns\",\n \"grid-template-rows\", \"hanging-punctuation\", \"height\", \"hyphens\", \"icon\",\n \"image-orientation\", \"image-rendering\", \"image-resolution\", \"inline-box-align\",\n \"inset\", \"inset-block\", \"inset-block-end\", \"inset-block-start\", \"inset-inline\",\n \"inset-inline-end\", \"inset-inline-start\", \"isolation\", \"justify-content\",\n \"justify-items\", \"justify-self\", \"left\", \"letter-spacing\", \"line-break\",\n \"line-height\", \"line-height-step\", \"line-stacking\", \"line-stacking-ruby\",\n \"line-stacking-shift\", \"line-stacking-strategy\", \"list-style\",\n \"list-style-image\", \"list-style-position\", \"list-style-type\", \"margin\",\n \"margin-bottom\", \"margin-left\", \"margin-right\", \"margin-top\", \"marks\",\n \"marquee-direction\", \"marquee-loop\", \"marquee-play-count\", \"marquee-speed\",\n \"marquee-style\", \"mask-clip\", \"mask-composite\", \"mask-image\", \"mask-mode\",\n \"mask-origin\", \"mask-position\", \"mask-repeat\", \"mask-size\",\"mask-type\",\n \"max-block-size\", \"max-height\", \"max-inline-size\",\n \"max-width\", \"min-block-size\", \"min-height\", \"min-inline-size\", \"min-width\",\n \"mix-blend-mode\", \"move-to\", \"nav-down\", \"nav-index\", \"nav-left\", \"nav-right\",\n \"nav-up\", \"object-fit\", \"object-position\", \"offset\", \"offset-anchor\",\n \"offset-distance\", \"offset-path\", \"offset-position\", \"offset-rotate\",\n \"opacity\", \"order\", \"orphans\", \"outline\", \"outline-color\", \"outline-offset\",\n \"outline-style\", \"outline-width\", \"overflow\", \"overflow-style\",\n \"overflow-wrap\", \"overflow-x\", \"overflow-y\", \"padding\", \"padding-bottom\",\n \"padding-left\", \"padding-right\", \"padding-top\", \"page\", \"page-break-after\",\n \"page-break-before\", \"page-break-inside\", \"page-policy\", \"pause\",\n \"pause-after\", \"pause-before\", \"perspective\", \"perspective-origin\", \"pitch\",\n \"pitch-range\", \"place-content\", \"place-items\", \"place-self\", \"play-during\",\n \"position\", \"presentation-level\", \"punctuation-trim\", \"quotes\",\n \"region-break-after\", \"region-break-before\", \"region-break-inside\",\n \"region-fragment\", \"rendering-intent\", \"resize\", \"rest\", \"rest-after\",\n \"rest-before\", \"richness\", \"right\", \"rotate\", \"rotation\", \"rotation-point\",\n \"row-gap\", \"ruby-align\", \"ruby-overhang\", \"ruby-position\", \"ruby-span\",\n \"scale\", \"scroll-behavior\", \"scroll-margin\", \"scroll-margin-block\",\n \"scroll-margin-block-end\", \"scroll-margin-block-start\", \"scroll-margin-bottom\",\n \"scroll-margin-inline\", \"scroll-margin-inline-end\",\n \"scroll-margin-inline-start\", \"scroll-margin-left\", \"scroll-margin-right\",\n \"scroll-margin-top\", \"scroll-padding\", \"scroll-padding-block\",\n \"scroll-padding-block-end\", \"scroll-padding-block-start\",\n \"scroll-padding-bottom\", \"scroll-padding-inline\", \"scroll-padding-inline-end\",\n \"scroll-padding-inline-start\", \"scroll-padding-left\", \"scroll-padding-right\",\n \"scroll-padding-top\", \"scroll-snap-align\", \"scroll-snap-type\",\n \"shape-image-threshold\", \"shape-inside\", \"shape-margin\", \"shape-outside\",\n \"size\", \"speak\", \"speak-as\", \"speak-header\", \"speak-numeral\",\n \"speak-punctuation\", \"speech-rate\", \"stress\", \"string-set\", \"tab-size\",\n \"table-layout\", \"target\", \"target-name\", \"target-new\", \"target-position\",\n \"text-align\", \"text-align-last\", \"text-combine-upright\", \"text-decoration\",\n \"text-decoration-color\", \"text-decoration-line\", \"text-decoration-skip\",\n \"text-decoration-skip-ink\", \"text-decoration-style\", \"text-emphasis\",\n \"text-emphasis-color\", \"text-emphasis-position\", \"text-emphasis-style\",\n \"text-height\", \"text-indent\", \"text-justify\", \"text-orientation\",\n \"text-outline\", \"text-overflow\", \"text-rendering\", \"text-shadow\",\n \"text-size-adjust\", \"text-space-collapse\", \"text-transform\",\n \"text-underline-position\", \"text-wrap\", \"top\", \"touch-action\", \"transform\", \"transform-origin\",\n \"transform-style\", \"transition\", \"transition-delay\", \"transition-duration\",\n \"transition-property\", \"transition-timing-function\", \"translate\",\n \"unicode-bidi\", \"user-select\", \"vertical-align\", \"visibility\", \"voice-balance\",\n \"voice-duration\", \"voice-family\", \"voice-pitch\", \"voice-range\", \"voice-rate\",\n \"voice-stress\", \"voice-volume\", \"volume\", \"white-space\", \"widows\", \"width\",\n \"will-change\", \"word-break\", \"word-spacing\", \"word-wrap\", \"writing-mode\", \"z-index\",\n // SVG-specific\n \"clip-path\", \"clip-rule\", \"mask\", \"enable-background\", \"filter\", \"flood-color\",\n \"flood-opacity\", \"lighting-color\", \"stop-color\", \"stop-opacity\", \"pointer-events\",\n \"color-interpolation\", \"color-interpolation-filters\",\n \"color-rendering\", \"fill\", \"fill-opacity\", \"fill-rule\", \"image-rendering\",\n \"marker\", \"marker-end\", \"marker-mid\", \"marker-start\", \"paint-order\", \"shape-rendering\", \"stroke\",\n \"stroke-dasharray\", \"stroke-dashoffset\", \"stroke-linecap\", \"stroke-linejoin\",\n \"stroke-miterlimit\", \"stroke-opacity\", \"stroke-width\", \"text-rendering\",\n \"baseline-shift\", \"dominant-baseline\", \"glyph-orientation-horizontal\",\n \"glyph-orientation-vertical\", \"text-anchor\", \"writing-mode\",\n ], propertyKeywords = keySet(propertyKeywords_);\n\n var nonStandardPropertyKeywords_ = [\n \"accent-color\", \"aspect-ratio\", \"border-block\", \"border-block-color\", \"border-block-end\",\n \"border-block-end-color\", \"border-block-end-style\", \"border-block-end-width\",\n \"border-block-start\", \"border-block-start-color\", \"border-block-start-style\",\n \"border-block-start-width\", \"border-block-style\", \"border-block-width\",\n \"border-inline\", \"border-inline-color\", \"border-inline-end\",\n \"border-inline-end-color\", \"border-inline-end-style\",\n \"border-inline-end-width\", \"border-inline-start\", \"border-inline-start-color\",\n \"border-inline-start-style\", \"border-inline-start-width\",\n \"border-inline-style\", \"border-inline-width\", \"content-visibility\", \"margin-block\",\n \"margin-block-end\", \"margin-block-start\", \"margin-inline\", \"margin-inline-end\",\n \"margin-inline-start\", \"overflow-anchor\", \"overscroll-behavior\", \"padding-block\", \"padding-block-end\",\n \"padding-block-start\", \"padding-inline\", \"padding-inline-end\",\n \"padding-inline-start\", \"scroll-snap-stop\", \"scrollbar-3d-light-color\",\n \"scrollbar-arrow-color\", \"scrollbar-base-color\", \"scrollbar-dark-shadow-color\",\n \"scrollbar-face-color\", \"scrollbar-highlight-color\", \"scrollbar-shadow-color\",\n \"scrollbar-track-color\", \"searchfield-cancel-button\", \"searchfield-decoration\",\n \"searchfield-results-button\", \"searchfield-results-decoration\", \"shape-inside\", \"zoom\"\n ], nonStandardPropertyKeywords = keySet(nonStandardPropertyKeywords_);\n\n var fontProperties_ = [\n \"font-display\", \"font-family\", \"src\", \"unicode-range\", \"font-variant\",\n \"font-feature-settings\", \"font-stretch\", \"font-weight\", \"font-style\"\n ], fontProperties = keySet(fontProperties_);\n\n var counterDescriptors_ = [\n \"additive-symbols\", \"fallback\", \"negative\", \"pad\", \"prefix\", \"range\",\n \"speak-as\", \"suffix\", \"symbols\", \"system\"\n ], counterDescriptors = keySet(counterDescriptors_);\n\n var colorKeywords_ = [\n \"aliceblue\", \"antiquewhite\", \"aqua\", \"aquamarine\", \"azure\", \"beige\",\n \"bisque\", \"black\", \"blanchedalmond\", \"blue\", \"blueviolet\", \"brown\",\n \"burlywood\", \"cadetblue\", \"chartreuse\", \"chocolate\", \"coral\", \"cornflowerblue\",\n \"cornsilk\", \"crimson\", \"cyan\", \"darkblue\", \"darkcyan\", \"darkgoldenrod\",\n \"darkgray\", \"darkgreen\", \"darkgrey\", \"darkkhaki\", \"darkmagenta\", \"darkolivegreen\",\n \"darkorange\", \"darkorchid\", \"darkred\", \"darksalmon\", \"darkseagreen\",\n \"darkslateblue\", \"darkslategray\", \"darkslategrey\", \"darkturquoise\", \"darkviolet\",\n \"deeppink\", \"deepskyblue\", \"dimgray\", \"dimgrey\", \"dodgerblue\", \"firebrick\",\n \"floralwhite\", \"forestgreen\", \"fuchsia\", \"gainsboro\", \"ghostwhite\",\n \"gold\", \"goldenrod\", \"gray\", \"grey\", \"green\", \"greenyellow\", \"honeydew\",\n \"hotpink\", \"indianred\", \"indigo\", \"ivory\", \"khaki\", \"lavender\",\n \"lavenderblush\", \"lawngreen\", \"lemonchiffon\", \"lightblue\", \"lightcoral\",\n \"lightcyan\", \"lightgoldenrodyellow\", \"lightgray\", \"lightgreen\", \"lightgrey\", \"lightpink\",\n \"lightsalmon\", \"lightseagreen\", \"lightskyblue\", \"lightslategray\", \"lightslategrey\",\n \"lightsteelblue\", \"lightyellow\", \"lime\", \"limegreen\", \"linen\", \"magenta\",\n \"maroon\", \"mediumaquamarine\", \"mediumblue\", \"mediumorchid\", \"mediumpurple\",\n \"mediumseagreen\", \"mediumslateblue\", \"mediumspringgreen\", \"mediumturquoise\",\n \"mediumvioletred\", \"midnightblue\", \"mintcream\", \"mistyrose\", \"moccasin\",\n \"navajowhite\", \"navy\", \"oldlace\", \"olive\", \"olivedrab\", \"orange\", \"orangered\",\n \"orchid\", \"palegoldenrod\", \"palegreen\", \"paleturquoise\", \"palevioletred\",\n \"papayawhip\", \"peachpuff\", \"peru\", \"pink\", \"plum\", \"powderblue\",\n \"purple\", \"rebeccapurple\", \"red\", \"rosybrown\", \"royalblue\", \"saddlebrown\",\n \"salmon\", \"sandybrown\", \"seagreen\", \"seashell\", \"sienna\", \"silver\", \"skyblue\",\n \"slateblue\", \"slategray\", \"slategrey\", \"snow\", \"springgreen\", \"steelblue\", \"tan\",\n \"teal\", \"thistle\", \"tomato\", \"turquoise\", \"violet\", \"wheat\", \"white\",\n \"whitesmoke\", \"yellow\", \"yellowgreen\"\n ], colorKeywords = keySet(colorKeywords_);\n\n var valueKeywords_ = [\n \"above\", \"absolute\", \"activeborder\", \"additive\", \"activecaption\", \"afar\",\n \"after-white-space\", \"ahead\", \"alias\", \"all\", \"all-scroll\", \"alphabetic\", \"alternate\",\n \"always\", \"amharic\", \"amharic-abegede\", \"antialiased\", \"appworkspace\",\n \"arabic-indic\", \"armenian\", \"asterisks\", \"attr\", \"auto\", \"auto-flow\", \"avoid\", \"avoid-column\", \"avoid-page\",\n \"avoid-region\", \"axis-pan\", \"background\", \"backwards\", \"baseline\", \"below\", \"bidi-override\", \"binary\",\n \"bengali\", \"blink\", \"block\", \"block-axis\", \"blur\", \"bold\", \"bolder\", \"border\", \"border-box\",\n \"both\", \"bottom\", \"break\", \"break-all\", \"break-word\", \"brightness\", \"bullets\", \"button\", \"button-bevel\",\n \"buttonface\", \"buttonhighlight\", \"buttonshadow\", \"buttontext\", \"calc\", \"cambodian\",\n \"capitalize\", \"caps-lock-indicator\", \"caption\", \"captiontext\", \"caret\",\n \"cell\", \"center\", \"checkbox\", \"circle\", \"cjk-decimal\", \"cjk-earthly-branch\",\n \"cjk-heavenly-stem\", \"cjk-ideographic\", \"clear\", \"clip\", \"close-quote\",\n \"col-resize\", \"collapse\", \"color\", \"color-burn\", \"color-dodge\", \"column\", \"column-reverse\",\n \"compact\", \"condensed\", \"contain\", \"content\", \"contents\",\n \"content-box\", \"context-menu\", \"continuous\", \"contrast\", \"copy\", \"counter\", \"counters\", \"cover\", \"crop\",\n \"cross\", \"crosshair\", \"cubic-bezier\", \"currentcolor\", \"cursive\", \"cyclic\", \"darken\", \"dashed\", \"decimal\",\n \"decimal-leading-zero\", \"default\", \"default-button\", \"dense\", \"destination-atop\",\n \"destination-in\", \"destination-out\", \"destination-over\", \"devanagari\", \"difference\",\n \"disc\", \"discard\", \"disclosure-closed\", \"disclosure-open\", \"document\",\n \"dot-dash\", \"dot-dot-dash\",\n \"dotted\", \"double\", \"down\", \"drop-shadow\", \"e-resize\", \"ease\", \"ease-in\", \"ease-in-out\", \"ease-out\",\n \"element\", \"ellipse\", \"ellipsis\", \"embed\", \"end\", \"ethiopic\", \"ethiopic-abegede\",\n \"ethiopic-abegede-am-et\", \"ethiopic-abegede-gez\", \"ethiopic-abegede-ti-er\",\n \"ethiopic-abegede-ti-et\", \"ethiopic-halehame-aa-er\",\n \"ethiopic-halehame-aa-et\", \"ethiopic-halehame-am-et\",\n \"ethiopic-halehame-gez\", \"ethiopic-halehame-om-et\",\n \"ethiopic-halehame-sid-et\", \"ethiopic-halehame-so-et\",\n \"ethiopic-halehame-ti-er\", \"ethiopic-halehame-ti-et\", \"ethiopic-halehame-tig\",\n \"ethiopic-numeric\", \"ew-resize\", \"exclusion\", \"expanded\", \"extends\", \"extra-condensed\",\n \"extra-expanded\", \"fantasy\", \"fast\", \"fill\", \"fill-box\", \"fixed\", \"flat\", \"flex\", \"flex-end\", \"flex-start\", \"footnotes\",\n \"forwards\", \"from\", \"geometricPrecision\", \"georgian\", \"grayscale\", \"graytext\", \"grid\", \"groove\",\n \"gujarati\", \"gurmukhi\", \"hand\", \"hangul\", \"hangul-consonant\", \"hard-light\", \"hebrew\",\n \"help\", \"hidden\", \"hide\", \"higher\", \"highlight\", \"highlighttext\",\n \"hiragana\", \"hiragana-iroha\", \"horizontal\", \"hsl\", \"hsla\", \"hue\", \"hue-rotate\", \"icon\", \"ignore\",\n \"inactiveborder\", \"inactivecaption\", \"inactivecaptiontext\", \"infinite\",\n \"infobackground\", \"infotext\", \"inherit\", \"initial\", \"inline\", \"inline-axis\",\n \"inline-block\", \"inline-flex\", \"inline-grid\", \"inline-table\", \"inset\", \"inside\", \"intrinsic\", \"invert\",\n \"italic\", \"japanese-formal\", \"japanese-informal\", \"justify\", \"kannada\",\n \"katakana\", \"katakana-iroha\", \"keep-all\", \"khmer\",\n \"korean-hangul-formal\", \"korean-hanja-formal\", \"korean-hanja-informal\",\n \"landscape\", \"lao\", \"large\", \"larger\", \"left\", \"level\", \"lighter\", \"lighten\",\n \"line-through\", \"linear\", \"linear-gradient\", \"lines\", \"list-item\", \"listbox\", \"listitem\",\n \"local\", \"logical\", \"loud\", \"lower\", \"lower-alpha\", \"lower-armenian\",\n \"lower-greek\", \"lower-hexadecimal\", \"lower-latin\", \"lower-norwegian\",\n \"lower-roman\", \"lowercase\", \"ltr\", \"luminosity\", \"malayalam\", \"manipulation\", \"match\", \"matrix\", \"matrix3d\",\n \"media-controls-background\", \"media-current-time-display\",\n \"media-fullscreen-button\", \"media-mute-button\", \"media-play-button\",\n \"media-return-to-realtime-button\", \"media-rewind-button\",\n \"media-seek-back-button\", \"media-seek-forward-button\", \"media-slider\",\n \"media-sliderthumb\", \"media-time-remaining-display\", \"media-volume-slider\",\n \"media-volume-slider-container\", \"media-volume-sliderthumb\", \"medium\",\n \"menu\", \"menulist\", \"menulist-button\", \"menulist-text\",\n \"menulist-textfield\", \"menutext\", \"message-box\", \"middle\", \"min-intrinsic\",\n \"mix\", \"mongolian\", \"monospace\", \"move\", \"multiple\", \"multiple_mask_images\", \"multiply\", \"myanmar\", \"n-resize\",\n \"narrower\", \"ne-resize\", \"nesw-resize\", \"no-close-quote\", \"no-drop\",\n \"no-open-quote\", \"no-repeat\", \"none\", \"normal\", \"not-allowed\", \"nowrap\",\n \"ns-resize\", \"numbers\", \"numeric\", \"nw-resize\", \"nwse-resize\", \"oblique\", \"octal\", \"opacity\", \"open-quote\",\n \"optimizeLegibility\", \"optimizeSpeed\", \"oriya\", \"oromo\", \"outset\",\n \"outside\", \"outside-shape\", \"overlay\", \"overline\", \"padding\", \"padding-box\",\n \"painted\", \"page\", \"paused\", \"persian\", \"perspective\", \"pinch-zoom\", \"plus-darker\", \"plus-lighter\",\n \"pointer\", \"polygon\", \"portrait\", \"pre\", \"pre-line\", \"pre-wrap\", \"preserve-3d\",\n \"progress\", \"push-button\", \"radial-gradient\", \"radio\", \"read-only\",\n \"read-write\", \"read-write-plaintext-only\", \"rectangle\", \"region\",\n \"relative\", \"repeat\", \"repeating-linear-gradient\",\n \"repeating-radial-gradient\", \"repeat-x\", \"repeat-y\", \"reset\", \"reverse\",\n \"rgb\", \"rgba\", \"ridge\", \"right\", \"rotate\", \"rotate3d\", \"rotateX\", \"rotateY\",\n \"rotateZ\", \"round\", \"row\", \"row-resize\", \"row-reverse\", \"rtl\", \"run-in\", \"running\",\n \"s-resize\", \"sans-serif\", \"saturate\", \"saturation\", \"scale\", \"scale3d\", \"scaleX\", \"scaleY\", \"scaleZ\", \"screen\",\n \"scroll\", \"scrollbar\", \"scroll-position\", \"se-resize\", \"searchfield\",\n \"searchfield-cancel-button\", \"searchfield-decoration\",\n \"searchfield-results-button\", \"searchfield-results-decoration\", \"self-start\", \"self-end\",\n \"semi-condensed\", \"semi-expanded\", \"separate\", \"sepia\", \"serif\", \"show\", \"sidama\",\n \"simp-chinese-formal\", \"simp-chinese-informal\", \"single\",\n \"skew\", \"skewX\", \"skewY\", \"skip-white-space\", \"slide\", \"slider-horizontal\",\n \"slider-vertical\", \"sliderthumb-horizontal\", \"sliderthumb-vertical\", \"slow\",\n \"small\", \"small-caps\", \"small-caption\", \"smaller\", \"soft-light\", \"solid\", \"somali\",\n \"source-atop\", \"source-in\", \"source-out\", \"source-over\", \"space\", \"space-around\", \"space-between\", \"space-evenly\", \"spell-out\", \"square\",\n \"square-button\", \"start\", \"static\", \"status-bar\", \"stretch\", \"stroke\", \"stroke-box\", \"sub\",\n \"subpixel-antialiased\", \"svg_masks\", \"super\", \"sw-resize\", \"symbolic\", \"symbols\", \"system-ui\", \"table\",\n \"table-caption\", \"table-cell\", \"table-column\", \"table-column-group\",\n \"table-footer-group\", \"table-header-group\", \"table-row\", \"table-row-group\",\n \"tamil\",\n \"telugu\", \"text\", \"text-bottom\", \"text-top\", \"textarea\", \"textfield\", \"thai\",\n \"thick\", \"thin\", \"threeddarkshadow\", \"threedface\", \"threedhighlight\",\n \"threedlightshadow\", \"threedshadow\", \"tibetan\", \"tigre\", \"tigrinya-er\",\n \"tigrinya-er-abegede\", \"tigrinya-et\", \"tigrinya-et-abegede\", \"to\", \"top\",\n \"trad-chinese-formal\", \"trad-chinese-informal\", \"transform\",\n \"translate\", \"translate3d\", \"translateX\", \"translateY\", \"translateZ\",\n \"transparent\", \"ultra-condensed\", \"ultra-expanded\", \"underline\", \"unidirectional-pan\", \"unset\", \"up\",\n \"upper-alpha\", \"upper-armenian\", \"upper-greek\", \"upper-hexadecimal\",\n \"upper-latin\", \"upper-norwegian\", \"upper-roman\", \"uppercase\", \"urdu\", \"url\",\n \"var\", \"vertical\", \"vertical-text\", \"view-box\", \"visible\", \"visibleFill\", \"visiblePainted\",\n \"visibleStroke\", \"visual\", \"w-resize\", \"wait\", \"wave\", \"wider\",\n \"window\", \"windowframe\", \"windowtext\", \"words\", \"wrap\", \"wrap-reverse\", \"x-large\", \"x-small\", \"xor\",\n \"xx-large\", \"xx-small\"\n ], valueKeywords = keySet(valueKeywords_);\n\n var allWords = documentTypes_.concat(mediaTypes_).concat(mediaFeatures_).concat(mediaValueKeywords_)\n .concat(propertyKeywords_).concat(nonStandardPropertyKeywords_).concat(colorKeywords_)\n .concat(valueKeywords_);\n CodeMirror.registerHelper(\"hintWords\", \"css\", allWords);\n\n function tokenCComment(stream, state) {\n var maybeEnd = false, ch;\n while ((ch = stream.next()) != null) {\n if (maybeEnd && ch == \"/\") {\n state.tokenize = null;\n break;\n }\n maybeEnd = (ch == \"*\");\n }\n return [\"comment\", \"comment\"];\n }\n\n CodeMirror.defineMIME(\"text/css\", {\n documentTypes: documentTypes,\n mediaTypes: mediaTypes,\n mediaFeatures: mediaFeatures,\n mediaValueKeywords: mediaValueKeywords,\n propertyKeywords: propertyKeywords,\n nonStandardPropertyKeywords: nonStandardPropertyKeywords,\n fontProperties: fontProperties,\n counterDescriptors: counterDescriptors,\n colorKeywords: colorKeywords,\n valueKeywords: valueKeywords,\n tokenHooks: {\n \"/\": function(stream, state) {\n if (!stream.eat(\"*\")) return false;\n state.tokenize = tokenCComment;\n return tokenCComment(stream, state);\n }\n },\n name: \"css\"\n });\n\n CodeMirror.defineMIME(\"text/x-scss\", {\n mediaTypes: mediaTypes,\n mediaFeatures: mediaFeatures,\n mediaValueKeywords: mediaValueKeywords,\n propertyKeywords: propertyKeywords,\n nonStandardPropertyKeywords: nonStandardPropertyKeywords,\n colorKeywords: colorKeywords,\n valueKeywords: valueKeywords,\n fontProperties: fontProperties,\n allowNested: true,\n lineComment: \"//\",\n tokenHooks: {\n \"/\": function(stream, state) {\n if (stream.eat(\"/\")) {\n stream.skipToEnd();\n return [\"comment\", \"comment\"];\n } else if (stream.eat(\"*\")) {\n state.tokenize = tokenCComment;\n return tokenCComment(stream, state);\n } else {\n return [\"operator\", \"operator\"];\n }\n },\n \":\": function(stream) {\n if (stream.match(/^\\s*\\{/, false))\n return [null, null]\n return false;\n },\n \"$\": function(stream) {\n stream.match(/^[\\w-]+/);\n if (stream.match(/^\\s*:/, false))\n return [\"variable-2\", \"variable-definition\"];\n return [\"variable-2\", \"variable\"];\n },\n \"#\": function(stream) {\n if (!stream.eat(\"{\")) return false;\n return [null, \"interpolation\"];\n }\n },\n name: \"css\",\n helperType: \"scss\"\n });\n\n CodeMirror.defineMIME(\"text/x-less\", {\n mediaTypes: mediaTypes,\n mediaFeatures: mediaFeatures,\n mediaValueKeywords: mediaValueKeywords,\n propertyKeywords: propertyKeywords,\n nonStandardPropertyKeywords: nonStandardPropertyKeywords,\n colorKeywords: colorKeywords,\n valueKeywords: valueKeywords,\n fontProperties: fontProperties,\n allowNested: true,\n lineComment: \"//\",\n tokenHooks: {\n \"/\": function(stream, state) {\n if (stream.eat(\"/\")) {\n stream.skipToEnd();\n return [\"comment\", \"comment\"];\n } else if (stream.eat(\"*\")) {\n state.tokenize = tokenCComment;\n return tokenCComment(stream, state);\n } else {\n return [\"operator\", \"operator\"];\n }\n },\n \"@\": function(stream) {\n if (stream.eat(\"{\")) return [null, \"interpolation\"];\n if (stream.match(/^(charset|document|font-face|import|(-(moz|ms|o|webkit)-)?keyframes|media|namespace|page|supports)\\b/i, false)) return false;\n stream.eatWhile(/[\\w\\\\\\-]/);\n if (stream.match(/^\\s*:/, false))\n return [\"variable-2\", \"variable-definition\"];\n return [\"variable-2\", \"variable\"];\n },\n \"&\": function() {\n return [\"atom\", \"atom\"];\n }\n },\n name: \"css\",\n helperType: \"less\"\n });\n\n CodeMirror.defineMIME(\"text/x-gss\", {\n documentTypes: documentTypes,\n mediaTypes: mediaTypes,\n mediaFeatures: mediaFeatures,\n propertyKeywords: propertyKeywords,\n nonStandardPropertyKeywords: nonStandardPropertyKeywords,\n fontProperties: fontProperties,\n counterDescriptors: counterDescriptors,\n colorKeywords: colorKeywords,\n valueKeywords: valueKeywords,\n supportsAtComponent: true,\n tokenHooks: {\n \"/\": function(stream, state) {\n if (!stream.eat(\"*\")) return false;\n state.tokenize = tokenCComment;\n return tokenCComment(stream, state);\n }\n },\n name: \"css\",\n helperType: \"gss\"\n });\n\n});\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = convertNodeToElement;\n\nvar _elementTypes = require('./elementTypes');\n\nvar _elementTypes2 = _interopRequireDefault(_elementTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Converts a htmlparser2 node to a React element\n *\n * @param {Object} node The htmlparser2 node to convert\n * @param {Number} index The index of the current node\n * @param {Function} transform Transform function to apply to children of the node\n * @returns {React.Element}\n */\nfunction convertNodeToElement(node, index, transform) {\n return _elementTypes2.default[node.type](node, index, transform);\n}","var Tokenizer = require(\"./Tokenizer.js\");\n\n/*\n\tOptions:\n\n\txmlMode: Disables the special behavior for script/style tags (false by default)\n\tlowerCaseAttributeNames: call .toLowerCase for each attribute name (true if xmlMode is `false`)\n\tlowerCaseTags: call .toLowerCase for each tag name (true if xmlMode is `false`)\n*/\n\n/*\n\tCallbacks:\n\n\toncdataend,\n\toncdatastart,\n\tonclosetag,\n\toncomment,\n\toncommentend,\n\tonerror,\n\tonopentag,\n\tonprocessinginstruction,\n\tonreset,\n\tontext\n*/\n\nvar formTags = {\n input: true,\n option: true,\n optgroup: true,\n select: true,\n button: true,\n datalist: true,\n textarea: true\n};\n\nvar openImpliesClose = {\n tr: { tr: true, th: true, td: true },\n th: { th: true },\n td: { thead: true, th: true, td: true },\n body: { head: true, link: true, script: true },\n li: { li: true },\n p: { p: true },\n h1: { p: true },\n h2: { p: true },\n h3: { p: true },\n h4: { p: true },\n h5: { p: true },\n h6: { p: true },\n select: formTags,\n input: formTags,\n output: formTags,\n button: formTags,\n datalist: formTags,\n textarea: formTags,\n option: { option: true },\n optgroup: { optgroup: true }\n};\n\nvar voidElements = {\n __proto__: null,\n area: true,\n base: true,\n basefont: true,\n br: true,\n col: true,\n command: true,\n embed: true,\n frame: true,\n hr: true,\n img: true,\n input: true,\n isindex: true,\n keygen: true,\n link: true,\n meta: true,\n param: true,\n source: true,\n track: true,\n wbr: true\n};\n\nvar foreignContextElements = {\n __proto__: null,\n math: true,\n svg: true\n};\nvar htmlIntegrationElements = {\n __proto__: null,\n mi: true,\n mo: true,\n mn: true,\n ms: true,\n mtext: true,\n \"annotation-xml\": true,\n foreignObject: true,\n desc: true,\n title: true\n};\n\nvar re_nameEnd = /\\s|\\//;\n\nfunction Parser(cbs, options) {\n this._options = options || {};\n this._cbs = cbs || {};\n\n this._tagname = \"\";\n this._attribname = \"\";\n this._attribvalue = \"\";\n this._attribs = null;\n this._stack = [];\n this._foreignContext = [];\n\n this.startIndex = 0;\n this.endIndex = null;\n\n this._lowerCaseTagNames =\n \"lowerCaseTags\" in this._options\n ? !!this._options.lowerCaseTags\n : !this._options.xmlMode;\n this._lowerCaseAttributeNames =\n \"lowerCaseAttributeNames\" in this._options\n ? !!this._options.lowerCaseAttributeNames\n : !this._options.xmlMode;\n\n if (this._options.Tokenizer) {\n Tokenizer = this._options.Tokenizer;\n }\n this._tokenizer = new Tokenizer(this._options, this);\n\n if (this._cbs.onparserinit) this._cbs.onparserinit(this);\n}\n\nrequire(\"inherits\")(Parser, require(\"events\").EventEmitter);\n\nParser.prototype._updatePosition = function(initialOffset) {\n if (this.endIndex === null) {\n if (this._tokenizer._sectionStart <= initialOffset) {\n this.startIndex = 0;\n } else {\n this.startIndex = this._tokenizer._sectionStart - initialOffset;\n }\n } else this.startIndex = this.endIndex + 1;\n this.endIndex = this._tokenizer.getAbsoluteIndex();\n};\n\n//Tokenizer event handlers\nParser.prototype.ontext = function(data) {\n this._updatePosition(1);\n this.endIndex--;\n\n if (this._cbs.ontext) this._cbs.ontext(data);\n};\n\nParser.prototype.onopentagname = function(name) {\n if (this._lowerCaseTagNames) {\n name = name.toLowerCase();\n }\n\n this._tagname = name;\n\n if (!this._options.xmlMode && name in openImpliesClose) {\n for (\n var el;\n (el = this._stack[this._stack.length - 1]) in\n openImpliesClose[name];\n this.onclosetag(el)\n );\n }\n\n if (this._options.xmlMode || !(name in voidElements)) {\n this._stack.push(name);\n if (name in foreignContextElements) this._foreignContext.push(true);\n else if (name in htmlIntegrationElements)\n this._foreignContext.push(false);\n }\n\n if (this._cbs.onopentagname) this._cbs.onopentagname(name);\n if (this._cbs.onopentag) this._attribs = {};\n};\n\nParser.prototype.onopentagend = function() {\n this._updatePosition(1);\n\n if (this._attribs) {\n if (this._cbs.onopentag)\n this._cbs.onopentag(this._tagname, this._attribs);\n this._attribs = null;\n }\n\n if (\n !this._options.xmlMode &&\n this._cbs.onclosetag &&\n this._tagname in voidElements\n ) {\n this._cbs.onclosetag(this._tagname);\n }\n\n this._tagname = \"\";\n};\n\nParser.prototype.onclosetag = function(name) {\n this._updatePosition(1);\n\n if (this._lowerCaseTagNames) {\n name = name.toLowerCase();\n }\n \n if (name in foreignContextElements || name in htmlIntegrationElements) {\n this._foreignContext.pop();\n }\n\n if (\n this._stack.length &&\n (!(name in voidElements) || this._options.xmlMode)\n ) {\n var pos = this._stack.lastIndexOf(name);\n if (pos !== -1) {\n if (this._cbs.onclosetag) {\n pos = this._stack.length - pos;\n while (pos--) this._cbs.onclosetag(this._stack.pop());\n } else this._stack.length = pos;\n } else if (name === \"p\" && !this._options.xmlMode) {\n this.onopentagname(name);\n this._closeCurrentTag();\n }\n } else if (!this._options.xmlMode && (name === \"br\" || name === \"p\")) {\n this.onopentagname(name);\n this._closeCurrentTag();\n }\n};\n\nParser.prototype.onselfclosingtag = function() {\n if (\n this._options.xmlMode ||\n this._options.recognizeSelfClosing ||\n this._foreignContext[this._foreignContext.length - 1]\n ) {\n this._closeCurrentTag();\n } else {\n this.onopentagend();\n }\n};\n\nParser.prototype._closeCurrentTag = function() {\n var name = this._tagname;\n\n this.onopentagend();\n\n //self-closing tags will be on the top of the stack\n //(cheaper check than in onclosetag)\n if (this._stack[this._stack.length - 1] === name) {\n if (this._cbs.onclosetag) {\n this._cbs.onclosetag(name);\n }\n this._stack.pop();\n \n }\n};\n\nParser.prototype.onattribname = function(name) {\n if (this._lowerCaseAttributeNames) {\n name = name.toLowerCase();\n }\n this._attribname = name;\n};\n\nParser.prototype.onattribdata = function(value) {\n this._attribvalue += value;\n};\n\nParser.prototype.onattribend = function() {\n if (this._cbs.onattribute)\n this._cbs.onattribute(this._attribname, this._attribvalue);\n if (\n this._attribs &&\n !Object.prototype.hasOwnProperty.call(this._attribs, this._attribname)\n ) {\n this._attribs[this._attribname] = this._attribvalue;\n }\n this._attribname = \"\";\n this._attribvalue = \"\";\n};\n\nParser.prototype._getInstructionName = function(value) {\n var idx = value.search(re_nameEnd),\n name = idx < 0 ? value : value.substr(0, idx);\n\n if (this._lowerCaseTagNames) {\n name = name.toLowerCase();\n }\n\n return name;\n};\n\nParser.prototype.ondeclaration = function(value) {\n if (this._cbs.onprocessinginstruction) {\n var name = this._getInstructionName(value);\n this._cbs.onprocessinginstruction(\"!\" + name, \"!\" + value);\n }\n};\n\nParser.prototype.onprocessinginstruction = function(value) {\n if (this._cbs.onprocessinginstruction) {\n var name = this._getInstructionName(value);\n this._cbs.onprocessinginstruction(\"?\" + name, \"?\" + value);\n }\n};\n\nParser.prototype.oncomment = function(value) {\n this._updatePosition(4);\n\n if (this._cbs.oncomment) this._cbs.oncomment(value);\n if (this._cbs.oncommentend) this._cbs.oncommentend();\n};\n\nParser.prototype.oncdata = function(value) {\n this._updatePosition(1);\n\n if (this._options.xmlMode || this._options.recognizeCDATA) {\n if (this._cbs.oncdatastart) this._cbs.oncdatastart();\n if (this._cbs.ontext) this._cbs.ontext(value);\n if (this._cbs.oncdataend) this._cbs.oncdataend();\n } else {\n this.oncomment(\"[CDATA[\" + value + \"]]\");\n }\n};\n\nParser.prototype.onerror = function(err) {\n if (this._cbs.onerror) this._cbs.onerror(err);\n};\n\nParser.prototype.onend = function() {\n if (this._cbs.onclosetag) {\n for (\n var i = this._stack.length;\n i > 0;\n this._cbs.onclosetag(this._stack[--i])\n );\n }\n if (this._cbs.onend) this._cbs.onend();\n};\n\n//Resets the parser to a blank state, ready to parse a new HTML document\nParser.prototype.reset = function() {\n if (this._cbs.onreset) this._cbs.onreset();\n this._tokenizer.reset();\n\n this._tagname = \"\";\n this._attribname = \"\";\n this._attribs = null;\n this._stack = [];\n\n if (this._cbs.onparserinit) this._cbs.onparserinit(this);\n};\n\n//Parses a complete HTML document and pushes it to the handler\nParser.prototype.parseComplete = function(data) {\n this.reset();\n this.end(data);\n};\n\nParser.prototype.write = function(chunk) {\n this._tokenizer.write(chunk);\n};\n\nParser.prototype.end = function(chunk) {\n this._tokenizer.end(chunk);\n};\n\nParser.prototype.pause = function() {\n this._tokenizer.pause();\n};\n\nParser.prototype.resume = function() {\n this._tokenizer.resume();\n};\n\n//alias for backwards compat\nParser.prototype.parseChunk = Parser.prototype.write;\nParser.prototype.done = Parser.prototype.end;\n\nmodule.exports = Parser;\n","module.exports = Tokenizer;\n\nvar decodeCodePoint = require(\"entities/lib/decode_codepoint.js\");\nvar entityMap = require(\"entities/maps/entities.json\");\nvar legacyMap = require(\"entities/maps/legacy.json\");\nvar xmlMap = require(\"entities/maps/xml.json\");\n\nvar i = 0;\n\nvar TEXT = i++;\nvar BEFORE_TAG_NAME = i++; //after <\nvar IN_TAG_NAME = i++;\nvar IN_SELF_CLOSING_TAG = i++;\nvar BEFORE_CLOSING_TAG_NAME = i++;\nvar IN_CLOSING_TAG_NAME = i++;\nvar AFTER_CLOSING_TAG_NAME = i++;\n\n//attributes\nvar BEFORE_ATTRIBUTE_NAME = i++;\nvar IN_ATTRIBUTE_NAME = i++;\nvar AFTER_ATTRIBUTE_NAME = i++;\nvar BEFORE_ATTRIBUTE_VALUE = i++;\nvar IN_ATTRIBUTE_VALUE_DQ = i++; // \"\nvar IN_ATTRIBUTE_VALUE_SQ = i++; // '\nvar IN_ATTRIBUTE_VALUE_NQ = i++;\n\n//declarations\nvar BEFORE_DECLARATION = i++; // !\nvar IN_DECLARATION = i++;\n\n//processing instructions\nvar IN_PROCESSING_INSTRUCTION = i++; // ?\n\n//comments\nvar BEFORE_COMMENT = i++;\nvar IN_COMMENT = i++;\nvar AFTER_COMMENT_1 = i++;\nvar AFTER_COMMENT_2 = i++;\n\n//cdata\nvar BEFORE_CDATA_1 = i++; // [\nvar BEFORE_CDATA_2 = i++; // C\nvar BEFORE_CDATA_3 = i++; // D\nvar BEFORE_CDATA_4 = i++; // A\nvar BEFORE_CDATA_5 = i++; // T\nvar BEFORE_CDATA_6 = i++; // A\nvar IN_CDATA = i++; // [\nvar AFTER_CDATA_1 = i++; // ]\nvar AFTER_CDATA_2 = i++; // ]\n\n//special tags\nvar BEFORE_SPECIAL = i++; //S\nvar BEFORE_SPECIAL_END = i++; //S\n\nvar BEFORE_SCRIPT_1 = i++; //C\nvar BEFORE_SCRIPT_2 = i++; //R\nvar BEFORE_SCRIPT_3 = i++; //I\nvar BEFORE_SCRIPT_4 = i++; //P\nvar BEFORE_SCRIPT_5 = i++; //T\nvar AFTER_SCRIPT_1 = i++; //C\nvar AFTER_SCRIPT_2 = i++; //R\nvar AFTER_SCRIPT_3 = i++; //I\nvar AFTER_SCRIPT_4 = i++; //P\nvar AFTER_SCRIPT_5 = i++; //T\n\nvar BEFORE_STYLE_1 = i++; //T\nvar BEFORE_STYLE_2 = i++; //Y\nvar BEFORE_STYLE_3 = i++; //L\nvar BEFORE_STYLE_4 = i++; //E\nvar AFTER_STYLE_1 = i++; //T\nvar AFTER_STYLE_2 = i++; //Y\nvar AFTER_STYLE_3 = i++; //L\nvar AFTER_STYLE_4 = i++; //E\n\nvar BEFORE_ENTITY = i++; //&\nvar BEFORE_NUMERIC_ENTITY = i++; //#\nvar IN_NAMED_ENTITY = i++;\nvar IN_NUMERIC_ENTITY = i++;\nvar IN_HEX_ENTITY = i++; //X\n\nvar j = 0;\n\nvar SPECIAL_NONE = j++;\nvar SPECIAL_SCRIPT = j++;\nvar SPECIAL_STYLE = j++;\n\nfunction whitespace(c) {\n return c === \" \" || c === \"\\n\" || c === \"\\t\" || c === \"\\f\" || c === \"\\r\";\n}\n\nfunction ifElseState(upper, SUCCESS, FAILURE) {\n var lower = upper.toLowerCase();\n\n if (upper === lower) {\n return function(c) {\n if (c === lower) {\n this._state = SUCCESS;\n } else {\n this._state = FAILURE;\n this._index--;\n }\n };\n } else {\n return function(c) {\n if (c === lower || c === upper) {\n this._state = SUCCESS;\n } else {\n this._state = FAILURE;\n this._index--;\n }\n };\n }\n}\n\nfunction consumeSpecialNameChar(upper, NEXT_STATE) {\n var lower = upper.toLowerCase();\n\n return function(c) {\n if (c === lower || c === upper) {\n this._state = NEXT_STATE;\n } else {\n this._state = IN_TAG_NAME;\n this._index--; //consume the token again\n }\n };\n}\n\nfunction Tokenizer(options, cbs) {\n this._state = TEXT;\n this._buffer = \"\";\n this._sectionStart = 0;\n this._index = 0;\n this._bufferOffset = 0; //chars removed from _buffer\n this._baseState = TEXT;\n this._special = SPECIAL_NONE;\n this._cbs = cbs;\n this._running = true;\n this._ended = false;\n this._xmlMode = !!(options && options.xmlMode);\n this._decodeEntities = !!(options && options.decodeEntities);\n}\n\nTokenizer.prototype._stateText = function(c) {\n if (c === \"<\") {\n if (this._index > this._sectionStart) {\n this._cbs.ontext(this._getSection());\n }\n this._state = BEFORE_TAG_NAME;\n this._sectionStart = this._index;\n } else if (\n this._decodeEntities &&\n this._special === SPECIAL_NONE &&\n c === \"&\"\n ) {\n if (this._index > this._sectionStart) {\n this._cbs.ontext(this._getSection());\n }\n this._baseState = TEXT;\n this._state = BEFORE_ENTITY;\n this._sectionStart = this._index;\n }\n};\n\nTokenizer.prototype._stateBeforeTagName = function(c) {\n if (c === \"/\") {\n this._state = BEFORE_CLOSING_TAG_NAME;\n } else if (c === \"<\") {\n this._cbs.ontext(this._getSection());\n this._sectionStart = this._index;\n } else if (c === \">\" || this._special !== SPECIAL_NONE || whitespace(c)) {\n this._state = TEXT;\n } else if (c === \"!\") {\n this._state = BEFORE_DECLARATION;\n this._sectionStart = this._index + 1;\n } else if (c === \"?\") {\n this._state = IN_PROCESSING_INSTRUCTION;\n this._sectionStart = this._index + 1;\n } else {\n this._state =\n !this._xmlMode && (c === \"s\" || c === \"S\")\n ? BEFORE_SPECIAL\n : IN_TAG_NAME;\n this._sectionStart = this._index;\n }\n};\n\nTokenizer.prototype._stateInTagName = function(c) {\n if (c === \"/\" || c === \">\" || whitespace(c)) {\n this._emitToken(\"onopentagname\");\n this._state = BEFORE_ATTRIBUTE_NAME;\n this._index--;\n }\n};\n\nTokenizer.prototype._stateBeforeCloseingTagName = function(c) {\n if (whitespace(c));\n else if (c === \">\") {\n this._state = TEXT;\n } else if (this._special !== SPECIAL_NONE) {\n if (c === \"s\" || c === \"S\") {\n this._state = BEFORE_SPECIAL_END;\n } else {\n this._state = TEXT;\n this._index--;\n }\n } else {\n this._state = IN_CLOSING_TAG_NAME;\n this._sectionStart = this._index;\n }\n};\n\nTokenizer.prototype._stateInCloseingTagName = function(c) {\n if (c === \">\" || whitespace(c)) {\n this._emitToken(\"onclosetag\");\n this._state = AFTER_CLOSING_TAG_NAME;\n this._index--;\n }\n};\n\nTokenizer.prototype._stateAfterCloseingTagName = function(c) {\n //skip everything until \">\"\n if (c === \">\") {\n this._state = TEXT;\n this._sectionStart = this._index + 1;\n }\n};\n\nTokenizer.prototype._stateBeforeAttributeName = function(c) {\n if (c === \">\") {\n this._cbs.onopentagend();\n this._state = TEXT;\n this._sectionStart = this._index + 1;\n } else if (c === \"/\") {\n this._state = IN_SELF_CLOSING_TAG;\n } else if (!whitespace(c)) {\n this._state = IN_ATTRIBUTE_NAME;\n this._sectionStart = this._index;\n }\n};\n\nTokenizer.prototype._stateInSelfClosingTag = function(c) {\n if (c === \">\") {\n this._cbs.onselfclosingtag();\n this._state = TEXT;\n this._sectionStart = this._index + 1;\n } else if (!whitespace(c)) {\n this._state = BEFORE_ATTRIBUTE_NAME;\n this._index--;\n }\n};\n\nTokenizer.prototype._stateInAttributeName = function(c) {\n if (c === \"=\" || c === \"/\" || c === \">\" || whitespace(c)) {\n this._cbs.onattribname(this._getSection());\n this._sectionStart = -1;\n this._state = AFTER_ATTRIBUTE_NAME;\n this._index--;\n }\n};\n\nTokenizer.prototype._stateAfterAttributeName = function(c) {\n if (c === \"=\") {\n this._state = BEFORE_ATTRIBUTE_VALUE;\n } else if (c === \"/\" || c === \">\") {\n this._cbs.onattribend();\n this._state = BEFORE_ATTRIBUTE_NAME;\n this._index--;\n } else if (!whitespace(c)) {\n this._cbs.onattribend();\n this._state = IN_ATTRIBUTE_NAME;\n this._sectionStart = this._index;\n }\n};\n\nTokenizer.prototype._stateBeforeAttributeValue = function(c) {\n if (c === '\"') {\n this._state = IN_ATTRIBUTE_VALUE_DQ;\n this._sectionStart = this._index + 1;\n } else if (c === \"'\") {\n this._state = IN_ATTRIBUTE_VALUE_SQ;\n this._sectionStart = this._index + 1;\n } else if (!whitespace(c)) {\n this._state = IN_ATTRIBUTE_VALUE_NQ;\n this._sectionStart = this._index;\n this._index--; //reconsume token\n }\n};\n\nTokenizer.prototype._stateInAttributeValueDoubleQuotes = function(c) {\n if (c === '\"') {\n this._emitToken(\"onattribdata\");\n this._cbs.onattribend();\n this._state = BEFORE_ATTRIBUTE_NAME;\n } else if (this._decodeEntities && c === \"&\") {\n this._emitToken(\"onattribdata\");\n this._baseState = this._state;\n this._state = BEFORE_ENTITY;\n this._sectionStart = this._index;\n }\n};\n\nTokenizer.prototype._stateInAttributeValueSingleQuotes = function(c) {\n if (c === \"'\") {\n this._emitToken(\"onattribdata\");\n this._cbs.onattribend();\n this._state = BEFORE_ATTRIBUTE_NAME;\n } else if (this._decodeEntities && c === \"&\") {\n this._emitToken(\"onattribdata\");\n this._baseState = this._state;\n this._state = BEFORE_ENTITY;\n this._sectionStart = this._index;\n }\n};\n\nTokenizer.prototype._stateInAttributeValueNoQuotes = function(c) {\n if (whitespace(c) || c === \">\") {\n this._emitToken(\"onattribdata\");\n this._cbs.onattribend();\n this._state = BEFORE_ATTRIBUTE_NAME;\n this._index--;\n } else if (this._decodeEntities && c === \"&\") {\n this._emitToken(\"onattribdata\");\n this._baseState = this._state;\n this._state = BEFORE_ENTITY;\n this._sectionStart = this._index;\n }\n};\n\nTokenizer.prototype._stateBeforeDeclaration = function(c) {\n this._state =\n c === \"[\"\n ? BEFORE_CDATA_1\n : c === \"-\"\n ? BEFORE_COMMENT\n : IN_DECLARATION;\n};\n\nTokenizer.prototype._stateInDeclaration = function(c) {\n if (c === \">\") {\n this._cbs.ondeclaration(this._getSection());\n this._state = TEXT;\n this._sectionStart = this._index + 1;\n }\n};\n\nTokenizer.prototype._stateInProcessingInstruction = function(c) {\n if (c === \">\") {\n this._cbs.onprocessinginstruction(this._getSection());\n this._state = TEXT;\n this._sectionStart = this._index + 1;\n }\n};\n\nTokenizer.prototype._stateBeforeComment = function(c) {\n if (c === \"-\") {\n this._state = IN_COMMENT;\n this._sectionStart = this._index + 1;\n } else {\n this._state = IN_DECLARATION;\n }\n};\n\nTokenizer.prototype._stateInComment = function(c) {\n if (c === \"-\") this._state = AFTER_COMMENT_1;\n};\n\nTokenizer.prototype._stateAfterComment1 = function(c) {\n if (c === \"-\") {\n this._state = AFTER_COMMENT_2;\n } else {\n this._state = IN_COMMENT;\n }\n};\n\nTokenizer.prototype._stateAfterComment2 = function(c) {\n if (c === \">\") {\n //remove 2 trailing chars\n this._cbs.oncomment(\n this._buffer.substring(this._sectionStart, this._index - 2)\n );\n this._state = TEXT;\n this._sectionStart = this._index + 1;\n } else if (c !== \"-\") {\n this._state = IN_COMMENT;\n }\n // else: stay in AFTER_COMMENT_2 (`--->`)\n};\n\nTokenizer.prototype._stateBeforeCdata1 = ifElseState(\n \"C\",\n BEFORE_CDATA_2,\n IN_DECLARATION\n);\nTokenizer.prototype._stateBeforeCdata2 = ifElseState(\n \"D\",\n BEFORE_CDATA_3,\n IN_DECLARATION\n);\nTokenizer.prototype._stateBeforeCdata3 = ifElseState(\n \"A\",\n BEFORE_CDATA_4,\n IN_DECLARATION\n);\nTokenizer.prototype._stateBeforeCdata4 = ifElseState(\n \"T\",\n BEFORE_CDATA_5,\n IN_DECLARATION\n);\nTokenizer.prototype._stateBeforeCdata5 = ifElseState(\n \"A\",\n BEFORE_CDATA_6,\n IN_DECLARATION\n);\n\nTokenizer.prototype._stateBeforeCdata6 = function(c) {\n if (c === \"[\") {\n this._state = IN_CDATA;\n this._sectionStart = this._index + 1;\n } else {\n this._state = IN_DECLARATION;\n this._index--;\n }\n};\n\nTokenizer.prototype._stateInCdata = function(c) {\n if (c === \"]\") this._state = AFTER_CDATA_1;\n};\n\nTokenizer.prototype._stateAfterCdata1 = function(c) {\n if (c === \"]\") this._state = AFTER_CDATA_2;\n else this._state = IN_CDATA;\n};\n\nTokenizer.prototype._stateAfterCdata2 = function(c) {\n if (c === \">\") {\n //remove 2 trailing chars\n this._cbs.oncdata(\n this._buffer.substring(this._sectionStart, this._index - 2)\n );\n this._state = TEXT;\n this._sectionStart = this._index + 1;\n } else if (c !== \"]\") {\n this._state = IN_CDATA;\n }\n //else: stay in AFTER_CDATA_2 (`]]]>`)\n};\n\nTokenizer.prototype._stateBeforeSpecial = function(c) {\n if (c === \"c\" || c === \"C\") {\n this._state = BEFORE_SCRIPT_1;\n } else if (c === \"t\" || c === \"T\") {\n this._state = BEFORE_STYLE_1;\n } else {\n this._state = IN_TAG_NAME;\n this._index--; //consume the token again\n }\n};\n\nTokenizer.prototype._stateBeforeSpecialEnd = function(c) {\n if (this._special === SPECIAL_SCRIPT && (c === \"c\" || c === \"C\")) {\n this._state = AFTER_SCRIPT_1;\n } else if (this._special === SPECIAL_STYLE && (c === \"t\" || c === \"T\")) {\n this._state = AFTER_STYLE_1;\n } else this._state = TEXT;\n};\n\nTokenizer.prototype._stateBeforeScript1 = consumeSpecialNameChar(\n \"R\",\n BEFORE_SCRIPT_2\n);\nTokenizer.prototype._stateBeforeScript2 = consumeSpecialNameChar(\n \"I\",\n BEFORE_SCRIPT_3\n);\nTokenizer.prototype._stateBeforeScript3 = consumeSpecialNameChar(\n \"P\",\n BEFORE_SCRIPT_4\n);\nTokenizer.prototype._stateBeforeScript4 = consumeSpecialNameChar(\n \"T\",\n BEFORE_SCRIPT_5\n);\n\nTokenizer.prototype._stateBeforeScript5 = function(c) {\n if (c === \"/\" || c === \">\" || whitespace(c)) {\n this._special = SPECIAL_SCRIPT;\n }\n this._state = IN_TAG_NAME;\n this._index--; //consume the token again\n};\n\nTokenizer.prototype._stateAfterScript1 = ifElseState(\"R\", AFTER_SCRIPT_2, TEXT);\nTokenizer.prototype._stateAfterScript2 = ifElseState(\"I\", AFTER_SCRIPT_3, TEXT);\nTokenizer.prototype._stateAfterScript3 = ifElseState(\"P\", AFTER_SCRIPT_4, TEXT);\nTokenizer.prototype._stateAfterScript4 = ifElseState(\"T\", AFTER_SCRIPT_5, TEXT);\n\nTokenizer.prototype._stateAfterScript5 = function(c) {\n if (c === \">\" || whitespace(c)) {\n this._special = SPECIAL_NONE;\n this._state = IN_CLOSING_TAG_NAME;\n this._sectionStart = this._index - 6;\n this._index--; //reconsume the token\n } else this._state = TEXT;\n};\n\nTokenizer.prototype._stateBeforeStyle1 = consumeSpecialNameChar(\n \"Y\",\n BEFORE_STYLE_2\n);\nTokenizer.prototype._stateBeforeStyle2 = consumeSpecialNameChar(\n \"L\",\n BEFORE_STYLE_3\n);\nTokenizer.prototype._stateBeforeStyle3 = consumeSpecialNameChar(\n \"E\",\n BEFORE_STYLE_4\n);\n\nTokenizer.prototype._stateBeforeStyle4 = function(c) {\n if (c === \"/\" || c === \">\" || whitespace(c)) {\n this._special = SPECIAL_STYLE;\n }\n this._state = IN_TAG_NAME;\n this._index--; //consume the token again\n};\n\nTokenizer.prototype._stateAfterStyle1 = ifElseState(\"Y\", AFTER_STYLE_2, TEXT);\nTokenizer.prototype._stateAfterStyle2 = ifElseState(\"L\", AFTER_STYLE_3, TEXT);\nTokenizer.prototype._stateAfterStyle3 = ifElseState(\"E\", AFTER_STYLE_4, TEXT);\n\nTokenizer.prototype._stateAfterStyle4 = function(c) {\n if (c === \">\" || whitespace(c)) {\n this._special = SPECIAL_NONE;\n this._state = IN_CLOSING_TAG_NAME;\n this._sectionStart = this._index - 5;\n this._index--; //reconsume the token\n } else this._state = TEXT;\n};\n\nTokenizer.prototype._stateBeforeEntity = ifElseState(\n \"#\",\n BEFORE_NUMERIC_ENTITY,\n IN_NAMED_ENTITY\n);\nTokenizer.prototype._stateBeforeNumericEntity = ifElseState(\n \"X\",\n IN_HEX_ENTITY,\n IN_NUMERIC_ENTITY\n);\n\n//for entities terminated with a semicolon\nTokenizer.prototype._parseNamedEntityStrict = function() {\n //offset = 1\n if (this._sectionStart + 1 < this._index) {\n var entity = this._buffer.substring(\n this._sectionStart + 1,\n this._index\n ),\n map = this._xmlMode ? xmlMap : entityMap;\n\n if (map.hasOwnProperty(entity)) {\n this._emitPartial(map[entity]);\n this._sectionStart = this._index + 1;\n }\n }\n};\n\n//parses legacy entities (without trailing semicolon)\nTokenizer.prototype._parseLegacyEntity = function() {\n var start = this._sectionStart + 1,\n limit = this._index - start;\n\n if (limit > 6) limit = 6; //the max length of legacy entities is 6\n\n while (limit >= 2) {\n //the min length of legacy entities is 2\n var entity = this._buffer.substr(start, limit);\n\n if (legacyMap.hasOwnProperty(entity)) {\n this._emitPartial(legacyMap[entity]);\n this._sectionStart += limit + 1;\n return;\n } else {\n limit--;\n }\n }\n};\n\nTokenizer.prototype._stateInNamedEntity = function(c) {\n if (c === \";\") {\n this._parseNamedEntityStrict();\n if (this._sectionStart + 1 < this._index && !this._xmlMode) {\n this._parseLegacyEntity();\n }\n this._state = this._baseState;\n } else if (\n (c < \"a\" || c > \"z\") &&\n (c < \"A\" || c > \"Z\") &&\n (c < \"0\" || c > \"9\")\n ) {\n if (this._xmlMode);\n else if (this._sectionStart + 1 === this._index);\n else if (this._baseState !== TEXT) {\n if (c !== \"=\") {\n this._parseNamedEntityStrict();\n }\n } else {\n this._parseLegacyEntity();\n }\n\n this._state = this._baseState;\n this._index--;\n }\n};\n\nTokenizer.prototype._decodeNumericEntity = function(offset, base) {\n var sectionStart = this._sectionStart + offset;\n\n if (sectionStart !== this._index) {\n //parse entity\n var entity = this._buffer.substring(sectionStart, this._index);\n var parsed = parseInt(entity, base);\n\n this._emitPartial(decodeCodePoint(parsed));\n this._sectionStart = this._index;\n } else {\n this._sectionStart--;\n }\n\n this._state = this._baseState;\n};\n\nTokenizer.prototype._stateInNumericEntity = function(c) {\n if (c === \";\") {\n this._decodeNumericEntity(2, 10);\n this._sectionStart++;\n } else if (c < \"0\" || c > \"9\") {\n if (!this._xmlMode) {\n this._decodeNumericEntity(2, 10);\n } else {\n this._state = this._baseState;\n }\n this._index--;\n }\n};\n\nTokenizer.prototype._stateInHexEntity = function(c) {\n if (c === \";\") {\n this._decodeNumericEntity(3, 16);\n this._sectionStart++;\n } else if (\n (c < \"a\" || c > \"f\") &&\n (c < \"A\" || c > \"F\") &&\n (c < \"0\" || c > \"9\")\n ) {\n if (!this._xmlMode) {\n this._decodeNumericEntity(3, 16);\n } else {\n this._state = this._baseState;\n }\n this._index--;\n }\n};\n\nTokenizer.prototype._cleanup = function() {\n if (this._sectionStart < 0) {\n this._buffer = \"\";\n this._bufferOffset += this._index;\n this._index = 0;\n } else if (this._running) {\n if (this._state === TEXT) {\n if (this._sectionStart !== this._index) {\n this._cbs.ontext(this._buffer.substr(this._sectionStart));\n }\n this._buffer = \"\";\n this._bufferOffset += this._index;\n this._index = 0;\n } else if (this._sectionStart === this._index) {\n //the section just started\n this._buffer = \"\";\n this._bufferOffset += this._index;\n this._index = 0;\n } else {\n //remove everything unnecessary\n this._buffer = this._buffer.substr(this._sectionStart);\n this._index -= this._sectionStart;\n this._bufferOffset += this._sectionStart;\n }\n\n this._sectionStart = 0;\n }\n};\n\n//TODO make events conditional\nTokenizer.prototype.write = function(chunk) {\n if (this._ended) this._cbs.onerror(Error(\".write() after done!\"));\n\n this._buffer += chunk;\n this._parse();\n};\n\nTokenizer.prototype._parse = function() {\n while (this._index < this._buffer.length && this._running) {\n var c = this._buffer.charAt(this._index);\n if (this._state === TEXT) {\n this._stateText(c);\n } else if (this._state === BEFORE_TAG_NAME) {\n this._stateBeforeTagName(c);\n } else if (this._state === IN_TAG_NAME) {\n this._stateInTagName(c);\n } else if (this._state === BEFORE_CLOSING_TAG_NAME) {\n this._stateBeforeCloseingTagName(c);\n } else if (this._state === IN_CLOSING_TAG_NAME) {\n this._stateInCloseingTagName(c);\n } else if (this._state === AFTER_CLOSING_TAG_NAME) {\n this._stateAfterCloseingTagName(c);\n } else if (this._state === IN_SELF_CLOSING_TAG) {\n this._stateInSelfClosingTag(c);\n } else if (this._state === BEFORE_ATTRIBUTE_NAME) {\n\n /*\n\t\t*\tattributes\n\t\t*/\n this._stateBeforeAttributeName(c);\n } else if (this._state === IN_ATTRIBUTE_NAME) {\n this._stateInAttributeName(c);\n } else if (this._state === AFTER_ATTRIBUTE_NAME) {\n this._stateAfterAttributeName(c);\n } else if (this._state === BEFORE_ATTRIBUTE_VALUE) {\n this._stateBeforeAttributeValue(c);\n } else if (this._state === IN_ATTRIBUTE_VALUE_DQ) {\n this._stateInAttributeValueDoubleQuotes(c);\n } else if (this._state === IN_ATTRIBUTE_VALUE_SQ) {\n this._stateInAttributeValueSingleQuotes(c);\n } else if (this._state === IN_ATTRIBUTE_VALUE_NQ) {\n this._stateInAttributeValueNoQuotes(c);\n } else if (this._state === BEFORE_DECLARATION) {\n\n /*\n\t\t*\tdeclarations\n\t\t*/\n this._stateBeforeDeclaration(c);\n } else if (this._state === IN_DECLARATION) {\n this._stateInDeclaration(c);\n } else if (this._state === IN_PROCESSING_INSTRUCTION) {\n\n /*\n\t\t*\tprocessing instructions\n\t\t*/\n this._stateInProcessingInstruction(c);\n } else if (this._state === BEFORE_COMMENT) {\n\n /*\n\t\t*\tcomments\n\t\t*/\n this._stateBeforeComment(c);\n } else if (this._state === IN_COMMENT) {\n this._stateInComment(c);\n } else if (this._state === AFTER_COMMENT_1) {\n this._stateAfterComment1(c);\n } else if (this._state === AFTER_COMMENT_2) {\n this._stateAfterComment2(c);\n } else if (this._state === BEFORE_CDATA_1) {\n\n /*\n\t\t*\tcdata\n\t\t*/\n this._stateBeforeCdata1(c);\n } else if (this._state === BEFORE_CDATA_2) {\n this._stateBeforeCdata2(c);\n } else if (this._state === BEFORE_CDATA_3) {\n this._stateBeforeCdata3(c);\n } else if (this._state === BEFORE_CDATA_4) {\n this._stateBeforeCdata4(c);\n } else if (this._state === BEFORE_CDATA_5) {\n this._stateBeforeCdata5(c);\n } else if (this._state === BEFORE_CDATA_6) {\n this._stateBeforeCdata6(c);\n } else if (this._state === IN_CDATA) {\n this._stateInCdata(c);\n } else if (this._state === AFTER_CDATA_1) {\n this._stateAfterCdata1(c);\n } else if (this._state === AFTER_CDATA_2) {\n this._stateAfterCdata2(c);\n } else if (this._state === BEFORE_SPECIAL) {\n\n /*\n\t\t* special tags\n\t\t*/\n this._stateBeforeSpecial(c);\n } else if (this._state === BEFORE_SPECIAL_END) {\n this._stateBeforeSpecialEnd(c);\n } else if (this._state === BEFORE_SCRIPT_1) {\n\n /*\n\t\t* script\n\t\t*/\n this._stateBeforeScript1(c);\n } else if (this._state === BEFORE_SCRIPT_2) {\n this._stateBeforeScript2(c);\n } else if (this._state === BEFORE_SCRIPT_3) {\n this._stateBeforeScript3(c);\n } else if (this._state === BEFORE_SCRIPT_4) {\n this._stateBeforeScript4(c);\n } else if (this._state === BEFORE_SCRIPT_5) {\n this._stateBeforeScript5(c);\n } else if (this._state === AFTER_SCRIPT_1) {\n this._stateAfterScript1(c);\n } else if (this._state === AFTER_SCRIPT_2) {\n this._stateAfterScript2(c);\n } else if (this._state === AFTER_SCRIPT_3) {\n this._stateAfterScript3(c);\n } else if (this._state === AFTER_SCRIPT_4) {\n this._stateAfterScript4(c);\n } else if (this._state === AFTER_SCRIPT_5) {\n this._stateAfterScript5(c);\n } else if (this._state === BEFORE_STYLE_1) {\n\n /*\n\t\t* style\n\t\t*/\n this._stateBeforeStyle1(c);\n } else if (this._state === BEFORE_STYLE_2) {\n this._stateBeforeStyle2(c);\n } else if (this._state === BEFORE_STYLE_3) {\n this._stateBeforeStyle3(c);\n } else if (this._state === BEFORE_STYLE_4) {\n this._stateBeforeStyle4(c);\n } else if (this._state === AFTER_STYLE_1) {\n this._stateAfterStyle1(c);\n } else if (this._state === AFTER_STYLE_2) {\n this._stateAfterStyle2(c);\n } else if (this._state === AFTER_STYLE_3) {\n this._stateAfterStyle3(c);\n } else if (this._state === AFTER_STYLE_4) {\n this._stateAfterStyle4(c);\n } else if (this._state === BEFORE_ENTITY) {\n\n /*\n\t\t* entities\n\t\t*/\n this._stateBeforeEntity(c);\n } else if (this._state === BEFORE_NUMERIC_ENTITY) {\n this._stateBeforeNumericEntity(c);\n } else if (this._state === IN_NAMED_ENTITY) {\n this._stateInNamedEntity(c);\n } else if (this._state === IN_NUMERIC_ENTITY) {\n this._stateInNumericEntity(c);\n } else if (this._state === IN_HEX_ENTITY) {\n this._stateInHexEntity(c);\n } else {\n this._cbs.onerror(Error(\"unknown _state\"), this._state);\n }\n\n this._index++;\n }\n\n this._cleanup();\n};\n\nTokenizer.prototype.pause = function() {\n this._running = false;\n};\nTokenizer.prototype.resume = function() {\n this._running = true;\n\n if (this._index < this._buffer.length) {\n this._parse();\n }\n if (this._ended) {\n this._finish();\n }\n};\n\nTokenizer.prototype.end = function(chunk) {\n if (this._ended) this._cbs.onerror(Error(\".end() after done!\"));\n if (chunk) this.write(chunk);\n\n this._ended = true;\n\n if (this._running) this._finish();\n};\n\nTokenizer.prototype._finish = function() {\n //if there is remaining data, emit it in a reasonable way\n if (this._sectionStart < this._index) {\n this._handleTrailingData();\n }\n\n this._cbs.onend();\n};\n\nTokenizer.prototype._handleTrailingData = function() {\n var data = this._buffer.substr(this._sectionStart);\n\n if (\n this._state === IN_CDATA ||\n this._state === AFTER_CDATA_1 ||\n this._state === AFTER_CDATA_2\n ) {\n this._cbs.oncdata(data);\n } else if (\n this._state === IN_COMMENT ||\n this._state === AFTER_COMMENT_1 ||\n this._state === AFTER_COMMENT_2\n ) {\n this._cbs.oncomment(data);\n } else if (this._state === IN_NAMED_ENTITY && !this._xmlMode) {\n this._parseLegacyEntity();\n if (this._sectionStart < this._index) {\n this._state = this._baseState;\n this._handleTrailingData();\n }\n } else if (this._state === IN_NUMERIC_ENTITY && !this._xmlMode) {\n this._decodeNumericEntity(2, 10);\n if (this._sectionStart < this._index) {\n this._state = this._baseState;\n this._handleTrailingData();\n }\n } else if (this._state === IN_HEX_ENTITY && !this._xmlMode) {\n this._decodeNumericEntity(3, 16);\n if (this._sectionStart < this._index) {\n this._state = this._baseState;\n this._handleTrailingData();\n }\n } else if (\n this._state !== IN_TAG_NAME &&\n this._state !== BEFORE_ATTRIBUTE_NAME &&\n this._state !== BEFORE_ATTRIBUTE_VALUE &&\n this._state !== AFTER_ATTRIBUTE_NAME &&\n this._state !== IN_ATTRIBUTE_NAME &&\n this._state !== IN_ATTRIBUTE_VALUE_SQ &&\n this._state !== IN_ATTRIBUTE_VALUE_DQ &&\n this._state !== IN_ATTRIBUTE_VALUE_NQ &&\n this._state !== IN_CLOSING_TAG_NAME\n ) {\n this._cbs.ontext(data);\n }\n //else, ignore remaining data\n //TODO add a way to remove current tag\n};\n\nTokenizer.prototype.reset = function() {\n Tokenizer.call(\n this,\n { xmlMode: this._xmlMode, decodeEntities: this._decodeEntities },\n this._cbs\n );\n};\n\nTokenizer.prototype.getAbsoluteIndex = function() {\n return this._bufferOffset + this._index;\n};\n\nTokenizer.prototype._getSection = function() {\n return this._buffer.substring(this._sectionStart, this._index);\n};\n\nTokenizer.prototype._emitToken = function(name) {\n this._cbs[name](this._getSection());\n this._sectionStart = -1;\n};\n\nTokenizer.prototype._emitPartial = function(value) {\n if (this._baseState !== TEXT) {\n this._cbs.onattribdata(value); //TODO implement the new event\n } else {\n this._cbs.ontext(value);\n }\n};\n","var ElementType = require(\"domelementtype\");\n\nvar re_whitespace = /\\s+/g;\nvar NodePrototype = require(\"./lib/node\");\nvar ElementPrototype = require(\"./lib/element\");\n\nfunction DomHandler(callback, options, elementCB){\n\tif(typeof callback === \"object\"){\n\t\telementCB = options;\n\t\toptions = callback;\n\t\tcallback = null;\n\t} else if(typeof options === \"function\"){\n\t\telementCB = options;\n\t\toptions = defaultOpts;\n\t}\n\tthis._callback = callback;\n\tthis._options = options || defaultOpts;\n\tthis._elementCB = elementCB;\n\tthis.dom = [];\n\tthis._done = false;\n\tthis._tagStack = [];\n\tthis._parser = this._parser || null;\n}\n\n//default options\nvar defaultOpts = {\n\tnormalizeWhitespace: false, //Replace all whitespace with single spaces\n\twithStartIndices: false, //Add startIndex properties to nodes\n\twithEndIndices: false, //Add endIndex properties to nodes\n};\n\nDomHandler.prototype.onparserinit = function(parser){\n\tthis._parser = parser;\n};\n\n//Resets the handler back to starting state\nDomHandler.prototype.onreset = function(){\n\tDomHandler.call(this, this._callback, this._options, this._elementCB);\n};\n\n//Signals the handler that parsing is done\nDomHandler.prototype.onend = function(){\n\tif(this._done) return;\n\tthis._done = true;\n\tthis._parser = null;\n\tthis._handleCallback(null);\n};\n\nDomHandler.prototype._handleCallback =\nDomHandler.prototype.onerror = function(error){\n\tif(typeof this._callback === \"function\"){\n\t\tthis._callback(error, this.dom);\n\t} else {\n\t\tif(error) throw error;\n\t}\n};\n\nDomHandler.prototype.onclosetag = function(){\n\t//if(this._tagStack.pop().name !== name) this._handleCallback(Error(\"Tagname didn't match!\"));\n\t\n\tvar elem = this._tagStack.pop();\n\n\tif(this._options.withEndIndices && elem){\n\t\telem.endIndex = this._parser.endIndex;\n\t}\n\n\tif(this._elementCB) this._elementCB(elem);\n};\n\nDomHandler.prototype._createDomElement = function(properties){\n\tif (!this._options.withDomLvl1) return properties;\n\n\tvar element;\n\tif (properties.type === \"tag\") {\n\t\telement = Object.create(ElementPrototype);\n\t} else {\n\t\telement = Object.create(NodePrototype);\n\t}\n\n\tfor (var key in properties) {\n\t\tif (properties.hasOwnProperty(key)) {\n\t\t\telement[key] = properties[key];\n\t\t}\n\t}\n\n\treturn element;\n};\n\nDomHandler.prototype._addDomElement = function(element){\n\tvar parent = this._tagStack[this._tagStack.length - 1];\n\tvar siblings = parent ? parent.children : this.dom;\n\tvar previousSibling = siblings[siblings.length - 1];\n\n\telement.next = null;\n\n\tif(this._options.withStartIndices){\n\t\telement.startIndex = this._parser.startIndex;\n\t}\n\tif(this._options.withEndIndices){\n\t\telement.endIndex = this._parser.endIndex;\n\t}\n\n\tif(previousSibling){\n\t\telement.prev = previousSibling;\n\t\tpreviousSibling.next = element;\n\t} else {\n\t\telement.prev = null;\n\t}\n\n\tsiblings.push(element);\n\telement.parent = parent || null;\n};\n\nDomHandler.prototype.onopentag = function(name, attribs){\n\tvar properties = {\n\t\ttype: name === \"script\" ? ElementType.Script : name === \"style\" ? ElementType.Style : ElementType.Tag,\n\t\tname: name,\n\t\tattribs: attribs,\n\t\tchildren: []\n\t};\n\n\tvar element = this._createDomElement(properties);\n\n\tthis._addDomElement(element);\n\n\tthis._tagStack.push(element);\n};\n\nDomHandler.prototype.ontext = function(data){\n\t//the ignoreWhitespace is officially dropped, but for now,\n\t//it's an alias for normalizeWhitespace\n\tvar normalize = this._options.normalizeWhitespace || this._options.ignoreWhitespace;\n\n\tvar lastTag;\n\n\tif(!this._tagStack.length && this.dom.length && (lastTag = this.dom[this.dom.length-1]).type === ElementType.Text){\n\t\tif(normalize){\n\t\t\tlastTag.data = (lastTag.data + data).replace(re_whitespace, \" \");\n\t\t} else {\n\t\t\tlastTag.data += data;\n\t\t}\n\t} else {\n\t\tif(\n\t\t\tthis._tagStack.length &&\n\t\t\t(lastTag = this._tagStack[this._tagStack.length - 1]) &&\n\t\t\t(lastTag = lastTag.children[lastTag.children.length - 1]) &&\n\t\t\tlastTag.type === ElementType.Text\n\t\t){\n\t\t\tif(normalize){\n\t\t\t\tlastTag.data = (lastTag.data + data).replace(re_whitespace, \" \");\n\t\t\t} else {\n\t\t\t\tlastTag.data += data;\n\t\t\t}\n\t\t} else {\n\t\t\tif(normalize){\n\t\t\t\tdata = data.replace(re_whitespace, \" \");\n\t\t\t}\n\n\t\t\tvar element = this._createDomElement({\n\t\t\t\tdata: data,\n\t\t\t\ttype: ElementType.Text\n\t\t\t});\n\n\t\t\tthis._addDomElement(element);\n\t\t}\n\t}\n};\n\nDomHandler.prototype.oncomment = function(data){\n\tvar lastTag = this._tagStack[this._tagStack.length - 1];\n\n\tif(lastTag && lastTag.type === ElementType.Comment){\n\t\tlastTag.data += data;\n\t\treturn;\n\t}\n\n\tvar properties = {\n\t\tdata: data,\n\t\ttype: ElementType.Comment\n\t};\n\n\tvar element = this._createDomElement(properties);\n\n\tthis._addDomElement(element);\n\tthis._tagStack.push(element);\n};\n\nDomHandler.prototype.oncdatastart = function(){\n\tvar properties = {\n\t\tchildren: [{\n\t\t\tdata: \"\",\n\t\t\ttype: ElementType.Text\n\t\t}],\n\t\ttype: ElementType.CDATA\n\t};\n\n\tvar element = this._createDomElement(properties);\n\n\tthis._addDomElement(element);\n\tthis._tagStack.push(element);\n};\n\nDomHandler.prototype.oncommentend = DomHandler.prototype.oncdataend = function(){\n\tthis._tagStack.pop();\n};\n\nDomHandler.prototype.onprocessinginstruction = function(name, data){\n\tvar element = this._createDomElement({\n\t\tname: name,\n\t\tdata: data,\n\t\ttype: ElementType.Directive\n\t});\n\n\tthis._addDomElement(element);\n};\n\nmodule.exports = DomHandler;\n","// This object will be used as the prototype for Nodes when creating a\n// DOM-Level-1-compliant structure.\nvar NodePrototype = module.exports = {\n\tget firstChild() {\n\t\tvar children = this.children;\n\t\treturn children && children[0] || null;\n\t},\n\tget lastChild() {\n\t\tvar children = this.children;\n\t\treturn children && children[children.length - 1] || null;\n\t},\n\tget nodeType() {\n\t\treturn nodeTypes[this.type] || nodeTypes.element;\n\t}\n};\n\nvar domLvl1 = {\n\ttagName: \"name\",\n\tchildNodes: \"children\",\n\tparentNode: \"parent\",\n\tpreviousSibling: \"prev\",\n\tnextSibling: \"next\",\n\tnodeValue: \"data\"\n};\n\nvar nodeTypes = {\n\telement: 1,\n\ttext: 3,\n\tcdata: 4,\n\tcomment: 8\n};\n\nObject.keys(domLvl1).forEach(function(key) {\n\tvar shorthand = domLvl1[key];\n\tObject.defineProperty(NodePrototype, key, {\n\t\tget: function() {\n\t\t\treturn this[shorthand] || null;\n\t\t},\n\t\tset: function(val) {\n\t\t\tthis[shorthand] = val;\n\t\t\treturn val;\n\t\t}\n\t});\n});\n","var DomUtils = module.exports;\n\n[\n\trequire(\"./lib/stringify\"),\n\trequire(\"./lib/traversal\"),\n\trequire(\"./lib/manipulation\"),\n\trequire(\"./lib/querying\"),\n\trequire(\"./lib/legacy\"),\n\trequire(\"./lib/helpers\")\n].forEach(function(ext){\n\tObject.keys(ext).forEach(function(key){\n\t\tDomUtils[key] = ext[key].bind(DomUtils);\n\t});\n});\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.decodeHTML = exports.decodeHTMLStrict = exports.decodeXML = void 0;\nvar entities_json_1 = __importDefault(require(\"./maps/entities.json\"));\nvar legacy_json_1 = __importDefault(require(\"./maps/legacy.json\"));\nvar xml_json_1 = __importDefault(require(\"./maps/xml.json\"));\nvar decode_codepoint_1 = __importDefault(require(\"./decode_codepoint\"));\nexports.decodeXML = getStrictDecoder(xml_json_1.default);\nexports.decodeHTMLStrict = getStrictDecoder(entities_json_1.default);\nfunction getStrictDecoder(map) {\n var keys = Object.keys(map).join(\"|\");\n var replace = getReplacer(map);\n keys += \"|#[xX][\\\\da-fA-F]+|#\\\\d+\";\n var re = new RegExp(\"&(?:\" + keys + \");\", \"g\");\n return function (str) { return String(str).replace(re, replace); };\n}\nvar sorter = function (a, b) { return (a < b ? 1 : -1); };\nexports.decodeHTML = (function () {\n var legacy = Object.keys(legacy_json_1.default).sort(sorter);\n var keys = Object.keys(entities_json_1.default).sort(sorter);\n for (var i = 0, j = 0; i < keys.length; i++) {\n if (legacy[j] === keys[i]) {\n keys[i] += \";?\";\n j++;\n }\n else {\n keys[i] += \";\";\n }\n }\n var re = new RegExp(\"&(?:\" + keys.join(\"|\") + \"|#[xX][\\\\da-fA-F]+;?|#\\\\d+;?)\", \"g\");\n var replace = getReplacer(entities_json_1.default);\n function replacer(str) {\n if (str.substr(-1) !== \";\")\n str += \";\";\n return replace(str);\n }\n //TODO consider creating a merged map\n return function (str) { return String(str).replace(re, replacer); };\n})();\nfunction getReplacer(map) {\n return function replace(str) {\n if (str.charAt(1) === \"#\") {\n var secondChar = str.charAt(2);\n if (secondChar === \"X\" || secondChar === \"x\") {\n return decode_codepoint_1.default(parseInt(str.substr(3), 16));\n }\n return decode_codepoint_1.default(parseInt(str.substr(2), 10));\n }\n return map[str.slice(1, -1)];\n };\n}\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.escape = exports.encodeHTML = exports.encodeXML = void 0;\nvar xml_json_1 = __importDefault(require(\"./maps/xml.json\"));\nvar inverseXML = getInverseObj(xml_json_1.default);\nvar xmlReplacer = getInverseReplacer(inverseXML);\nexports.encodeXML = getInverse(inverseXML, xmlReplacer);\nvar entities_json_1 = __importDefault(require(\"./maps/entities.json\"));\nvar inverseHTML = getInverseObj(entities_json_1.default);\nvar htmlReplacer = getInverseReplacer(inverseHTML);\nexports.encodeHTML = getInverse(inverseHTML, htmlReplacer);\nfunction getInverseObj(obj) {\n return Object.keys(obj)\n .sort()\n .reduce(function (inverse, name) {\n inverse[obj[name]] = \"&\" + name + \";\";\n return inverse;\n }, {});\n}\nfunction getInverseReplacer(inverse) {\n var single = [];\n var multiple = [];\n for (var _i = 0, _a = Object.keys(inverse); _i < _a.length; _i++) {\n var k = _a[_i];\n if (k.length === 1) {\n // Add value to single array\n single.push(\"\\\\\" + k);\n }\n else {\n // Add value to multiple array\n multiple.push(k);\n }\n }\n // Add ranges to single characters.\n single.sort();\n for (var start = 0; start < single.length - 1; start++) {\n // Find the end of a run of characters\n var end = start;\n while (end < single.length - 1 &&\n single[end].charCodeAt(1) + 1 === single[end + 1].charCodeAt(1)) {\n end += 1;\n }\n var count = 1 + end - start;\n // We want to replace at least three characters\n if (count < 3)\n continue;\n single.splice(start, count, single[start] + \"-\" + single[end]);\n }\n multiple.unshift(\"[\" + single.join(\"\") + \"]\");\n return new RegExp(multiple.join(\"|\"), \"g\");\n}\nvar reNonASCII = /(?:[\\x80-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])/g;\nfunction singleCharReplacer(c) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return \"&#x\" + c.codePointAt(0).toString(16).toUpperCase() + \";\";\n}\nfunction getInverse(inverse, re) {\n return function (data) {\n return data\n .replace(re, function (name) { return inverse[name]; })\n .replace(reNonASCII, singleCharReplacer);\n };\n}\nvar reXmlChars = getInverseReplacer(inverseXML);\nfunction escape(data) {\n return data\n .replace(reXmlChars, singleCharReplacer)\n .replace(reNonASCII, singleCharReplacer);\n}\nexports.escape = escape;\n","module.exports = Stream;\n\nvar Parser = require(\"./Parser.js\");\nvar WritableStream = require(\"readable-stream\").Writable;\nvar StringDecoder = require(\"string_decoder\").StringDecoder;\nvar Buffer = require(\"buffer\").Buffer;\n\nfunction Stream(cbs, options) {\n var parser = (this._parser = new Parser(cbs, options));\n var decoder = (this._decoder = new StringDecoder());\n\n WritableStream.call(this, { decodeStrings: false });\n\n this.once(\"finish\", function() {\n parser.end(decoder.end());\n });\n}\n\nrequire(\"inherits\")(Stream, WritableStream);\n\nStream.prototype._write = function(chunk, encoding, cb) {\n if (chunk instanceof Buffer) chunk = this._decoder.write(chunk);\n this._parser.write(chunk);\n cb();\n};\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports.default = generatePropsFromAttributes;\n\nvar _htmlAttributesToReact = require('./htmlAttributesToReact');\n\nvar _htmlAttributesToReact2 = _interopRequireDefault(_htmlAttributesToReact);\n\nvar _inlineStyleToObject = require('./inlineStyleToObject');\n\nvar _inlineStyleToObject2 = _interopRequireDefault(_inlineStyleToObject);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Generates props for a React element from an object of HTML attributes\n *\n * @param {Object} attributes The HTML attributes\n * @param {String} key The key to give the react element\n */\nfunction generatePropsFromAttributes(attributes, key) {\n\n // generate props\n var props = _extends({}, (0, _htmlAttributesToReact2.default)(attributes), { key: key });\n\n // if there is an inline/string style prop then convert it to a React style object\n // otherwise, it is invalid and omitted\n if (typeof props.style === 'string' || props.style instanceof String) {\n props.style = (0, _inlineStyleToObject2.default)(props.style);\n } else {\n delete props.style;\n }\n\n return props;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isValidTagOrAttributeName;\nvar VALID_TAG_REGEX = /^[a-zA-Z][a-zA-Z:_\\.\\-\\d]*$/;\n\nvar nameCache = {};\n\nfunction isValidTagOrAttributeName(tagName) {\n if (!nameCache.hasOwnProperty(tagName)) {\n nameCache[tagName] = VALID_TAG_REGEX.test(tagName);\n }\n return nameCache[tagName];\n}","export default function symbolObservablePonyfill(root) {\n\tvar result;\n\tvar Symbol = root.Symbol;\n\n\tif (typeof Symbol === 'function') {\n\t\tif (Symbol.observable) {\n\t\t\tresult = Symbol.observable;\n\t\t} else {\n\t\t\tresult = Symbol('observable');\n\t\t\tSymbol.observable = result;\n\t\t}\n\t} else {\n\t\tresult = '@@observable';\n\t}\n\n\treturn result;\n};\n","\"use strict\";\n\nvar compose = require('redux').compose;\n\nexports.__esModule = true;\nexports.composeWithDevTools = (\n typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ?\n window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ :\n function() {\n if (arguments.length === 0) return undefined;\n if (typeof arguments[0] === 'object') return compose;\n return compose.apply(null, arguments);\n }\n);\n\nexports.devToolsEnhancer = (\n typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION__ ?\n window.__REDUX_DEVTOOLS_EXTENSION__ :\n function() { return function(noop) { return noop; } }\n);\n","function createThunkMiddleware(extraArgument) {\n return function (_ref) {\n var dispatch = _ref.dispatch,\n getState = _ref.getState;\n return function (next) {\n return function (action) {\n if (typeof action === 'function') {\n return action(dispatch, getState, extraArgument);\n }\n\n return next(action);\n };\n };\n };\n}\n\nvar thunk = createThunkMiddleware();\nthunk.withExtraArgument = createThunkMiddleware;\n\nexport default thunk;","// @flow\n'use strict';\n\nvar key = '__global_unique_id__';\n\nmodule.exports = function() {\n return global[key] = (global[key] || 0) + 1;\n};\n","'use strict';\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar React = require('react');\nvar React__default = _interopDefault(React);\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nfunction withSideEffect(reducePropsToState, handleStateChangeOnClient, mapStateOnServer) {\n if (typeof reducePropsToState !== 'function') {\n throw new Error('Expected reducePropsToState to be a function.');\n }\n\n if (typeof handleStateChangeOnClient !== 'function') {\n throw new Error('Expected handleStateChangeOnClient to be a function.');\n }\n\n if (typeof mapStateOnServer !== 'undefined' && typeof mapStateOnServer !== 'function') {\n throw new Error('Expected mapStateOnServer to either be undefined or a function.');\n }\n\n function getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n }\n\n return function wrap(WrappedComponent) {\n if (typeof WrappedComponent !== 'function') {\n throw new Error('Expected WrappedComponent to be a React component.');\n }\n\n var mountedInstances = [];\n var state;\n\n function emitChange() {\n state = reducePropsToState(mountedInstances.map(function (instance) {\n return instance.props;\n }));\n\n if (SideEffect.canUseDOM) {\n handleStateChangeOnClient(state);\n } else if (mapStateOnServer) {\n state = mapStateOnServer(state);\n }\n }\n\n var SideEffect = /*#__PURE__*/function (_PureComponent) {\n _inheritsLoose(SideEffect, _PureComponent);\n\n function SideEffect() {\n return _PureComponent.apply(this, arguments) || this;\n }\n\n // Try to use displayName of wrapped component\n // Expose canUseDOM so tests can monkeypatch it\n SideEffect.peek = function peek() {\n return state;\n };\n\n SideEffect.rewind = function rewind() {\n if (SideEffect.canUseDOM) {\n throw new Error('You may only call rewind() on the server. Call peek() to read the current state.');\n }\n\n var recordedState = state;\n state = undefined;\n mountedInstances = [];\n return recordedState;\n };\n\n var _proto = SideEffect.prototype;\n\n _proto.UNSAFE_componentWillMount = function UNSAFE_componentWillMount() {\n mountedInstances.push(this);\n emitChange();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n emitChange();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n var index = mountedInstances.indexOf(this);\n mountedInstances.splice(index, 1);\n emitChange();\n };\n\n _proto.render = function render() {\n return /*#__PURE__*/React__default.createElement(WrappedComponent, this.props);\n };\n\n return SideEffect;\n }(React.PureComponent);\n\n _defineProperty(SideEffect, \"displayName\", \"SideEffect(\" + getDisplayName(WrappedComponent) + \")\");\n\n _defineProperty(SideEffect, \"canUseDOM\", canUseDOM);\n\n return SideEffect;\n };\n}\n\nmodule.exports = withSideEffect;\n","/* global Map:readonly, Set:readonly, ArrayBuffer:readonly */\n\nvar hasElementType = typeof Element !== 'undefined';\nvar hasMap = typeof Map === 'function';\nvar hasSet = typeof Set === 'function';\nvar hasArrayBuffer = typeof ArrayBuffer === 'function' && !!ArrayBuffer.isView;\n\n// Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js\n\nfunction equal(a, b) {\n // START: fast-deep-equal es6/index.js 3.1.1\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n // START: Modifications:\n // 1. Extra `has &&` helpers in initial condition allow es6 code\n // to co-exist with es5.\n // 2. Replace `for of` with es5 compliant iteration using `for`.\n // Basically, take:\n //\n // ```js\n // for (i of a.entries())\n // if (!b.has(i[0])) return false;\n // ```\n //\n // ... and convert to:\n //\n // ```js\n // it = a.entries();\n // while (!(i = it.next()).done)\n // if (!b.has(i.value[0])) return false;\n // ```\n //\n // **Note**: `i` access switches to `i.value`.\n var it;\n if (hasMap && (a instanceof Map) && (b instanceof Map)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!equal(i.value[1], b.get(i.value[0]))) return false;\n return true;\n }\n\n if (hasSet && (a instanceof Set) && (b instanceof Set)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n return true;\n }\n // END: Modifications\n\n if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (a[i] !== b[i]) return false;\n return true;\n }\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n // END: fast-deep-equal\n\n // START: react-fast-compare\n // custom handling for DOM elements\n if (hasElementType && a instanceof Element) return false;\n\n // custom handling for React/Preact\n for (i = length; i-- !== 0;) {\n if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner\n // Preact-specific: avoid traversing Preact elements' __v and __o\n // __v = $_original / $_vnode\n // __o = $_owner\n // These properties contain circular references and are not needed when\n // comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of elements\n\n continue;\n }\n\n // all other properties should be traversed as usual\n if (!equal(a[keys[i]], b[keys[i]])) return false;\n }\n // END: react-fast-compare\n\n // START: fast-deep-equal\n return true;\n }\n\n return a !== a && b !== b;\n}\n// end fast-deep-equal\n\nmodule.exports = function isEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if (((error.message || '').match(/stack|recursion/i))) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('react-fast-compare cannot handle circular refs');\n return false;\n }\n // some other error. we should definitely know about these\n throw error;\n }\n};\n","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.EXITING = exports.ENTERED = exports.ENTERING = exports.EXITED = exports.UNMOUNTED = void 0;\n\nvar PropTypes = _interopRequireWildcard(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\n\nvar _reactLifecyclesCompat = require(\"react-lifecycles-compat\");\n\nvar _PropTypes = require(\"./utils/PropTypes\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar UNMOUNTED = 'unmounted';\nexports.UNMOUNTED = UNMOUNTED;\nvar EXITED = 'exited';\nexports.EXITED = EXITED;\nvar ENTERING = 'entering';\nexports.ENTERING = ENTERING;\nvar ENTERED = 'entered';\nexports.ENTERED = ENTERED;\nvar EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 0 },\n * entered: { opacity: 1 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * \n * {state => (\n *
    \n * I'm a fade Transition!\n *
    \n * )}\n *
    \n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n *
    \n * \n * {state => (\n * // ...\n * )}\n * \n * \n *
    \n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nexports.EXITING = EXITING;\n\nvar Transition =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context.transitionGroup; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n var _proto = Transition.prototype;\n\n _proto.getChildContext = function getChildContext() {\n return {\n transitionGroup: null // allows for nested Transitions\n\n };\n };\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n }; // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n var node = _reactDom.default.findDOMNode(this);\n\n if (nextStatus === ENTERING) {\n this.performEnter(node, mounting);\n } else {\n this.performExit(node);\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(node, mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context.transitionGroup ? this.context.transitionGroup.isMounting : mounting;\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(node);\n });\n return;\n }\n\n this.props.onEnter(node, appearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(node, appearing);\n\n _this2.onTransitionEnd(node, enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(node, appearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit(node) {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts(); // no exit animation skip right to EXITED\n\n if (!exit) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(node);\n });\n return;\n }\n\n this.props.onExit(node);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(node);\n\n _this3.onTransitionEnd(node, timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(node);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(node, timeout, handler) {\n this.setNextCallback(handler);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n this.props.addEndListener(node, this.nextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\"]); // filter props for Transtition\n\n\n delete childProps.in;\n delete childProps.mountOnEnter;\n delete childProps.unmountOnExit;\n delete childProps.appear;\n delete childProps.enter;\n delete childProps.exit;\n delete childProps.timeout;\n delete childProps.addEndListener;\n delete childProps.onEnter;\n delete childProps.onEntering;\n delete childProps.onEntered;\n delete childProps.onExit;\n delete childProps.onExiting;\n delete childProps.onExited;\n\n if (typeof children === 'function') {\n return children(status, childProps);\n }\n\n var child = _react.default.Children.only(children);\n\n return _react.default.cloneElement(child, childProps);\n };\n\n return Transition;\n}(_react.default.Component);\n\nTransition.contextTypes = {\n transitionGroup: PropTypes.object\n};\nTransition.childContextTypes = {\n transitionGroup: function transitionGroup() {}\n};\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`, `'unmounted'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * \n * {state => (\n * \n * )}\n * \n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * Normally a component is not transitioned if it is shown when the `` component mounts.\n * If you want to transition on the first mount set `appear` to `true`, and the\n * component will transition in as soon as the `` mounts.\n *\n * > Note: there are no specific \"appear\" states. `appear` only adds an additional `enter` transition.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = _PropTypes.timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. **Note:** Timeouts are still used as a fallback if provided.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func // Name the function so it is clearer in the documentation\n\n} : {};\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = 0;\nTransition.EXITED = 1;\nTransition.ENTERING = 2;\nTransition.ENTERED = 3;\nTransition.EXITING = 4;\n\nvar _default = (0, _reactLifecyclesCompat.polyfill)(Transition);\n\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactLifecyclesCompat = require(\"react-lifecycles-compat\");\n\nvar _ChildMapping = require(\"./utils/ChildMapping\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nvar values = Object.values || function (obj) {\n return Object.keys(obj).map(function (k) {\n return obj[k];\n });\n};\n\nvar defaultProps = {\n component: 'div',\n childFactory: function childFactory(child) {\n return child;\n }\n /**\n * The `` component manages a set of transition components\n * (`` and ``) in a list. Like with the transition\n * components, `` is a state machine for managing the mounting\n * and unmounting of components over time.\n *\n * Consider the example below. As items are removed or added to the TodoList the\n * `in` prop is toggled automatically by the ``.\n *\n * Note that `` does not define any animation behavior!\n * Exactly _how_ a list item animates is up to the individual transition\n * component. This means you can mix and match animations across different list\n * items.\n */\n\n};\n\nvar TransitionGroup =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(TransitionGroup, _React$Component);\n\n function TransitionGroup(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n\n var handleExited = _this.handleExited.bind(_assertThisInitialized(_assertThisInitialized(_this))); // Initial children should all be entering, dependent on appear\n\n\n _this.state = {\n handleExited: handleExited,\n firstRender: true\n };\n return _this;\n }\n\n var _proto = TransitionGroup.prototype;\n\n _proto.getChildContext = function getChildContext() {\n return {\n transitionGroup: {\n isMounting: !this.appeared\n }\n };\n };\n\n _proto.componentDidMount = function componentDidMount() {\n this.appeared = true;\n this.mounted = true;\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n var prevChildMapping = _ref.children,\n handleExited = _ref.handleExited,\n firstRender = _ref.firstRender;\n return {\n children: firstRender ? (0, _ChildMapping.getInitialChildMapping)(nextProps, handleExited) : (0, _ChildMapping.getNextChildMapping)(nextProps, prevChildMapping, handleExited),\n firstRender: false\n };\n };\n\n _proto.handleExited = function handleExited(child, node) {\n var currentChildMapping = (0, _ChildMapping.getChildMapping)(this.props.children);\n if (child.key in currentChildMapping) return;\n\n if (child.props.onExited) {\n child.props.onExited(node);\n }\n\n if (this.mounted) {\n this.setState(function (state) {\n var children = _extends({}, state.children);\n\n delete children[child.key];\n return {\n children: children\n };\n });\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n Component = _this$props.component,\n childFactory = _this$props.childFactory,\n props = _objectWithoutPropertiesLoose(_this$props, [\"component\", \"childFactory\"]);\n\n var children = values(this.state.children).map(childFactory);\n delete props.appear;\n delete props.enter;\n delete props.exit;\n\n if (Component === null) {\n return children;\n }\n\n return _react.default.createElement(Component, props, children);\n };\n\n return TransitionGroup;\n}(_react.default.Component);\n\nTransitionGroup.childContextTypes = {\n transitionGroup: _propTypes.default.object.isRequired\n};\nTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * `` renders a `
    ` by default. You can change this\n * behavior by providing a `component` prop.\n * If you use React v16+ and would like to avoid a wrapping `
    ` element\n * you can pass in `component={null}`. This is useful if the wrapping div\n * borks your css styles.\n */\n component: _propTypes.default.any,\n\n /**\n * A set of `` components, that are toggled `in` and out as they\n * leave. the `` will inject specific transition props, so\n * remember to spread them through if you are wrapping the `` as\n * with our `` example.\n *\n * While this component is meant for multiple `Transition` or `CSSTransition`\n * children, sometimes you may want to have a single transition child with\n * content that you want to be transitioned out and in when you change it\n * (e.g. routes, images etc.) In that case you can change the `key` prop of\n * the transition child as you change its content, this will cause\n * `TransitionGroup` to transition the child out and back in.\n */\n children: _propTypes.default.node,\n\n /**\n * A convenience prop that enables or disables appear animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n appear: _propTypes.default.bool,\n\n /**\n * A convenience prop that enables or disables enter animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n enter: _propTypes.default.bool,\n\n /**\n * A convenience prop that enables or disables exit animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n exit: _propTypes.default.bool,\n\n /**\n * You may need to apply reactive updates to a child as it is exiting.\n * This is generally done by using `cloneElement` however in the case of an exiting\n * child the element has already been removed and not accessible to the consumer.\n *\n * If you do need to update a child as it leaves you can provide a `childFactory`\n * to wrap every child, even the ones that are leaving.\n *\n * @type Function(child: ReactElement) -> ReactElement\n */\n childFactory: _propTypes.default.func\n} : {};\nTransitionGroup.defaultProps = defaultProps;\n\nvar _default = (0, _reactLifecyclesCompat.polyfill)(TransitionGroup);\n\nexports.default = _default;\nmodule.exports = exports[\"default\"];","'use strict';\n\nvar React = require('react');\nvar ReactDOM = require('react-dom');\nvar PropTypes = require('prop-types');\nvar className = require('classnames');\nvar debounce = require('lodash.debounce');\nvar isEqual = require('lodash.isequal');\nvar createReactClass = require('create-react-class');\n\nfunction normalizeLineEndings(str) {\n\tif (!str) return str;\n\treturn str.replace(/\\r\\n|\\r/g, '\\n');\n}\n\nvar CodeMirror = createReactClass({\n\tpropTypes: {\n\t\tautoFocus: PropTypes.bool,\n\t\tclassName: PropTypes.any,\n\t\tcodeMirrorInstance: PropTypes.func,\n\t\tdefaultValue: PropTypes.string,\n\t\tname: PropTypes.string,\n\t\tonChange: PropTypes.func,\n\t\tonCursorActivity: PropTypes.func,\n\t\tonFocusChange: PropTypes.func,\n\t\tonScroll: PropTypes.func,\n\t\toptions: PropTypes.object,\n\t\tpath: PropTypes.string,\n\t\tvalue: PropTypes.string,\n\t\tpreserveScrollPosition: PropTypes.bool\n\t},\n\tgetDefaultProps: function getDefaultProps() {\n\t\treturn {\n\t\t\tpreserveScrollPosition: false\n\t\t};\n\t},\n\tgetCodeMirrorInstance: function getCodeMirrorInstance() {\n\t\treturn this.props.codeMirrorInstance || require('codemirror');\n\t},\n\tgetInitialState: function getInitialState() {\n\t\treturn {\n\t\t\tisFocused: false\n\t\t};\n\t},\n\tcomponentWillMount: function componentWillMount() {\n\t\tthis.componentWillReceiveProps = debounce(this.componentWillReceiveProps, 0);\n\t\tif (this.props.path) {\n\t\t\tconsole.error('Warning: react-codemirror: the `path` prop has been changed to `name`');\n\t\t}\n\t},\n\tcomponentDidMount: function componentDidMount() {\n\t\tvar codeMirrorInstance = this.getCodeMirrorInstance();\n\t\tthis.codeMirror = codeMirrorInstance.fromTextArea(this.textareaNode, this.props.options);\n\t\tthis.codeMirror.on('change', this.codemirrorValueChanged);\n\t\tthis.codeMirror.on('cursorActivity', this.cursorActivity);\n\t\tthis.codeMirror.on('focus', this.focusChanged.bind(this, true));\n\t\tthis.codeMirror.on('blur', this.focusChanged.bind(this, false));\n\t\tthis.codeMirror.on('scroll', this.scrollChanged);\n\t\tthis.codeMirror.setValue(this.props.defaultValue || this.props.value || '');\n\t},\n\tcomponentWillUnmount: function componentWillUnmount() {\n\t\t// is there a lighter-weight way to remove the cm instance?\n\t\tif (this.codeMirror) {\n\t\t\tthis.codeMirror.toTextArea();\n\t\t}\n\t},\n\tcomponentWillReceiveProps: function componentWillReceiveProps(nextProps) {\n\t\tif (this.codeMirror && nextProps.value !== undefined && nextProps.value !== this.props.value && normalizeLineEndings(this.codeMirror.getValue()) !== normalizeLineEndings(nextProps.value)) {\n\t\t\tif (this.props.preserveScrollPosition) {\n\t\t\t\tvar prevScrollPosition = this.codeMirror.getScrollInfo();\n\t\t\t\tthis.codeMirror.setValue(nextProps.value);\n\t\t\t\tthis.codeMirror.scrollTo(prevScrollPosition.left, prevScrollPosition.top);\n\t\t\t} else {\n\t\t\t\tthis.codeMirror.setValue(nextProps.value);\n\t\t\t}\n\t\t}\n\t\tif (typeof nextProps.options === 'object') {\n\t\t\tfor (var optionName in nextProps.options) {\n\t\t\t\tif (nextProps.options.hasOwnProperty(optionName)) {\n\t\t\t\t\tthis.setOptionIfChanged(optionName, nextProps.options[optionName]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\tsetOptionIfChanged: function setOptionIfChanged(optionName, newValue) {\n\t\tvar oldValue = this.codeMirror.getOption(optionName);\n\t\tif (!isEqual(oldValue, newValue)) {\n\t\t\tthis.codeMirror.setOption(optionName, newValue);\n\t\t}\n\t},\n\tgetCodeMirror: function getCodeMirror() {\n\t\treturn this.codeMirror;\n\t},\n\tfocus: function focus() {\n\t\tif (this.codeMirror) {\n\t\t\tthis.codeMirror.focus();\n\t\t}\n\t},\n\tfocusChanged: function focusChanged(focused) {\n\t\tthis.setState({\n\t\t\tisFocused: focused\n\t\t});\n\t\tthis.props.onFocusChange && this.props.onFocusChange(focused);\n\t},\n\tcursorActivity: function cursorActivity(cm) {\n\t\tthis.props.onCursorActivity && this.props.onCursorActivity(cm);\n\t},\n\tscrollChanged: function scrollChanged(cm) {\n\t\tthis.props.onScroll && this.props.onScroll(cm.getScrollInfo());\n\t},\n\tcodemirrorValueChanged: function codemirrorValueChanged(doc, change) {\n\t\tif (this.props.onChange && change.origin !== 'setValue') {\n\t\t\tthis.props.onChange(doc.getValue(), change);\n\t\t}\n\t},\n\trender: function render() {\n\t\tvar _this = this;\n\n\t\tvar editorClassName = className('ReactCodeMirror', this.state.isFocused ? 'ReactCodeMirror--focused' : null, this.props.className);\n\t\treturn React.createElement(\n\t\t\t'div',\n\t\t\t{ className: editorClassName },\n\t\t\tReact.createElement('textarea', {\n\t\t\t\tref: function (ref) {\n\t\t\t\t\treturn _this.textareaNode = ref;\n\t\t\t\t},\n\t\t\t\tname: this.props.name || this.props.path,\n\t\t\t\tdefaultValue: this.props.value,\n\t\t\t\tautoComplete: 'off',\n\t\t\t\tautoFocus: this.props.autoFocus\n\t\t\t})\n\t\t);\n\t}\n});\n\nmodule.exports = CodeMirror;","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",f=\"month\",h=\"quarter\",c=\"year\",d=\"date\",$=\"Invalid Date\",l=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\")},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},g={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()P.length&&P.push(a)}\nfunction S(a,b,c,d){var e=typeof a;if(\"undefined\"===e||\"boolean\"===e)a=null;var g=!1;if(null===a)g=!0;else switch(e){case \"string\":case \"number\":g=!0;break;case \"object\":switch(a.$$typeof){case p:case q:g=!0}}if(g)return c(d,a,\"\"===b?\".\"+T(a,0):b),1;g=0;b=\"\"===b?\".\":b+\":\";if(Array.isArray(a))for(var l=0;lb}return!1}function B(a,b,c,d,e,f){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f}var C={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){C[a]=new B(a,0,!1,a,null,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];C[b]=new B(b,1,!1,a[1],null,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){C[a]=new B(a,2,!1,a.toLowerCase(),null,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){C[a]=new B(a,2,!1,a,null,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){C[a]=new B(a,3,!1,a.toLowerCase(),null,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){C[a]=new B(a,3,!0,a,null,!1)});[\"capture\",\"download\"].forEach(function(a){C[a]=new B(a,4,!1,a,null,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){C[a]=new B(a,6,!1,a,null,!1)});[\"rowSpan\",\"start\"].forEach(function(a){C[a]=new B(a,5,!1,a.toLowerCase(),null,!1)});var rb=/[\\-:]([a-z])/g;function sb(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(rb,\nsb);C[b]=new B(b,1,!1,a,null,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(rb,sb);C[b]=new B(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(rb,sb);C[b]=new B(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){C[a]=new B(a,1,!1,a.toLowerCase(),null,!1)});\nC.xlinkHref=new B(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){C[a]=new B(a,1,!1,a.toLowerCase(),null,!0)});function tb(a){switch(typeof a){case \"boolean\":case \"number\":case \"object\":case \"string\":case \"undefined\":return a;default:return\"\"}}\nfunction ub(a,b,c,d){var e=C.hasOwnProperty(b)?C[b]:null;var f=null!==e?0===e.type:d?!1:!(2=b.length))throw t(Error(93));b=b[0]}c=b}null==c&&(c=\"\")}a._wrapperState={initialValue:tb(c)}}\nfunction Mb(a,b){var c=tb(b.value),d=tb(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function Nb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var Ob={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction Pb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function Qb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?Pb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar Rb,Sb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==Ob.svg||\"innerHTML\"in a)a.innerHTML=b;else{Rb=Rb||document.createElement(\"div\");Rb.innerHTML=\"\"+b.valueOf().toString()+\"\";for(b=Rb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction Tb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}function Ub(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var Vb={animationend:Ub(\"Animation\",\"AnimationEnd\"),animationiteration:Ub(\"Animation\",\"AnimationIteration\"),animationstart:Ub(\"Animation\",\"AnimationStart\"),transitionend:Ub(\"Transition\",\"TransitionEnd\")},Wb={},Xb={};\nXa&&(Xb=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete Vb.animationend.animation,delete Vb.animationiteration.animation,delete Vb.animationstart.animation),\"TransitionEvent\"in window||delete Vb.transitionend.transition);function Yb(a){if(Wb[a])return Wb[a];if(!Vb[a])return a;var b=Vb[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Xb)return Wb[a]=b[c];return a}\nvar Zb=Yb(\"animationend\"),$b=Yb(\"animationiteration\"),ac=Yb(\"animationstart\"),bc=Yb(\"transitionend\"),dc=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),ec=!1,fc=[],gc=null,hc=null,ic=null,jc=new Map,kc=new Map,lc=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput close cancel copy cut paste click change contextmenu reset submit\".split(\" \"),\nmc=\"focus blur dragenter dragleave mouseover mouseout pointerover pointerout gotpointercapture lostpointercapture\".split(\" \");function nc(a){var b=oc(a);lc.forEach(function(c){pc(c,a,b)});mc.forEach(function(c){pc(c,a,b)})}function qc(a,b,c,d){return{blockedOn:a,topLevelType:b,eventSystemFlags:c|32,nativeEvent:d}}\nfunction rc(a,b){switch(a){case \"focus\":case \"blur\":gc=null;break;case \"dragenter\":case \"dragleave\":hc=null;break;case \"mouseover\":case \"mouseout\":ic=null;break;case \"pointerover\":case \"pointerout\":jc.delete(b.pointerId);break;case \"gotpointercapture\":case \"lostpointercapture\":kc.delete(b.pointerId)}}function sc(a,b,c,d,e){if(null===a||a.nativeEvent!==e)return qc(b,c,d,e);a.eventSystemFlags|=d;return a}\nfunction tc(a,b,c,d){switch(b){case \"focus\":return gc=sc(gc,a,b,c,d),!0;case \"dragenter\":return hc=sc(hc,a,b,c,d),!0;case \"mouseover\":return ic=sc(ic,a,b,c,d),!0;case \"pointerover\":var e=d.pointerId;jc.set(e,sc(jc.get(e)||null,a,b,c,d));return!0;case \"gotpointercapture\":return e=d.pointerId,kc.set(e,sc(kc.get(e)||null,a,b,c,d)),!0}return!1}function uc(a){if(null!==a.blockedOn)return!1;var b=vc(a.topLevelType,a.eventSystemFlags,a.nativeEvent);return null!==b?(a.blockedOn=b,!1):!0}\nfunction wc(a,b,c){uc(a)&&c.delete(b)}function xc(){for(ec=!1;0this.eventPool.length&&this.eventPool.push(a)}function Oc(a){a.eventPool=[];a.getPooled=Pc;a.release=Qc}var Rc=F.extend({animationName:null,elapsedTime:null,pseudoElement:null}),Sc=F.extend({clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),Tc=F.extend({view:null,detail:null}),Uc=Tc.extend({relatedTarget:null});\nfunction Vc(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}\nvar Wc={Esc:\"Escape\",Spacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},Xc={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",\n116:\"F5\",117:\"F6\",118:\"F7\",119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},Yc={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Zc(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Yc[a])?!!b[a]:!1}function $c(){return Zc}\nvar ad=Tc.extend({key:function(a){if(a.key){var b=Wc[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=Vc(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?Xc[a.keyCode]||\"Unidentified\":\"\"},location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:$c,charCode:function(a){return\"keypress\"===a.type?Vc(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===\na.type?Vc(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),bd=0,cd=0,dd=!1,fd=!1,gd=Tc.extend({screenX:null,screenY:null,clientX:null,clientY:null,pageX:null,pageY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:$c,button:null,buttons:null,relatedTarget:function(a){return a.relatedTarget||(a.fromElement===a.srcElement?a.toElement:a.fromElement)},movementX:function(a){if(\"movementX\"in a)return a.movementX;var b=bd;bd=a.screenX;return dd?\"mousemove\"===a.type?a.screenX-\nb:0:(dd=!0,0)},movementY:function(a){if(\"movementY\"in a)return a.movementY;var b=cd;cd=a.screenY;return fd?\"mousemove\"===a.type?a.screenY-b:0:(fd=!0,0)}}),hd=gd.extend({pointerId:null,width:null,height:null,pressure:null,tangentialPressure:null,tiltX:null,tiltY:null,twist:null,pointerType:null,isPrimary:null}),id=gd.extend({dataTransfer:null}),jd=Tc.extend({touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:$c}),kd=F.extend({propertyName:null,\nelapsedTime:null,pseudoElement:null}),ld=gd.extend({deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in a?-a.wheelDeltaX:0},deltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:null,deltaMode:null}),md=[[\"blur\",\"blur\",0],[\"cancel\",\"cancel\",0],[\"click\",\"click\",0],[\"close\",\"close\",0],[\"contextmenu\",\"contextMenu\",0],[\"copy\",\"copy\",0],[\"cut\",\"cut\",0],[\"auxclick\",\"auxClick\",0],[\"dblclick\",\"doubleClick\",0],[\"dragend\",\"dragEnd\",\n0],[\"dragstart\",\"dragStart\",0],[\"drop\",\"drop\",0],[\"focus\",\"focus\",0],[\"input\",\"input\",0],[\"invalid\",\"invalid\",0],[\"keydown\",\"keyDown\",0],[\"keypress\",\"keyPress\",0],[\"keyup\",\"keyUp\",0],[\"mousedown\",\"mouseDown\",0],[\"mouseup\",\"mouseUp\",0],[\"paste\",\"paste\",0],[\"pause\",\"pause\",0],[\"play\",\"play\",0],[\"pointercancel\",\"pointerCancel\",0],[\"pointerdown\",\"pointerDown\",0],[\"pointerup\",\"pointerUp\",0],[\"ratechange\",\"rateChange\",0],[\"reset\",\"reset\",0],[\"seeked\",\"seeked\",0],[\"submit\",\"submit\",0],[\"touchcancel\",\"touchCancel\",\n0],[\"touchend\",\"touchEnd\",0],[\"touchstart\",\"touchStart\",0],[\"volumechange\",\"volumeChange\",0],[\"drag\",\"drag\",1],[\"dragenter\",\"dragEnter\",1],[\"dragexit\",\"dragExit\",1],[\"dragleave\",\"dragLeave\",1],[\"dragover\",\"dragOver\",1],[\"mousemove\",\"mouseMove\",1],[\"mouseout\",\"mouseOut\",1],[\"mouseover\",\"mouseOver\",1],[\"pointermove\",\"pointerMove\",1],[\"pointerout\",\"pointerOut\",1],[\"pointerover\",\"pointerOver\",1],[\"scroll\",\"scroll\",1],[\"toggle\",\"toggle\",1],[\"touchmove\",\"touchMove\",1],[\"wheel\",\"wheel\",1],[\"abort\",\"abort\",\n2],[Zb,\"animationEnd\",2],[$b,\"animationIteration\",2],[ac,\"animationStart\",2],[\"canplay\",\"canPlay\",2],[\"canplaythrough\",\"canPlayThrough\",2],[\"durationchange\",\"durationChange\",2],[\"emptied\",\"emptied\",2],[\"encrypted\",\"encrypted\",2],[\"ended\",\"ended\",2],[\"error\",\"error\",2],[\"gotpointercapture\",\"gotPointerCapture\",2],[\"load\",\"load\",2],[\"loadeddata\",\"loadedData\",2],[\"loadedmetadata\",\"loadedMetadata\",2],[\"loadstart\",\"loadStart\",2],[\"lostpointercapture\",\"lostPointerCapture\",2],[\"playing\",\"playing\",2],[\"progress\",\n\"progress\",2],[\"seeking\",\"seeking\",2],[\"stalled\",\"stalled\",2],[\"suspend\",\"suspend\",2],[\"timeupdate\",\"timeUpdate\",2],[bc,\"transitionEnd\",2],[\"waiting\",\"waiting\",2]],nd={},od={},pd=0;for(;pd=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Vd(c)}}\nfunction Xd(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Xd(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}function Yd(){for(var a=window,b=Ud();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Ud(a.document)}return b}\nfunction Zd(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}var $d=\"$\",ae=\"/$\",be=\"$?\",ce=\"$!\",de=null,ee=null;function fe(a,b){switch(a){case \"button\":case \"input\":case \"select\":case \"textarea\":return!!b.autoFocus}return!1}\nfunction ge(a,b){return\"textarea\"===a||\"option\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}var he=\"function\"===typeof setTimeout?setTimeout:void 0,ie=\"function\"===typeof clearTimeout?clearTimeout:void 0;function je(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break}return a}\nfunction ke(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(c===$d||c===ce||c===be){if(0===b)return a;b--}else c===ae&&b++}a=a.previousSibling}return null}var le=Math.random().toString(36).slice(2),me=\"__reactInternalInstance$\"+le,ne=\"__reactEventHandlers$\"+le,oe=\"__reactContainere$\"+le;\nfunction Cd(a){var b=a[me];if(b)return b;for(var c=a.parentNode;c;){if(b=c[oe]||c[me]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=ke(a);null!==a;){if(c=a[me])return c;a=ke(a)}return b}a=c;c=a.parentNode}return null}function pe(a){a=a[me]||a[oe];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function qe(a){if(5===a.tag||6===a.tag)return a.stateNode;throw t(Error(33));}function re(a){return a[ne]||null}var se=null,te=null,ue=null;\nfunction ve(){if(ue)return ue;var a,b=te,c=b.length,d,e=\"value\"in se?se.value:se.textContent,f=e.length;for(a=0;a=Ae),De=String.fromCharCode(32),Ee={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:\"blur compositionend keydown keypress keyup mousedown\".split(\" \")},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",\ncaptured:\"onCompositionStartCapture\"},dependencies:\"blur compositionstart keydown keypress keyup mousedown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"blur compositionupdate keydown keypress keyup mousedown\".split(\" \")}},Fe=!1;\nfunction Ge(a,b){switch(a){case \"keyup\":return-1!==ye.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"blur\":return!0;default:return!1}}function He(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var Ie=!1;function Je(a,b){switch(a){case \"compositionend\":return He(b);case \"keypress\":if(32!==b.which)return null;Fe=!0;return De;case \"textInput\":return a=b.data,a===De&&Fe?null:a;default:return null}}\nfunction Ke(a,b){if(Ie)return\"compositionend\"===a||!ze&&Ge(a,b)?(a=ve(),ue=te=se=null,Ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=document.documentMode,kf={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:\"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange\".split(\" \")}},lf=null,mf=null,nf=null,of=!1;\nfunction pf(a,b){var c=b.window===b?b.document:9===b.nodeType?b:b.ownerDocument;if(of||null==lf||lf!==Ud(c))return null;c=lf;\"selectionStart\"in c&&Zd(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset});return nf&&hf(nf,c)?null:(nf=c,a=F.getPooled(kf.select,mf,a,b),a.type=\"select\",a.target=lf,Lc(a),a)}\nvar qf={eventTypes:kf,extractEvents:function(a,b,c,d){var e=d.window===d?d.document:9===d.nodeType?d:d.ownerDocument,f;if(!(f=!e)){a:{e=oc(e);f=ja.onSelect;for(var g=0;gsf||(a.current=rf[sf],rf[sf]=null,sf--)}\nfunction I(a,b){sf++;rf[sf]=a.current;a.current=b}var tf={},J={current:tf},K={current:!1},uf=tf;function vf(a,b){var c=a.type.contextTypes;if(!c)return tf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function N(a){a=a.childContextTypes;return null!==a&&void 0!==a}\nfunction wf(a){H(K,a);H(J,a)}function xf(a){H(K,a);H(J,a)}function zf(a,b,c){if(J.current!==tf)throw t(Error(168));I(J,b,a);I(K,c,a)}function Af(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw t(Error(108),Va(b)||\"Unknown\",e);return n({},c,{},d)}function Bf(a){var b=a.stateNode;b=b&&b.__reactInternalMemoizedMergedChildContext||tf;uf=J.current;I(J,b,a);I(K,K.current,a);return!0}\nfunction Cf(a,b,c){var d=a.stateNode;if(!d)throw t(Error(169));c?(b=Af(a,b,uf),d.__reactInternalMemoizedMergedChildContext=b,H(K,a),H(J,a),I(J,b,a)):H(K,a);I(K,c,a)}\nvar Df=r.unstable_runWithPriority,Ef=r.unstable_scheduleCallback,Ff=r.unstable_cancelCallback,Gf=r.unstable_shouldYield,Hf=r.unstable_requestPaint,If=r.unstable_now,Jf=r.unstable_getCurrentPriorityLevel,Kf=r.unstable_ImmediatePriority,Lf=r.unstable_UserBlockingPriority,Mf=r.unstable_NormalPriority,Nf=r.unstable_LowPriority,Of=r.unstable_IdlePriority,Pf={},Qf=void 0!==Hf?Hf:function(){},Rf=null,Sf=null,Tf=!1,Uf=If(),Vf=1E4>Uf?If:function(){return If()-Uf};\nfunction Wf(){switch(Jf()){case Kf:return 99;case Lf:return 98;case Mf:return 97;case Nf:return 96;case Of:return 95;default:throw t(Error(332));}}function Xf(a){switch(a){case 99:return Kf;case 98:return Lf;case 97:return Mf;case 96:return Nf;case 95:return Of;default:throw t(Error(332));}}function Yf(a,b){a=Xf(a);return Df(a,b)}function Zf(a,b,c){a=Xf(a);return Ef(a,b,c)}function $f(a){null===Rf?(Rf=[a],Sf=Ef(Kf,ag)):Rf.push(a);return Pf}function bg(){if(null!==Sf){var a=Sf;Sf=null;Ff(a)}ag()}\nfunction ag(){if(!Tf&&null!==Rf){Tf=!0;var a=0;try{var b=Rf;Yf(99,function(){for(;a=b&&(mg=!0),a.firstContext=null)}\nfunction ng(a,b){if(gg!==a&&!1!==b&&0!==b){if(\"number\"!==typeof b||1073741823===b)gg=a,b=1073741823;b={context:a,observedBits:b,next:null};if(null===fg){if(null===eg)throw t(Error(308));fg=b;eg.dependencies={expirationTime:0,firstContext:b,responders:null}}else fg=fg.next=b}return a._currentValue}var og=!1;\nfunction pg(a){return{baseState:a,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function qg(a){return{baseState:a.baseState,firstUpdate:a.firstUpdate,lastUpdate:a.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}\nfunction rg(a,b){return{expirationTime:a,suspenseConfig:b,tag:0,payload:null,callback:null,next:null,nextEffect:null}}function sg(a,b){null===a.lastUpdate?a.firstUpdate=a.lastUpdate=b:(a.lastUpdate.next=b,a.lastUpdate=b)}\nfunction tg(a,b){var c=a.alternate;if(null===c){var d=a.updateQueue;var e=null;null===d&&(d=a.updateQueue=pg(a.memoizedState))}else d=a.updateQueue,e=c.updateQueue,null===d?null===e?(d=a.updateQueue=pg(a.memoizedState),e=c.updateQueue=pg(c.memoizedState)):d=a.updateQueue=qg(e):null===e&&(e=c.updateQueue=qg(d));null===e||d===e?sg(d,b):null===d.lastUpdate||null===e.lastUpdate?(sg(d,b),sg(e,b)):(sg(d,b),e.lastUpdate=b)}\nfunction ug(a,b){var c=a.updateQueue;c=null===c?a.updateQueue=pg(a.memoizedState):vg(a,c);null===c.lastCapturedUpdate?c.firstCapturedUpdate=c.lastCapturedUpdate=b:(c.lastCapturedUpdate.next=b,c.lastCapturedUpdate=b)}function vg(a,b){var c=a.alternate;null!==c&&b===c.updateQueue&&(b=a.updateQueue=qg(b));return b}\nfunction wg(a,b,c,d,e,f){switch(c.tag){case 1:return a=c.payload,\"function\"===typeof a?a.call(f,d,e):a;case 3:a.effectTag=a.effectTag&-4097|64;case 0:a=c.payload;e=\"function\"===typeof a?a.call(f,d,e):a;if(null===e||void 0===e)break;return n({},d,e);case 2:og=!0}return d}\nfunction xg(a,b,c,d,e){og=!1;b=vg(a,b);for(var f=b.baseState,g=null,h=0,k=b.firstUpdate,l=f;null!==k;){var m=k.expirationTime;my?(z=q,q=null):z=q.sibling;var p=w(e,q,h[y],k);if(null===p){null===q&&(q=z);break}a&&\nq&&null===p.alternate&&b(e,q);g=f(p,g,y);null===m?l=p:m.sibling=p;m=p;q=z}if(y===h.length)return c(e,q),l;if(null===q){for(;yy?(z=q,q=null):z=q.sibling;var M=w(e,q,p.value,k);if(null===M){null===q&&(q=z);break}a&&q&&null===M.alternate&&b(e,q);g=f(M,g,y);null===m?l=M:m.sibling=M;m=M;q=z}if(p.done)return c(e,q),l;if(null===q){for(;!p.done;y++,p=h.next())p=A(e,p.value,k),null!==p&&(g=f(p,g,y),null===m?l=p:m.sibling=p,m=p);return l}for(q=d(e,q);!p.done;y++,p=h.next())p=L(q,e,y,p.value,k),null!==p&&(a&&null!==\np.alternate&&q.delete(null===p.key?y:p.key),g=f(p,g,y),null===m?l=p:m.sibling=p,m=p);a&&q.forEach(function(a){return b(e,a)});return l}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===Ha&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case Fa:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){if(7===k.tag?f.type===Ha:k.elementType===f.type){c(a,k.sibling);d=e(k,f.type===Ha?f.props.children:f.props,h);d.ref=Og(a,k,f);d.return=a;a=d;break a}c(a,\nk);break}else b(a,k);k=k.sibling}f.type===Ha?(d=Vg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Tg(f.type,f.key,f.props,null,a.mode,h),h.ref=Og(a,d,f),h.return=a,a=h)}return g(a);case Ga:a:{for(k=f.key;null!==d;){if(d.key===k){if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[],h);d.return=a;a=d;break a}c(a,d);break}else b(a,d);d=d.sibling}d=Ug(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\n\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f,h),d.return=a,a=d):(c(a,d),d=Sg(f,a.mode,h),d.return=a,a=d),g(a);if(Ng(f))return wb(a,d,f,h);if(Ta(f))return M(a,d,f,h);l&&Pg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 0:throw a=a.type,t(Error(152),a.displayName||a.name||\"Component\");}return c(a,d)}}var Wg=Qg(!0),Xg=Qg(!1),Yg={},Zg={current:Yg},$g={current:Yg},ah={current:Yg};function bh(a){if(a===Yg)throw t(Error(174));return a}\nfunction ch(a,b){I(ah,b,a);I($g,a,a);I(Zg,Yg,a);var c=b.nodeType;switch(c){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:Qb(null,\"\");break;default:c=8===c?b.parentNode:b,b=c.namespaceURI||null,c=c.tagName,b=Qb(b,c)}H(Zg,a);I(Zg,b,a)}function dh(a){H(Zg,a);H($g,a);H(ah,a)}function eh(a){bh(ah.current);var b=bh(Zg.current);var c=Qb(b,a.type);b!==c&&(I($g,a,a),I(Zg,c,a))}function fh(a){$g.current===a&&(H(Zg,a),H($g,a))}var O={current:0};\nfunction gh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||c.data===be||c.data===ce))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if((b.effectTag&64)!==D)return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}function hh(a,b){return{responder:a,props:b}}\nvar ih=Da.ReactCurrentDispatcher,jh=0,kh=null,P=null,lh=null,mh=null,Q=null,nh=null,oh=0,ph=null,qh=0,rh=!1,sh=null,th=0;function uh(){throw t(Error(321));}function vh(a,b){if(null===b)return!1;for(var c=0;coh&&(oh=m,zg(oh))):(yg(m,k.suspenseConfig),f=k.eagerReducer===a?k.eagerState:a(f,k.action));g=k;k=k.next}while(null!==k&&k!==d);l||(h=g,e=f);ff(f,b.memoizedState)||(mg=!0);b.memoizedState=f;b.baseUpdate=h;b.baseState=e;c.lastRenderedState=f}return[b.memoizedState,c.dispatch]}\nfunction Ih(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};null===ph?(ph={lastEffect:null},ph.lastEffect=a.next=a):(b=ph.lastEffect,null===b?ph.lastEffect=a.next=a:(c=b.next,b.next=a,a.next=c,ph.lastEffect=a));return a}function Jh(a,b,c,d){var e=Eh();qh|=a;e.memoizedState=Ih(b,c,void 0,void 0===d?null:d)}\nfunction Kh(a,b,c,d){var e=Fh();d=void 0===d?null:d;var f=void 0;if(null!==P){var g=P.memoizedState;f=g.destroy;if(null!==d&&vh(d,g.deps)){Ih(0,c,f,d);return}}qh|=a;e.memoizedState=Ih(b,c,f,d)}function Lh(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function Mh(){}\nfunction Nh(a,b,c){if(!(25>th))throw t(Error(301));var d=a.alternate;if(a===kh||null!==d&&d===kh)if(rh=!0,a={expirationTime:jh,suspenseConfig:null,action:c,eagerReducer:null,eagerState:null,next:null},null===sh&&(sh=new Map),c=sh.get(b),void 0===c)sh.set(b,a);else{for(b=c;null!==b.next;)b=b.next;b.next=a}else{var e=Fg(),f=Cg.suspense;e=Gg(e,a,f);f={expirationTime:e,suspenseConfig:f,action:c,eagerReducer:null,eagerState:null,next:null};var g=b.last;if(null===g)f.next=f;else{var h=g.next;null!==h&&\n(f.next=h);g.next=f}b.last=f;if(0===a.expirationTime&&(null===d||0===d.expirationTime)&&(d=b.lastRenderedReducer,null!==d))try{var k=b.lastRenderedState,l=d(k,c);f.eagerReducer=d;f.eagerState=l;if(ff(l,k))return}catch(m){}finally{}Hg(a,e)}}\nvar zh={readContext:ng,useCallback:uh,useContext:uh,useEffect:uh,useImperativeHandle:uh,useLayoutEffect:uh,useMemo:uh,useReducer:uh,useRef:uh,useState:uh,useDebugValue:uh,useResponder:uh},xh={readContext:ng,useCallback:function(a,b){Eh().memoizedState=[a,void 0===b?null:b];return a},useContext:ng,useEffect:function(a,b){return Jh(516,192,a,b)},useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Jh(4,36,Lh.bind(null,b,a),c)},useLayoutEffect:function(a,b){return Jh(4,\n36,a,b)},useMemo:function(a,b){var c=Eh();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=Eh();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a=d.queue={last:null,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};a=a.dispatch=Nh.bind(null,kh,a);return[d.memoizedState,a]},useRef:function(a){var b=Eh();a={current:a};return b.memoizedState=a},useState:function(a){var b=Eh();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={last:null,\ndispatch:null,lastRenderedReducer:Gh,lastRenderedState:a};a=a.dispatch=Nh.bind(null,kh,a);return[b.memoizedState,a]},useDebugValue:Mh,useResponder:hh},yh={readContext:ng,useCallback:function(a,b){var c=Fh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&vh(b,d[1]))return d[0];c.memoizedState=[a,b];return a},useContext:ng,useEffect:function(a,b){return Kh(516,192,a,b)},useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Kh(4,36,Lh.bind(null,b,a),c)},\nuseLayoutEffect:function(a,b){return Kh(4,36,a,b)},useMemo:function(a,b){var c=Fh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&vh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a},useReducer:Hh,useRef:function(){return Fh().memoizedState},useState:function(a){return Hh(Gh,a)},useDebugValue:Mh,useResponder:hh},Oh=null,Ph=null,Qh=!1;\nfunction Rh(a,b){var c=Sh(5,null,null,0);c.elementType=\"DELETED\";c.type=\"DELETED\";c.stateNode=b;c.return=a;c.effectTag=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}function Th(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}}\nfunction Uh(a){if(Qh){var b=Ph;if(b){var c=b;if(!Th(a,b)){b=je(c.nextSibling);if(!b||!Th(a,b)){a.effectTag=a.effectTag&~Ac|E;Qh=!1;Oh=a;return}Rh(Oh,c)}Oh=a;Ph=je(b.firstChild)}else a.effectTag=a.effectTag&~Ac|E,Qh=!1,Oh=a}}function Vh(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;Oh=a}\nfunction Wh(a){if(a!==Oh)return!1;if(!Qh)return Vh(a),Qh=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!ge(b,a.memoizedProps))for(b=Ph;b;)Rh(a,b),b=je(b.nextSibling);Vh(a);if(13===a.tag)if(a=a.memoizedState,a=null!==a?a.dehydrated:null,null===a)a=Ph;else a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(c===ae){if(0===b){a=je(a.nextSibling);break a}b--}else c!==$d&&c!==ce&&c!==be||b++}a=a.nextSibling}a=null}else a=Oh?je(a.stateNode.nextSibling):null;Ph=a;return!0}\nfunction Xh(){Ph=Oh=null;Qh=!1}var Yh=Da.ReactCurrentOwner,mg=!1;function R(a,b,c,d){b.child=null===a?Xg(b,null,c,d):Wg(b,a.child,c,d)}function Zh(a,b,c,d,e){c=c.render;var f=b.ref;lg(b,e);d=wh(a,b,c,d,f,e);if(null!==a&&!mg)return b.updateQueue=a.updateQueue,b.effectTag&=-517,a.expirationTime<=e&&(a.expirationTime=0),$h(a,b,e);b.effectTag|=1;R(a,b,d,e);return b.child}\nfunction ai(a,b,c,d,e,f){if(null===a){var g=c.type;if(\"function\"===typeof g&&!bi(g)&&void 0===g.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=g,ci(a,b,g,d,e,f);a=Tg(c.type,null,d,null,b.mode,f);a.ref=b.ref;a.return=b;return b.child=a}g=a.child;if(eb)&&rj.set(a,b)))}}\nfunction wj(a,b){a.expirationTimea?b:a}\nfunction Z(a){if(0!==a.lastExpiredTime)a.callbackExpirationTime=1073741823,a.callbackPriority=99,a.callbackNode=$f(xj.bind(null,a));else{var b=Aj(a),c=a.callbackNode;if(0===b)null!==c&&(a.callbackNode=null,a.callbackExpirationTime=0,a.callbackPriority=90);else{var d=Fg();1073741823===b?d=99:1===b||2===b?d=95:(d=10*(1073741821-b)-10*(1073741821-d),d=0>=d?99:250>=d?98:5250>=d?97:95);if(null!==c){var e=a.callbackPriority;if(a.callbackExpirationTime===b&&e>=d)return;c!==Pf&&Ff(c)}a.callbackExpirationTime=\nb;a.callbackPriority=d;b=1073741823===b?$f(xj.bind(null,a)):Zf(d,Cj.bind(null,a),{timeout:10*(1073741821-b)-Vf()});a.callbackNode=b}}}\nfunction Cj(a,b){uj=0;if(b)return b=Fg(),Dj(a,b),Z(a),null;var c=Aj(a);if(0!==c){b=a.callbackNode;if((T&(Zi|$i))!==S)throw t(Error(327));Ej();a===U&&c===W||Fj(a,c);if(null!==V){var d=T;T|=Zi;var e=Gj(a);do try{Hj();break}catch(h){Ij(a,h)}while(1);hg();T=d;Wi.current=e;if(X===bj)throw b=hj,Fj(a,c),yj(a,c),Z(a),b;if(null===V)switch(e=a.finishedWork=a.current.alternate,a.finishedExpirationTime=c,Jj(a,c),d=X,U=null,d){case aj:case bj:throw t(Error(345));case cj:if(2!==c){Dj(a,2);break}Kj(a);break;case dj:yj(a,\nc);d=a.lastSuspendedTime;c===d&&(a.nextKnownPendingLevel=Lj(e));if(1073741823===ij&&(e=Mi+nj-Vf(),10=c){a.lastPingedTime=c;Fj(a,c);break}}f=Aj(a);if(0!==f&&f!==c)break;if(0!==d&&d!==c){a.lastPingedTime=d;break}a.timeoutHandle=he(Kj.bind(null,a),e);break}Kj(a);break;case ej:yj(a,c);d=a.lastSuspendedTime;c===d&&(a.nextKnownPendingLevel=Lj(e));if(mj&&(e=a.lastPingedTime,0===e||e>=c)){a.lastPingedTime=c;Fj(a,c);break}e=Aj(a);if(0!==e&&e!==c)break;if(0!==\nd&&d!==c){a.lastPingedTime=d;break}1073741823!==jj?d=10*(1073741821-jj)-Vf():1073741823===ij?d=0:(d=10*(1073741821-ij)-5E3,e=Vf(),c=10*(1073741821-c)-e,d=e-d,0>d&&(d=0),d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*Vi(d/1960))-d,c=d?d=0:(e=g.busyDelayMs|0,f=Vf()-(10*(1073741821-f)-(g.timeoutMs|0||5E3)),d=f<=e?0:e+d-f);\nif(10=b&&(Zf(97,function(){c._onComplete();return null}),X=gj)}function Oj(){if(null!==rj){var a=rj;rj=null;a.forEach(function(a,c){Dj(c,a);Z(c)});bg()}}function Pj(a,b){var c=T;T|=1;try{return a(b)}finally{T=c,T===S&&bg()}}function Qj(a,b,c,d){var e=T;T|=4;try{return Yf(98,a.bind(null,b,c,d))}finally{T=e,T===S&&bg()}}\nfunction Rj(a,b){var c=T;T&=-2;T|=Yi;try{return a(b)}finally{T=c,T===S&&bg()}}\nfunction Fj(a,b){a.finishedWork=null;a.finishedExpirationTime=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,ie(c));if(null!==V)for(c=V.return;null!==c;){var d=c;switch(d.tag){case 1:var e=d.type.childContextTypes;null!==e&&void 0!==e&&wf(d);break;case 3:dh(d);xf(d);break;case 5:fh(d);break;case 4:dh(d);break;case 13:H(O,d);break;case 19:H(O,d);break;case 10:jg(d)}c=c.return}U=a;V=Rg(a.current,null,b);W=b;X=aj;hj=null;jj=ij=1073741823;kj=null;lj=0;mj=!1}\nfunction Ij(a,b){do{try{hg();Ah();if(null===V||null===V.return)return X=bj,hj=b,null;a:{var c=a,d=V.return,e=V,f=b;b=W;e.effectTag|=2048;e.firstEffect=e.lastEffect=null;if(null!==f&&\"object\"===typeof f&&\"function\"===typeof f.then){var g=f,h=0!==(O.current&1),k=d;do{var l;if(l=13===k.tag){var m=k.memoizedState;if(null!==m)l=null!==m.dehydrated?!0:!1;else{var A=k.memoizedProps;l=void 0===A.fallback?!1:!0!==A.unstable_avoidThisFallback?!0:h?!1:!0}}if(l){var w=k.updateQueue;if(null===w){var L=new Set;\nL.add(g);k.updateQueue=L}else w.add(g);if(0===(k.mode&2)){k.effectTag|=64;e.effectTag&=-2981;if(1===e.tag)if(null===e.alternate)e.tag=17;else{var wb=rg(1073741823,null);wb.tag=2;tg(e,wb)}e.expirationTime=1073741823;break a}f=void 0;e=b;var M=c.pingCache;null===M?(M=c.pingCache=new Pi,f=new Set,M.set(g,f)):(f=M.get(g),void 0===f&&(f=new Set,M.set(g,f)));if(!f.has(e)){f.add(e);var q=Sj.bind(null,c,g,e);g.then(q,q)}k.effectTag|=4096;k.expirationTime=b;break a}k=k.return}while(null!==k);f=Error((Va(e.type)||\n\"A React component\")+\" suspended while rendering, but no fallback UI was specified.\\n\\nAdd a component higher in the tree to provide a loading indicator or placeholder to display.\"+Wa(e))}X!==fj&&(X=cj);f=ti(f,e);k=d;do{switch(k.tag){case 3:g=f;k.effectTag|=4096;k.expirationTime=b;var y=Qi(k,g,b);ug(k,y);break a;case 1:g=f;var z=k.type,p=k.stateNode;if((k.effectTag&64)===D&&(\"function\"===typeof z.getDerivedStateFromError||null!==p&&\"function\"===typeof p.componentDidCatch&&\n(null===Ui||!Ui.has(p)))){k.effectTag|=4096;k.expirationTime=b;var u=Ti(k,g,b);ug(k,u);break a}}k=k.return}while(null!==k)}V=Tj(V)}catch(v){b=v;continue}break}while(1)}function Gj(){var a=Wi.current;Wi.current=zh;return null===a?zh:a}function yg(a,b){alj&&(lj=a)}function Mj(){for(;null!==V;)V=Uj(V)}function Hj(){for(;null!==V&&!Gf();)V=Uj(V)}\nfunction Uj(a){var b=Vj(a.alternate,a,W);a.memoizedProps=a.pendingProps;null===b&&(b=Tj(a));Xi.current=null;return b}\nfunction Tj(a){V=a;do{var b=V.alternate;a=V.return;if((V.effectTag&2048)===D){a:{var c=b;b=V;var d=W,e=b.pendingProps;switch(b.tag){case 2:break;case 16:break;case 15:case 0:break;case 1:N(b.type)&&wf(b);break;case 3:dh(b);xf(b);d=b.stateNode;d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null);(null===c||null===c.child)&&Wh(b)&&mi(b);oi(b);break;case 5:fh(b);d=bh(ah.current);var f=b.type;if(null!==c&&null!=b.stateNode)pi(c,b,f,e,d),c.ref!==b.ref&&(b.effectTag|=128);else if(e){var g=\nbh(Zg.current);if(Wh(b)){e=b;f=void 0;c=e.stateNode;var h=e.type,k=e.memoizedProps;c[me]=e;c[ne]=k;switch(h){case \"iframe\":case \"object\":case \"embed\":G(\"load\",c);break;case \"video\":case \"audio\":for(var l=0;l\\x3c/script>\",l=k.removeChild(k.firstChild)):\"string\"===typeof c.is?l=l.createElement(k,{is:c.is}):(l=l.createElement(k),\"select\"===k&&(k=l,c.multiple?k.multiple=!0:c.size&&(k.size=c.size))):l=l.createElementNS(g,k);k=l;k[me]=h;k[ne]=c;c=k;ni(c,b,!1,!1);b.stateNode=c;g=d;var m=Rd(f,e);switch(f){case \"iframe\":case \"object\":case \"embed\":G(\"load\",\nc);d=e;break;case \"video\":case \"audio\":for(d=0;de.tailExpiration&&1e&&(e=c),h>e&&(e=h),f=f.sibling;d.childExpirationTime=e}if(null!==b)return b;null!==a&&(a.effectTag&2048)===D&&(null===a.firstEffect&&(a.firstEffect=V.firstEffect),null!==V.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=V.firstEffect),a.lastEffect=V.lastEffect),1a?b:a}function Kj(a){var b=Wf();Yf(99,Wj.bind(null,a,b));return null}\nfunction Wj(a,b){Ej();if((T&(Zi|$i))!==S)throw t(Error(327));var c=a.finishedWork,d=a.finishedExpirationTime;if(null===c)return null;a.finishedWork=null;a.finishedExpirationTime=0;if(c===a.current)throw t(Error(177));a.callbackNode=null;a.callbackExpirationTime=0;a.callbackPriority=90;a.nextKnownPendingLevel=0;var e=Lj(c);a.firstPendingTime=e;d<=a.lastSuspendedTime?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:d<=a.firstSuspendedTime&&(a.firstSuspendedTime=d-1);d<=a.lastPingedTime&&\n(a.lastPingedTime=0);d<=a.lastExpiredTime&&(a.lastExpiredTime=0);a===U&&(V=U=null,W=0);1h&&(l=h,h=g,g=l),l=Wd(p,g),m=Wd(p,h),l&&m&&(1!==v.rangeCount||v.anchorNode!==l.node||v.anchorOffset!==l.offset||v.focusNode!==m.node||v.focusOffset!==m.offset)&&(u=u.createRange(),u.setStart(l.node,l.offset),v.removeAllRanges(),g>h?(v.addRange(u),v.extend(m.node,m.offset)):(u.setEnd(m.node,m.offset),v.addRange(u))))));u=[];for(v=p;v=v.parentNode;)1===v.nodeType&&u.push({element:v,left:v.scrollLeft,top:v.scrollTop});\"function\"===\ntypeof p.focus&&p.focus();for(p=0;p=c)return ji(a,b,c);I(O,O.current&\n1,b);b=$h(a,b,c);return null!==b?b.sibling:null}I(O,O.current&1,b);break;case 19:d=b.childExpirationTime>=c;if((a.effectTag&64)!==D){if(d)return li(a,b,c);b.effectTag|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null);I(O,O.current,b);if(!d)return null}return $h(a,b,c)}mg=!1}}else mg=!1;b.expirationTime=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=E);a=b.pendingProps;e=vf(b,J.current);lg(b,c);e=wh(null,b,d,a,e,c);b.effectTag|=1;if(\"object\"===\ntypeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;Ah();if(N(d)){var f=!0;Bf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Eg(b,d,g,a);e.updater=Ig;b.stateNode=e;e._reactInternalFiber=b;Mg(b,d,a,c);b=gi(null,b,d,!0,f,c)}else b.tag=0,R(null,b,e,c),b=b.child;return b;case 16:e=b.elementType;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=E);a=b.pendingProps;Ua(e);if(1!==e._status)throw e._result;\ne=e._result;b.type=e;f=b.tag=ck(e);a=cg(e,a);switch(f){case 0:b=di(null,b,e,a,c);break;case 1:b=fi(null,b,e,a,c);break;case 11:b=Zh(null,b,e,a,c);break;case 14:b=ai(null,b,e,cg(e.type,a),d,c);break;default:throw t(Error(306),e,\"\");}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:cg(d,e),di(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:cg(d,e),fi(a,b,d,e,c);case 3:hi(b);d=b.updateQueue;if(null===d)throw t(Error(282));e=b.memoizedState;e=null!==e?e.element:\nnull;xg(b,d,b.pendingProps,null,c);d=b.memoizedState.element;if(d===e)Xh(),b=$h(a,b,c);else{if(e=b.stateNode.hydrate)Ph=je(b.stateNode.containerInfo.firstChild),Oh=b,e=Qh=!0;if(e)for(c=Xg(b,null,d,c),b.child=c;c;)c.effectTag=c.effectTag&~E|Ac,c=c.sibling;else R(a,b,d,c),Xh();b=b.child}return b;case 5:return eh(b),null===a&&Uh(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,ge(d,e)?g=null:null!==f&&ge(d,f)&&(b.effectTag|=16),ei(a,b),b.mode&4&&1!==c&&e.hidden?(b.expirationTime=\nb.childExpirationTime=1,b=null):(R(a,b,g,c),b=b.child),b;case 6:return null===a&&Uh(b),null;case 13:return ji(a,b,c);case 4:return ch(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Wg(b,null,d,c):R(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:cg(d,e),Zh(a,b,d,e,c);case 7:return R(a,b,b.pendingProps,c),b.child;case 8:return R(a,b,b.pendingProps.children,c),b.child;case 12:return R(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;\ne=b.pendingProps;g=b.memoizedProps;f=e.value;ig(b,f);if(null!==g){var h=g.value;f=ff(h,f)?0:(\"function\"===typeof d._calculateChangedBits?d._calculateChangedBits(h,f):1073741823)|0;if(0===f){if(g.children===e.children&&!K.current){b=$h(a,b,c);break a}}else for(h=b.child,null!==h&&(h.return=b);null!==h;){var k=h.dependencies;if(null!==k){g=h.child;for(var l=k.firstContext;null!==l;){if(l.context===d&&0!==(l.observedBits&f)){1===h.tag&&(l=rg(c,null),l.tag=2,tg(h,l));h.expirationTime=b&&a<=b}function yj(a,b){var c=a.firstSuspendedTime,d=a.lastSuspendedTime;cb||0===c)a.lastSuspendedTime=b;b<=a.lastPingedTime&&(a.lastPingedTime=0);b<=a.lastExpiredTime&&(a.lastExpiredTime=0)}\nfunction zj(a,b){b>a.firstPendingTime&&(a.firstPendingTime=b);var c=a.firstSuspendedTime;0!==c&&(b>=c?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:b>=a.lastSuspendedTime&&(a.lastSuspendedTime=b+1),b>a.nextKnownPendingLevel&&(a.nextKnownPendingLevel=b))}function Dj(a,b){var c=a.lastExpiredTime;if(0===c||c>b)a.lastExpiredTime=b}\nfunction gk(a,b,c,d,e,f){var g=b.current;a:if(c){c=c._reactInternalFiber;b:{if(Bc(c)!==c||1!==c.tag)throw t(Error(170));var h=c;do{switch(h.tag){case 3:h=h.stateNode.context;break b;case 1:if(N(h.type)){h=h.stateNode.__reactInternalMemoizedMergedChildContext;break b}}h=h.return}while(null!==h);throw t(Error(171));}if(1===c.tag){var k=c.type;if(N(k)){c=Af(c,k,h);break a}}c=h}else c=tf;null===b.context?b.context=c:b.pendingContext=c;b=f;e=rg(d,e);e.payload={element:a};b=void 0===b?null:b;null!==b&&\n(e.callback=b);tg(g,e);Hg(g,d);return d}function hk(a,b,c,d){var e=b.current,f=Fg(),g=Cg.suspense;e=Gg(f,e,g);return gk(a,b,c,e,g,d)}function ik(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function jk(a,b,c){var d=3=b;)c=d,d=d._next;a._next=d;null!==c&&(c._next=a)}return a};function qk(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}db=Pj;eb=Qj;fb=Nj;gb=function(a,b){var c=T;T|=2;try{return a(b)}finally{T=c,T===S&&bg()}};\nfunction rk(a,b){b||(b=a?9===a.nodeType?a.documentElement:a.firstChild:null,b=!(!b||1!==b.nodeType||!b.hasAttribute(\"data-reactroot\")));if(!b)for(var c;c=a.lastChild;)a.removeChild(c);return new nk(a,0,b?{hydrate:!0}:void 0)}\nfunction sk(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f._internalRoot;if(\"function\"===typeof e){var h=e;e=function(){var a=ik(g);h.call(a)}}hk(b,g,a,e)}else{f=c._reactRootContainer=rk(c,d);g=f._internalRoot;if(\"function\"===typeof e){var k=e;e=function(){var a=ik(g);k.call(a)}}Rj(function(){hk(b,g,a,e)})}return ik(g)}function tk(a,b){var c=2=H};l=function(){};exports.unstable_forceFrameRate=function(a){0>a||125L(n,c))void 0!==r&&0>L(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>L(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function L(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var O=[],P=[],Q=1,R=null,S=3,T=!1,U=!1,V=!1;\nfunction W(a){for(var b=M(P);null!==b;){if(null===b.callback)N(P);else if(b.startTime<=a)N(P),b.sortIndex=b.expirationTime,K(O,b);else break;b=M(P)}}function X(a){V=!1;W(a);if(!U)if(null!==M(O))U=!0,f(Y);else{var b=M(P);null!==b&&g(X,b.startTime-a)}}\nfunction Y(a,b){U=!1;V&&(V=!1,h());T=!0;var c=S;try{W(b);for(R=M(O);null!==R&&(!(R.expirationTime>b)||a&&!k());){var d=R.callback;if(null!==d){R.callback=null;S=R.priorityLevel;var e=d(R.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?R.callback=e:R===M(O)&&N(O);W(b)}else N(O);R=M(O)}if(null!==R)var m=!0;else{var n=M(P);null!==n&&g(X,n.startTime-b);m=!1}return m}finally{R=null,S=c,T=!1}}\nfunction Z(a){switch(a){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1E4;default:return 5E3}}var aa=l;exports.unstable_ImmediatePriority=1;exports.unstable_UserBlockingPriority=2;exports.unstable_NormalPriority=3;exports.unstable_IdlePriority=5;exports.unstable_LowPriority=4;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=S;S=a;try{return b()}finally{S=c}};\nexports.unstable_next=function(a){switch(S){case 1:case 2:case 3:var b=3;break;default:b=S}var c=S;S=b;try{return a()}finally{S=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();if(\"object\"===typeof c&&null!==c){var e=c.delay;e=\"number\"===typeof e&&0d?(a.sortIndex=e,K(P,a),null===M(O)&&a===M(P)&&(V?h():V=!0,g(X,e-d))):(a.sortIndex=c,K(O,a),U||T||(U=!0,f(Y)));return a};exports.unstable_cancelCallback=function(a){a.callback=null};\nexports.unstable_wrapCallback=function(a){var b=S;return function(){var c=S;S=b;try{return a.apply(this,arguments)}finally{S=c}}};exports.unstable_getCurrentPriorityLevel=function(){return S};exports.unstable_shouldYield=function(){var a=exports.unstable_now();W(a);var b=M(O);return b!==R&&null!==R&&null!==b&&null!==b.callback&&b.startTime<=a&&b.expirationTime result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","module.exports = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n","var scope = (typeof global !== \"undefined\" && global) ||\n (typeof self !== \"undefined\" && self) ||\n window;\nvar apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n this._clearFn.call(scope, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n clearTimeout(item._idleTimeoutId);\n\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\n\n// setimmediate attaches itself to the global object\nrequire(\"setimmediate\");\n// On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\nexports.setImmediate = (typeof self !== \"undefined\" && self.setImmediate) ||\n (typeof global !== \"undefined\" && global.setImmediate) ||\n (this && this.setImmediate);\nexports.clearImmediate = (typeof self !== \"undefined\" && self.clearImmediate) ||\n (typeof global !== \"undefined\" && global.clearImmediate) ||\n (this && this.clearImmediate);\n","(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n }\n // Copy function arguments\n var args = new Array(arguments.length - 1);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n }\n // Store and register the task\n var task = { callback: callback, args: args };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n switch (args.length) {\n case 0:\n callback();\n break;\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function(handle) {\n process.nextTick(function () { runIfPresent(handle); });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function() {\n postMessageIsAsynchronous = false;\n };\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n var onGlobalMessage = function(event) {\n if (event.source === global &&\n typeof event.data === \"string\" &&\n event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function(event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n registerImmediate = function(handle) {\n // Create a \n if (val === '') return true;\n if (val === 'false') return false;\n if (val === 'true') return true;\n return val;\n}\n\nif (DOCUMENT && typeof DOCUMENT.querySelector === 'function') {\n var attrs = [['data-family-prefix', 'familyPrefix'], ['data-replacement-class', 'replacementClass'], ['data-auto-replace-svg', 'autoReplaceSvg'], ['data-auto-add-css', 'autoAddCss'], ['data-auto-a11y', 'autoA11y'], ['data-search-pseudo-elements', 'searchPseudoElements'], ['data-observe-mutations', 'observeMutations'], ['data-mutate-approach', 'mutateApproach'], ['data-keep-original-source', 'keepOriginalSource'], ['data-measure-performance', 'measurePerformance'], ['data-show-missing-icons', 'showMissingIcons']];\n attrs.forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n attr = _ref2[0],\n key = _ref2[1];\n\n var val = coerce(getAttrConfig(attr));\n\n if (val !== undefined && val !== null) {\n initial[key] = val;\n }\n });\n}\n\nvar _default = {\n familyPrefix: DEFAULT_FAMILY_PREFIX,\n replacementClass: DEFAULT_REPLACEMENT_CLASS,\n autoReplaceSvg: true,\n autoAddCss: true,\n autoA11y: true,\n searchPseudoElements: false,\n observeMutations: true,\n mutateApproach: 'async',\n keepOriginalSource: true,\n measurePerformance: false,\n showMissingIcons: true\n};\n\nvar _config = _objectSpread({}, _default, initial);\n\nif (!_config.autoReplaceSvg) _config.observeMutations = false;\n\nvar config = _objectSpread({}, _config);\n\nWINDOW.FontAwesomeConfig = config;\n\nvar w = WINDOW || {};\nif (!w[NAMESPACE_IDENTIFIER]) w[NAMESPACE_IDENTIFIER] = {};\nif (!w[NAMESPACE_IDENTIFIER].styles) w[NAMESPACE_IDENTIFIER].styles = {};\nif (!w[NAMESPACE_IDENTIFIER].hooks) w[NAMESPACE_IDENTIFIER].hooks = {};\nif (!w[NAMESPACE_IDENTIFIER].shims) w[NAMESPACE_IDENTIFIER].shims = [];\nvar namespace = w[NAMESPACE_IDENTIFIER];\n\nvar functions = [];\n\nvar listener = function listener() {\n DOCUMENT.removeEventListener('DOMContentLoaded', listener);\n loaded = 1;\n functions.map(function (fn) {\n return fn();\n });\n};\n\nvar loaded = false;\n\nif (IS_DOM) {\n loaded = (DOCUMENT.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(DOCUMENT.readyState);\n if (!loaded) DOCUMENT.addEventListener('DOMContentLoaded', listener);\n}\n\nfunction domready (fn) {\n if (!IS_DOM) return;\n loaded ? setTimeout(fn, 0) : functions.push(fn);\n}\n\nvar PENDING = 'pending';\nvar SETTLED = 'settled';\nvar FULFILLED = 'fulfilled';\nvar REJECTED = 'rejected';\n\nvar NOOP = function NOOP() {};\n\nvar isNode = typeof global !== 'undefined' && typeof global.process !== 'undefined' && typeof global.process.emit === 'function';\nvar asyncSetTimer = typeof setImmediate === 'undefined' ? setTimeout : setImmediate;\nvar asyncQueue = [];\nvar asyncTimer;\n\nfunction asyncFlush() {\n // run promise callbacks\n for (var i = 0; i < asyncQueue.length; i++) {\n asyncQueue[i][0](asyncQueue[i][1]);\n } // reset async asyncQueue\n\n\n asyncQueue = [];\n asyncTimer = false;\n}\n\nfunction asyncCall(callback, arg) {\n asyncQueue.push([callback, arg]);\n\n if (!asyncTimer) {\n asyncTimer = true;\n asyncSetTimer(asyncFlush, 0);\n }\n}\n\nfunction invokeResolver(resolver, promise) {\n function resolvePromise(value) {\n resolve(promise, value);\n }\n\n function rejectPromise(reason) {\n reject(promise, reason);\n }\n\n try {\n resolver(resolvePromise, rejectPromise);\n } catch (e) {\n rejectPromise(e);\n }\n}\n\nfunction invokeCallback(subscriber) {\n var owner = subscriber.owner;\n var settled = owner._state;\n var value = owner._data;\n var callback = subscriber[settled];\n var promise = subscriber.then;\n\n if (typeof callback === 'function') {\n settled = FULFILLED;\n\n try {\n value = callback(value);\n } catch (e) {\n reject(promise, e);\n }\n }\n\n if (!handleThenable(promise, value)) {\n if (settled === FULFILLED) {\n resolve(promise, value);\n }\n\n if (settled === REJECTED) {\n reject(promise, value);\n }\n }\n}\n\nfunction handleThenable(promise, value) {\n var resolved;\n\n try {\n if (promise === value) {\n throw new TypeError('A promises callback cannot return that same promise.');\n }\n\n if (value && (typeof value === 'function' || _typeof(value) === 'object')) {\n // then should be retrieved only once\n var then = value.then;\n\n if (typeof then === 'function') {\n then.call(value, function (val) {\n if (!resolved) {\n resolved = true;\n\n if (value === val) {\n fulfill(promise, val);\n } else {\n resolve(promise, val);\n }\n }\n }, function (reason) {\n if (!resolved) {\n resolved = true;\n reject(promise, reason);\n }\n });\n return true;\n }\n }\n } catch (e) {\n if (!resolved) {\n reject(promise, e);\n }\n\n return true;\n }\n\n return false;\n}\n\nfunction resolve(promise, value) {\n if (promise === value || !handleThenable(promise, value)) {\n fulfill(promise, value);\n }\n}\n\nfunction fulfill(promise, value) {\n if (promise._state === PENDING) {\n promise._state = SETTLED;\n promise._data = value;\n asyncCall(publishFulfillment, promise);\n }\n}\n\nfunction reject(promise, reason) {\n if (promise._state === PENDING) {\n promise._state = SETTLED;\n promise._data = reason;\n asyncCall(publishRejection, promise);\n }\n}\n\nfunction publish(promise) {\n promise._then = promise._then.forEach(invokeCallback);\n}\n\nfunction publishFulfillment(promise) {\n promise._state = FULFILLED;\n publish(promise);\n}\n\nfunction publishRejection(promise) {\n promise._state = REJECTED;\n publish(promise);\n\n if (!promise._handled && isNode) {\n global.process.emit('unhandledRejection', promise._data, promise);\n }\n}\n\nfunction notifyRejectionHandled(promise) {\n global.process.emit('rejectionHandled', promise);\n}\n/**\n * @class\n */\n\n\nfunction P(resolver) {\n if (typeof resolver !== 'function') {\n throw new TypeError('Promise resolver ' + resolver + ' is not a function');\n }\n\n if (this instanceof P === false) {\n throw new TypeError('Failed to construct \\'Promise\\': Please use the \\'new\\' operator, this object constructor cannot be called as a function.');\n }\n\n this._then = [];\n invokeResolver(resolver, this);\n}\n\nP.prototype = {\n constructor: P,\n _state: PENDING,\n _then: null,\n _data: undefined,\n _handled: false,\n then: function then(onFulfillment, onRejection) {\n var subscriber = {\n owner: this,\n then: new this.constructor(NOOP),\n fulfilled: onFulfillment,\n rejected: onRejection\n };\n\n if ((onRejection || onFulfillment) && !this._handled) {\n this._handled = true;\n\n if (this._state === REJECTED && isNode) {\n asyncCall(notifyRejectionHandled, this);\n }\n }\n\n if (this._state === FULFILLED || this._state === REJECTED) {\n // already resolved, call callback async\n asyncCall(invokeCallback, subscriber);\n } else {\n // subscribe\n this._then.push(subscriber);\n }\n\n return subscriber.then;\n },\n catch: function _catch(onRejection) {\n return this.then(null, onRejection);\n }\n};\n\nP.all = function (promises) {\n if (!Array.isArray(promises)) {\n throw new TypeError('You must pass an array to Promise.all().');\n }\n\n return new P(function (resolve, reject) {\n var results = [];\n var remaining = 0;\n\n function resolver(index) {\n remaining++;\n return function (value) {\n results[index] = value;\n\n if (! --remaining) {\n resolve(results);\n }\n };\n }\n\n for (var i = 0, promise; i < promises.length; i++) {\n promise = promises[i];\n\n if (promise && typeof promise.then === 'function') {\n promise.then(resolver(i), reject);\n } else {\n results[i] = promise;\n }\n }\n\n if (!remaining) {\n resolve(results);\n }\n });\n};\n\nP.race = function (promises) {\n if (!Array.isArray(promises)) {\n throw new TypeError('You must pass an array to Promise.race().');\n }\n\n return new P(function (resolve, reject) {\n for (var i = 0, promise; i < promises.length; i++) {\n promise = promises[i];\n\n if (promise && typeof promise.then === 'function') {\n promise.then(resolve, reject);\n } else {\n resolve(promise);\n }\n }\n });\n};\n\nP.resolve = function (value) {\n if (value && _typeof(value) === 'object' && value.constructor === P) {\n return value;\n }\n\n return new P(function (resolve) {\n resolve(value);\n });\n};\n\nP.reject = function (reason) {\n return new P(function (resolve, reject) {\n reject(reason);\n });\n};\n\nvar picked = typeof Promise === 'function' ? Promise : P;\n\nvar d = UNITS_IN_GRID;\nvar meaninglessTransform = {\n size: 16,\n x: 0,\n y: 0,\n rotate: 0,\n flipX: false,\n flipY: false\n};\n\nfunction isReserved(name) {\n return ~RESERVED_CLASSES.indexOf(name);\n}\nfunction insertCss(css) {\n if (!css || !IS_DOM) {\n return;\n }\n\n var style = DOCUMENT.createElement('style');\n style.setAttribute('type', 'text/css');\n style.innerHTML = css;\n var headChildren = DOCUMENT.head.childNodes;\n var beforeChild = null;\n\n for (var i = headChildren.length - 1; i > -1; i--) {\n var child = headChildren[i];\n var tagName = (child.tagName || '').toUpperCase();\n\n if (['STYLE', 'LINK'].indexOf(tagName) > -1) {\n beforeChild = child;\n }\n }\n\n DOCUMENT.head.insertBefore(style, beforeChild);\n return css;\n}\nvar idPool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\nfunction nextUniqueId() {\n var size = 12;\n var id = '';\n\n while (size-- > 0) {\n id += idPool[Math.random() * 62 | 0];\n }\n\n return id;\n}\nfunction toArray(obj) {\n var array = [];\n\n for (var i = (obj || []).length >>> 0; i--;) {\n array[i] = obj[i];\n }\n\n return array;\n}\nfunction classArray(node) {\n if (node.classList) {\n return toArray(node.classList);\n } else {\n return (node.getAttribute('class') || '').split(' ').filter(function (i) {\n return i;\n });\n }\n}\nfunction getIconName(familyPrefix, cls) {\n var parts = cls.split('-');\n var prefix = parts[0];\n var iconName = parts.slice(1).join('-');\n\n if (prefix === familyPrefix && iconName !== '' && !isReserved(iconName)) {\n return iconName;\n } else {\n return null;\n }\n}\nfunction htmlEscape(str) {\n return \"\".concat(str).replace(/&/g, '&').replace(/\"/g, '"').replace(/'/g, ''').replace(//g, '>');\n}\nfunction joinAttributes(attributes) {\n return Object.keys(attributes || {}).reduce(function (acc, attributeName) {\n return acc + \"\".concat(attributeName, \"=\\\"\").concat(htmlEscape(attributes[attributeName]), \"\\\" \");\n }, '').trim();\n}\nfunction joinStyles(styles) {\n return Object.keys(styles || {}).reduce(function (acc, styleName) {\n return acc + \"\".concat(styleName, \": \").concat(styles[styleName], \";\");\n }, '');\n}\nfunction transformIsMeaningful(transform) {\n return transform.size !== meaninglessTransform.size || transform.x !== meaninglessTransform.x || transform.y !== meaninglessTransform.y || transform.rotate !== meaninglessTransform.rotate || transform.flipX || transform.flipY;\n}\nfunction transformForSvg(_ref) {\n var transform = _ref.transform,\n containerWidth = _ref.containerWidth,\n iconWidth = _ref.iconWidth;\n var outer = {\n transform: \"translate(\".concat(containerWidth / 2, \" 256)\")\n };\n var innerTranslate = \"translate(\".concat(transform.x * 32, \", \").concat(transform.y * 32, \") \");\n var innerScale = \"scale(\".concat(transform.size / 16 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / 16 * (transform.flipY ? -1 : 1), \") \");\n var innerRotate = \"rotate(\".concat(transform.rotate, \" 0 0)\");\n var inner = {\n transform: \"\".concat(innerTranslate, \" \").concat(innerScale, \" \").concat(innerRotate)\n };\n var path = {\n transform: \"translate(\".concat(iconWidth / 2 * -1, \" -256)\")\n };\n return {\n outer: outer,\n inner: inner,\n path: path\n };\n}\nfunction transformForCss(_ref2) {\n var transform = _ref2.transform,\n _ref2$width = _ref2.width,\n width = _ref2$width === void 0 ? UNITS_IN_GRID : _ref2$width,\n _ref2$height = _ref2.height,\n height = _ref2$height === void 0 ? UNITS_IN_GRID : _ref2$height,\n _ref2$startCentered = _ref2.startCentered,\n startCentered = _ref2$startCentered === void 0 ? false : _ref2$startCentered;\n var val = '';\n\n if (startCentered && IS_IE) {\n val += \"translate(\".concat(transform.x / d - width / 2, \"em, \").concat(transform.y / d - height / 2, \"em) \");\n } else if (startCentered) {\n val += \"translate(calc(-50% + \".concat(transform.x / d, \"em), calc(-50% + \").concat(transform.y / d, \"em)) \");\n } else {\n val += \"translate(\".concat(transform.x / d, \"em, \").concat(transform.y / d, \"em) \");\n }\n\n val += \"scale(\".concat(transform.size / d * (transform.flipX ? -1 : 1), \", \").concat(transform.size / d * (transform.flipY ? -1 : 1), \") \");\n val += \"rotate(\".concat(transform.rotate, \"deg) \");\n return val;\n}\n\nvar ALL_SPACE = {\n x: 0,\n y: 0,\n width: '100%',\n height: '100%'\n};\n\nfunction fillBlack(abstract) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (abstract.attributes && (abstract.attributes.fill || force)) {\n abstract.attributes.fill = 'black';\n }\n\n return abstract;\n}\n\nfunction deGroup(abstract) {\n if (abstract.tag === 'g') {\n return abstract.children;\n } else {\n return [abstract];\n }\n}\n\nfunction makeIconMasking (_ref) {\n var children = _ref.children,\n attributes = _ref.attributes,\n main = _ref.main,\n mask = _ref.mask,\n transform = _ref.transform;\n var mainWidth = main.width,\n mainPath = main.icon;\n var maskWidth = mask.width,\n maskPath = mask.icon;\n var trans = transformForSvg({\n transform: transform,\n containerWidth: maskWidth,\n iconWidth: mainWidth\n });\n var maskRect = {\n tag: 'rect',\n attributes: _objectSpread({}, ALL_SPACE, {\n fill: 'white'\n })\n };\n var maskInnerGroupChildrenMixin = mainPath.children ? {\n children: mainPath.children.map(fillBlack)\n } : {};\n var maskInnerGroup = {\n tag: 'g',\n attributes: _objectSpread({}, trans.inner),\n children: [fillBlack(_objectSpread({\n tag: mainPath.tag,\n attributes: _objectSpread({}, mainPath.attributes, trans.path)\n }, maskInnerGroupChildrenMixin))]\n };\n var maskOuterGroup = {\n tag: 'g',\n attributes: _objectSpread({}, trans.outer),\n children: [maskInnerGroup]\n };\n var maskId = \"mask-\".concat(nextUniqueId());\n var clipId = \"clip-\".concat(nextUniqueId());\n var maskTag = {\n tag: 'mask',\n attributes: _objectSpread({}, ALL_SPACE, {\n id: maskId,\n maskUnits: 'userSpaceOnUse',\n maskContentUnits: 'userSpaceOnUse'\n }),\n children: [maskRect, maskOuterGroup]\n };\n var defs = {\n tag: 'defs',\n children: [{\n tag: 'clipPath',\n attributes: {\n id: clipId\n },\n children: deGroup(maskPath)\n }, maskTag]\n };\n children.push(defs, {\n tag: 'rect',\n attributes: _objectSpread({\n fill: 'currentColor',\n 'clip-path': \"url(#\".concat(clipId, \")\"),\n mask: \"url(#\".concat(maskId, \")\")\n }, ALL_SPACE)\n });\n return {\n children: children,\n attributes: attributes\n };\n}\n\nfunction makeIconStandard (_ref) {\n var children = _ref.children,\n attributes = _ref.attributes,\n main = _ref.main,\n transform = _ref.transform,\n styles = _ref.styles;\n var styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n if (transformIsMeaningful(transform)) {\n var trans = transformForSvg({\n transform: transform,\n containerWidth: main.width,\n iconWidth: main.width\n });\n children.push({\n tag: 'g',\n attributes: _objectSpread({}, trans.outer),\n children: [{\n tag: 'g',\n attributes: _objectSpread({}, trans.inner),\n children: [{\n tag: main.icon.tag,\n children: main.icon.children,\n attributes: _objectSpread({}, main.icon.attributes, trans.path)\n }]\n }]\n });\n } else {\n children.push(main.icon);\n }\n\n return {\n children: children,\n attributes: attributes\n };\n}\n\nfunction asIcon (_ref) {\n var children = _ref.children,\n main = _ref.main,\n mask = _ref.mask,\n attributes = _ref.attributes,\n styles = _ref.styles,\n transform = _ref.transform;\n\n if (transformIsMeaningful(transform) && main.found && !mask.found) {\n var width = main.width,\n height = main.height;\n var offset = {\n x: width / height / 2,\n y: 0.5\n };\n attributes['style'] = joinStyles(_objectSpread({}, styles, {\n 'transform-origin': \"\".concat(offset.x + transform.x / 16, \"em \").concat(offset.y + transform.y / 16, \"em\")\n }));\n }\n\n return [{\n tag: 'svg',\n attributes: attributes,\n children: children\n }];\n}\n\nfunction asSymbol (_ref) {\n var prefix = _ref.prefix,\n iconName = _ref.iconName,\n children = _ref.children,\n attributes = _ref.attributes,\n symbol = _ref.symbol;\n var id = symbol === true ? \"\".concat(prefix, \"-\").concat(config.familyPrefix, \"-\").concat(iconName) : symbol;\n return [{\n tag: 'svg',\n attributes: {\n style: 'display: none;'\n },\n children: [{\n tag: 'symbol',\n attributes: _objectSpread({}, attributes, {\n id: id\n }),\n children: children\n }]\n }];\n}\n\nfunction makeInlineSvgAbstract(params) {\n var _params$icons = params.icons,\n main = _params$icons.main,\n mask = _params$icons.mask,\n prefix = params.prefix,\n iconName = params.iconName,\n transform = params.transform,\n symbol = params.symbol,\n title = params.title,\n extra = params.extra,\n _params$watchable = params.watchable,\n watchable = _params$watchable === void 0 ? false : _params$watchable;\n\n var _ref = mask.found ? mask : main,\n width = _ref.width,\n height = _ref.height;\n\n var widthClass = \"fa-w-\".concat(Math.ceil(width / height * 16));\n var attrClass = [config.replacementClass, iconName ? \"\".concat(config.familyPrefix, \"-\").concat(iconName) : '', widthClass].filter(function (c) {\n return extra.classes.indexOf(c) === -1;\n }).concat(extra.classes).join(' ');\n var content = {\n children: [],\n attributes: _objectSpread({}, extra.attributes, {\n 'data-prefix': prefix,\n 'data-icon': iconName,\n 'class': attrClass,\n 'role': extra.attributes.role || 'img',\n 'xmlns': 'http://www.w3.org/2000/svg',\n 'viewBox': \"0 0 \".concat(width, \" \").concat(height)\n })\n };\n\n if (watchable) {\n content.attributes[DATA_FA_I2SVG] = '';\n }\n\n if (title) content.children.push({\n tag: 'title',\n attributes: {\n id: content.attributes['aria-labelledby'] || \"title-\".concat(nextUniqueId())\n },\n children: [title]\n });\n\n var args = _objectSpread({}, content, {\n prefix: prefix,\n iconName: iconName,\n main: main,\n mask: mask,\n transform: transform,\n symbol: symbol,\n styles: extra.styles\n });\n\n var _ref2 = mask.found && main.found ? makeIconMasking(args) : makeIconStandard(args),\n children = _ref2.children,\n attributes = _ref2.attributes;\n\n args.children = children;\n args.attributes = attributes;\n\n if (symbol) {\n return asSymbol(args);\n } else {\n return asIcon(args);\n }\n}\nfunction makeLayersTextAbstract(params) {\n var content = params.content,\n width = params.width,\n height = params.height,\n transform = params.transform,\n title = params.title,\n extra = params.extra,\n _params$watchable2 = params.watchable,\n watchable = _params$watchable2 === void 0 ? false : _params$watchable2;\n\n var attributes = _objectSpread({}, extra.attributes, title ? {\n 'title': title\n } : {}, {\n 'class': extra.classes.join(' ')\n });\n\n if (watchable) {\n attributes[DATA_FA_I2SVG] = '';\n }\n\n var styles = _objectSpread({}, extra.styles);\n\n if (transformIsMeaningful(transform)) {\n styles['transform'] = transformForCss({\n transform: transform,\n startCentered: true,\n width: width,\n height: height\n });\n styles['-webkit-transform'] = styles['transform'];\n }\n\n var styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n\n return val;\n}\nfunction makeLayersCounterAbstract(params) {\n var content = params.content,\n title = params.title,\n extra = params.extra;\n\n var attributes = _objectSpread({}, extra.attributes, title ? {\n 'title': title\n } : {}, {\n 'class': extra.classes.join(' ')\n });\n\n var styleString = joinStyles(extra.styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n\n return val;\n}\n\nvar noop$1 = function noop() {};\n\nvar p = config.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : {\n mark: noop$1,\n measure: noop$1\n};\nvar preamble = \"FA \\\"5.11.2\\\"\";\n\nvar begin = function begin(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" begins\"));\n return function () {\n return end(name);\n };\n};\n\nvar end = function end(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" ends\"));\n p.measure(\"\".concat(preamble, \" \").concat(name), \"\".concat(preamble, \" \").concat(name, \" begins\"), \"\".concat(preamble, \" \").concat(name, \" ends\"));\n};\n\nvar perf = {\n begin: begin,\n end: end\n};\n\n/**\n * Internal helper to bind a function known to have 4 arguments\n * to a given context.\n */\n\nvar bindInternal4 = function bindInternal4(func, thisContext) {\n return function (a, b, c, d) {\n return func.call(thisContext, a, b, c, d);\n };\n};\n\n/**\n * # Reduce\n *\n * A fast object `.reduce()` implementation.\n *\n * @param {Object} subject The object to reduce over.\n * @param {Function} fn The reducer function.\n * @param {mixed} initialValue The initial value for the reducer, defaults to subject[0].\n * @param {Object} thisContext The context for the reducer.\n * @return {mixed} The final result.\n */\n\n\nvar reduce = function fastReduceObject(subject, fn, initialValue, thisContext) {\n var keys = Object.keys(subject),\n length = keys.length,\n iterator = thisContext !== undefined ? bindInternal4(fn, thisContext) : fn,\n i,\n key,\n result;\n\n if (initialValue === undefined) {\n i = 1;\n result = subject[keys[0]];\n } else {\n i = 0;\n result = initialValue;\n }\n\n for (; i < length; i++) {\n key = keys[i];\n result = iterator(result, subject[key], key, subject);\n }\n\n return result;\n};\n\nfunction toHex(unicode) {\n var result = '';\n\n for (var i = 0; i < unicode.length; i++) {\n var hex = unicode.charCodeAt(i).toString(16);\n result += ('000' + hex).slice(-4);\n }\n\n return result;\n}\n\nfunction defineIcons(prefix, icons) {\n var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var _params$skipHooks = params.skipHooks,\n skipHooks = _params$skipHooks === void 0 ? false : _params$skipHooks;\n var normalized = Object.keys(icons).reduce(function (acc, iconName) {\n var icon = icons[iconName];\n var expanded = !!icon.icon;\n\n if (expanded) {\n acc[icon.iconName] = icon.icon;\n } else {\n acc[iconName] = icon;\n }\n\n return acc;\n }, {});\n\n if (typeof namespace.hooks.addPack === 'function' && !skipHooks) {\n namespace.hooks.addPack(prefix, normalized);\n } else {\n namespace.styles[prefix] = _objectSpread({}, namespace.styles[prefix] || {}, normalized);\n }\n /**\n * Font Awesome 4 used the prefix of `fa` for all icons. With the introduction\n * of new styles we needed to differentiate between them. Prefix `fa` is now an alias\n * for `fas` so we'll easy the upgrade process for our users by automatically defining\n * this as well.\n */\n\n\n if (prefix === 'fas') {\n defineIcons('fa', icons);\n }\n}\n\nvar styles = namespace.styles,\n shims = namespace.shims;\nvar _byUnicode = {};\nvar _byLigature = {};\nvar _byOldName = {};\nvar build = function build() {\n var lookup = function lookup(reducer) {\n return reduce(styles, function (o, style, prefix) {\n o[prefix] = reduce(style, reducer, {});\n return o;\n }, {});\n };\n\n _byUnicode = lookup(function (acc, icon, iconName) {\n if (icon[3]) {\n acc[icon[3]] = iconName;\n }\n\n return acc;\n });\n _byLigature = lookup(function (acc, icon, iconName) {\n var ligatures = icon[2];\n acc[iconName] = iconName;\n ligatures.forEach(function (ligature) {\n acc[ligature] = iconName;\n });\n return acc;\n });\n var hasRegular = 'far' in styles;\n _byOldName = reduce(shims, function (acc, shim) {\n var oldName = shim[0];\n var prefix = shim[1];\n var iconName = shim[2];\n\n if (prefix === 'far' && !hasRegular) {\n prefix = 'fas';\n }\n\n acc[oldName] = {\n prefix: prefix,\n iconName: iconName\n };\n return acc;\n }, {});\n};\nbuild();\nfunction byUnicode(prefix, unicode) {\n return (_byUnicode[prefix] || {})[unicode];\n}\nfunction byLigature(prefix, ligature) {\n return (_byLigature[prefix] || {})[ligature];\n}\nfunction byOldName(name) {\n return _byOldName[name] || {\n prefix: null,\n iconName: null\n };\n}\n\nvar styles$1 = namespace.styles;\nvar emptyCanonicalIcon = function emptyCanonicalIcon() {\n return {\n prefix: null,\n iconName: null,\n rest: []\n };\n};\nfunction getCanonicalIcon(values) {\n return values.reduce(function (acc, cls) {\n var iconName = getIconName(config.familyPrefix, cls);\n\n if (styles$1[cls]) {\n acc.prefix = cls;\n } else if (config.autoFetchSvg && ['fas', 'far', 'fal', 'fad', 'fab', 'fa'].indexOf(cls) > -1) {\n acc.prefix = cls;\n } else if (iconName) {\n var shim = acc.prefix === 'fa' ? byOldName(iconName) : {};\n acc.iconName = shim.iconName || iconName;\n acc.prefix = shim.prefix || acc.prefix;\n } else if (cls !== config.replacementClass && cls.indexOf('fa-w-') !== 0) {\n acc.rest.push(cls);\n }\n\n return acc;\n }, emptyCanonicalIcon());\n}\nfunction iconFromMapping(mapping, prefix, iconName) {\n if (mapping && mapping[prefix] && mapping[prefix][iconName]) {\n return {\n prefix: prefix,\n iconName: iconName,\n icon: mapping[prefix][iconName]\n };\n }\n}\n\nfunction toHtml(abstractNodes) {\n var tag = abstractNodes.tag,\n _abstractNodes$attrib = abstractNodes.attributes,\n attributes = _abstractNodes$attrib === void 0 ? {} : _abstractNodes$attrib,\n _abstractNodes$childr = abstractNodes.children,\n children = _abstractNodes$childr === void 0 ? [] : _abstractNodes$childr;\n\n if (typeof abstractNodes === 'string') {\n return htmlEscape(abstractNodes);\n } else {\n return \"<\".concat(tag, \" \").concat(joinAttributes(attributes), \">\").concat(children.map(toHtml).join(''), \"\");\n }\n}\n\nvar noop$2 = function noop() {};\n\nfunction isWatched(node) {\n var i2svg = node.getAttribute ? node.getAttribute(DATA_FA_I2SVG) : null;\n return typeof i2svg === 'string';\n}\n\nfunction getMutator() {\n if (config.autoReplaceSvg === true) {\n return mutators.replace;\n }\n\n var mutator = mutators[config.autoReplaceSvg];\n return mutator || mutators.replace;\n}\n\nvar mutators = {\n replace: function replace(mutation) {\n var node = mutation[0];\n var abstract = mutation[1];\n var newOuterHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n\n if (node.parentNode && node.outerHTML) {\n node.outerHTML = newOuterHTML + (config.keepOriginalSource && node.tagName.toLowerCase() !== 'svg' ? \"\") : '');\n } else if (node.parentNode) {\n var newNode = document.createElement('span');\n node.parentNode.replaceChild(newNode, node);\n newNode.outerHTML = newOuterHTML;\n }\n },\n nest: function nest(mutation) {\n var node = mutation[0];\n var abstract = mutation[1]; // If we already have a replaced node we do not want to continue nesting within it.\n // Short-circuit to the standard replacement\n\n if (~classArray(node).indexOf(config.replacementClass)) {\n return mutators.replace(mutation);\n }\n\n var forSvg = new RegExp(\"\".concat(config.familyPrefix, \"-.*\"));\n delete abstract[0].attributes.style;\n delete abstract[0].attributes.id;\n var splitClasses = abstract[0].attributes.class.split(' ').reduce(function (acc, cls) {\n if (cls === config.replacementClass || cls.match(forSvg)) {\n acc.toSvg.push(cls);\n } else {\n acc.toNode.push(cls);\n }\n\n return acc;\n }, {\n toNode: [],\n toSvg: []\n });\n abstract[0].attributes.class = splitClasses.toSvg.join(' ');\n var newInnerHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n node.setAttribute('class', splitClasses.toNode.join(' '));\n node.setAttribute(DATA_FA_I2SVG, '');\n node.innerHTML = newInnerHTML;\n }\n};\n\nfunction performOperationSync(op) {\n op();\n}\n\nfunction perform(mutations, callback) {\n var callbackFunction = typeof callback === 'function' ? callback : noop$2;\n\n if (mutations.length === 0) {\n callbackFunction();\n } else {\n var frame = performOperationSync;\n\n if (config.mutateApproach === MUTATION_APPROACH_ASYNC) {\n frame = WINDOW.requestAnimationFrame || performOperationSync;\n }\n\n frame(function () {\n var mutator = getMutator();\n var mark = perf.begin('mutate');\n mutations.map(mutator);\n mark();\n callbackFunction();\n });\n }\n}\nvar disabled = false;\nfunction disableObservation() {\n disabled = true;\n}\nfunction enableObservation() {\n disabled = false;\n}\nvar mo = null;\nfunction observe(options) {\n if (!MUTATION_OBSERVER) {\n return;\n }\n\n if (!config.observeMutations) {\n return;\n }\n\n var treeCallback = options.treeCallback,\n nodeCallback = options.nodeCallback,\n pseudoElementsCallback = options.pseudoElementsCallback,\n _options$observeMutat = options.observeMutationsRoot,\n observeMutationsRoot = _options$observeMutat === void 0 ? DOCUMENT : _options$observeMutat;\n mo = new MUTATION_OBSERVER(function (objects) {\n if (disabled) return;\n toArray(objects).forEach(function (mutationRecord) {\n if (mutationRecord.type === 'childList' && mutationRecord.addedNodes.length > 0 && !isWatched(mutationRecord.addedNodes[0])) {\n if (config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target);\n }\n\n treeCallback(mutationRecord.target);\n }\n\n if (mutationRecord.type === 'attributes' && mutationRecord.target.parentNode && config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target.parentNode);\n }\n\n if (mutationRecord.type === 'attributes' && isWatched(mutationRecord.target) && ~ATTRIBUTES_WATCHED_FOR_MUTATION.indexOf(mutationRecord.attributeName)) {\n if (mutationRecord.attributeName === 'class') {\n var _getCanonicalIcon = getCanonicalIcon(classArray(mutationRecord.target)),\n prefix = _getCanonicalIcon.prefix,\n iconName = _getCanonicalIcon.iconName;\n\n if (prefix) mutationRecord.target.setAttribute('data-prefix', prefix);\n if (iconName) mutationRecord.target.setAttribute('data-icon', iconName);\n } else {\n nodeCallback(mutationRecord.target);\n }\n }\n });\n });\n if (!IS_DOM) return;\n mo.observe(observeMutationsRoot, {\n childList: true,\n attributes: true,\n characterData: true,\n subtree: true\n });\n}\nfunction disconnect() {\n if (!mo) return;\n mo.disconnect();\n}\n\nfunction styleParser (node) {\n var style = node.getAttribute('style');\n var val = [];\n\n if (style) {\n val = style.split(';').reduce(function (acc, style) {\n var styles = style.split(':');\n var prop = styles[0];\n var value = styles.slice(1);\n\n if (prop && value.length > 0) {\n acc[prop] = value.join(':').trim();\n }\n\n return acc;\n }, {});\n }\n\n return val;\n}\n\nfunction classParser (node) {\n var existingPrefix = node.getAttribute('data-prefix');\n var existingIconName = node.getAttribute('data-icon');\n var innerText = node.innerText !== undefined ? node.innerText.trim() : '';\n var val = getCanonicalIcon(classArray(node));\n\n if (existingPrefix && existingIconName) {\n val.prefix = existingPrefix;\n val.iconName = existingIconName;\n }\n\n if (val.prefix && innerText.length > 1) {\n val.iconName = byLigature(val.prefix, node.innerText);\n } else if (val.prefix && innerText.length === 1) {\n val.iconName = byUnicode(val.prefix, toHex(node.innerText));\n }\n\n return val;\n}\n\nvar parseTransformString = function parseTransformString(transformString) {\n var transform = {\n size: 16,\n x: 0,\n y: 0,\n flipX: false,\n flipY: false,\n rotate: 0\n };\n\n if (!transformString) {\n return transform;\n } else {\n return transformString.toLowerCase().split(' ').reduce(function (acc, n) {\n var parts = n.toLowerCase().split('-');\n var first = parts[0];\n var rest = parts.slice(1).join('-');\n\n if (first && rest === 'h') {\n acc.flipX = true;\n return acc;\n }\n\n if (first && rest === 'v') {\n acc.flipY = true;\n return acc;\n }\n\n rest = parseFloat(rest);\n\n if (isNaN(rest)) {\n return acc;\n }\n\n switch (first) {\n case 'grow':\n acc.size = acc.size + rest;\n break;\n\n case 'shrink':\n acc.size = acc.size - rest;\n break;\n\n case 'left':\n acc.x = acc.x - rest;\n break;\n\n case 'right':\n acc.x = acc.x + rest;\n break;\n\n case 'up':\n acc.y = acc.y - rest;\n break;\n\n case 'down':\n acc.y = acc.y + rest;\n break;\n\n case 'rotate':\n acc.rotate = acc.rotate + rest;\n break;\n }\n\n return acc;\n }, transform);\n }\n};\nfunction transformParser (node) {\n return parseTransformString(node.getAttribute('data-fa-transform'));\n}\n\nfunction symbolParser (node) {\n var symbol = node.getAttribute('data-fa-symbol');\n return symbol === null ? false : symbol === '' ? true : symbol;\n}\n\nfunction attributesParser (node) {\n var extraAttributes = toArray(node.attributes).reduce(function (acc, attr) {\n if (acc.name !== 'class' && acc.name !== 'style') {\n acc[attr.name] = attr.value;\n }\n\n return acc;\n }, {});\n var title = node.getAttribute('title');\n\n if (config.autoA11y) {\n if (title) {\n extraAttributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(nextUniqueId());\n } else {\n extraAttributes['aria-hidden'] = 'true';\n extraAttributes['focusable'] = 'false';\n }\n }\n\n return extraAttributes;\n}\n\nfunction maskParser (node) {\n var mask = node.getAttribute('data-fa-mask');\n\n if (!mask) {\n return emptyCanonicalIcon();\n } else {\n return getCanonicalIcon(mask.split(' ').map(function (i) {\n return i.trim();\n }));\n }\n}\n\nfunction blankMeta() {\n return {\n iconName: null,\n title: null,\n prefix: null,\n transform: meaninglessTransform,\n symbol: false,\n mask: null,\n extra: {\n classes: [],\n styles: {},\n attributes: {}\n }\n };\n}\nfunction parseMeta(node) {\n var _classParser = classParser(node),\n iconName = _classParser.iconName,\n prefix = _classParser.prefix,\n extraClasses = _classParser.rest;\n\n var extraStyles = styleParser(node);\n var transform = transformParser(node);\n var symbol = symbolParser(node);\n var extraAttributes = attributesParser(node);\n var mask = maskParser(node);\n return {\n iconName: iconName,\n title: node.getAttribute('title'),\n prefix: prefix,\n transform: transform,\n symbol: symbol,\n mask: mask,\n extra: {\n classes: extraClasses,\n styles: extraStyles,\n attributes: extraAttributes\n }\n };\n}\n\nfunction MissingIcon(error) {\n this.name = 'MissingIcon';\n this.message = error || 'Icon unavailable';\n this.stack = new Error().stack;\n}\nMissingIcon.prototype = Object.create(Error.prototype);\nMissingIcon.prototype.constructor = MissingIcon;\n\nvar FILL = {\n fill: 'currentColor'\n};\nvar ANIMATION_BASE = {\n attributeType: 'XML',\n repeatCount: 'indefinite',\n dur: '2s'\n};\nvar RING = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n d: 'M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z'\n })\n};\n\nvar OPACITY_ANIMATE = _objectSpread({}, ANIMATION_BASE, {\n attributeName: 'opacity'\n});\n\nvar DOT = {\n tag: 'circle',\n attributes: _objectSpread({}, FILL, {\n cx: '256',\n cy: '364',\n r: '28'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, ANIMATION_BASE, {\n attributeName: 'r',\n values: '28;14;28;28;14;28;'\n })\n }, {\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '1;0;1;1;0;1;'\n })\n }]\n};\nvar QUESTION = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n opacity: '1',\n d: 'M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '1;0;0;0;0;1;'\n })\n }]\n};\nvar EXCLAMATION = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n opacity: '0',\n d: 'M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '0;0;1;1;0;0;'\n })\n }]\n};\nvar missing = {\n tag: 'g',\n children: [RING, DOT, QUESTION, EXCLAMATION]\n};\n\nvar styles$2 = namespace.styles;\nfunction asFoundIcon(icon) {\n var width = icon[0];\n var height = icon[1];\n\n var _icon$slice = icon.slice(4),\n _icon$slice2 = _slicedToArray(_icon$slice, 1),\n vectorData = _icon$slice2[0];\n\n var element = null;\n\n if (Array.isArray(vectorData)) {\n element = {\n tag: 'g',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.GROUP)\n },\n children: [{\n tag: 'path',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.SECONDARY),\n fill: 'currentColor',\n d: vectorData[0]\n }\n }, {\n tag: 'path',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.PRIMARY),\n fill: 'currentColor',\n d: vectorData[1]\n }\n }]\n };\n } else {\n element = {\n tag: 'path',\n attributes: {\n fill: 'currentColor',\n d: vectorData\n }\n };\n }\n\n return {\n found: true,\n width: width,\n height: height,\n icon: element\n };\n}\nfunction findIcon(iconName, prefix) {\n return new picked(function (resolve, reject) {\n var val = {\n found: false,\n width: 512,\n height: 512,\n icon: missing\n };\n\n if (iconName && prefix && styles$2[prefix] && styles$2[prefix][iconName]) {\n var icon = styles$2[prefix][iconName];\n return resolve(asFoundIcon(icon));\n }\n\n var headers = {};\n\n if (_typeof(WINDOW.FontAwesomeKitConfig) === 'object' && typeof window.FontAwesomeKitConfig.token === 'string') {\n headers['fa-kit-token'] = WINDOW.FontAwesomeKitConfig.token;\n }\n\n if (iconName && prefix && !config.showMissingIcons) {\n reject(new MissingIcon(\"Icon is missing for prefix \".concat(prefix, \" with icon name \").concat(iconName)));\n } else {\n resolve(val);\n }\n });\n}\n\nvar styles$3 = namespace.styles;\n\nfunction generateSvgReplacementMutation(node, nodeMeta) {\n var iconName = nodeMeta.iconName,\n title = nodeMeta.title,\n prefix = nodeMeta.prefix,\n transform = nodeMeta.transform,\n symbol = nodeMeta.symbol,\n mask = nodeMeta.mask,\n extra = nodeMeta.extra;\n return new picked(function (resolve, reject) {\n picked.all([findIcon(iconName, prefix), findIcon(mask.iconName, mask.prefix)]).then(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n main = _ref2[0],\n mask = _ref2[1];\n\n resolve([node, makeInlineSvgAbstract({\n icons: {\n main: main,\n mask: mask\n },\n prefix: prefix,\n iconName: iconName,\n transform: transform,\n symbol: symbol,\n mask: mask,\n title: title,\n extra: extra,\n watchable: true\n })]);\n });\n });\n}\n\nfunction generateLayersText(node, nodeMeta) {\n var title = nodeMeta.title,\n transform = nodeMeta.transform,\n extra = nodeMeta.extra;\n var width = null;\n var height = null;\n\n if (IS_IE) {\n var computedFontSize = parseInt(getComputedStyle(node).fontSize, 10);\n var boundingClientRect = node.getBoundingClientRect();\n width = boundingClientRect.width / computedFontSize;\n height = boundingClientRect.height / computedFontSize;\n }\n\n if (config.autoA11y && !title) {\n extra.attributes['aria-hidden'] = 'true';\n }\n\n return picked.resolve([node, makeLayersTextAbstract({\n content: node.innerHTML,\n width: width,\n height: height,\n transform: transform,\n title: title,\n extra: extra,\n watchable: true\n })]);\n}\n\nfunction generateMutation(node) {\n var nodeMeta = parseMeta(node);\n\n if (~nodeMeta.extra.classes.indexOf(LAYERS_TEXT_CLASSNAME)) {\n return generateLayersText(node, nodeMeta);\n } else {\n return generateSvgReplacementMutation(node, nodeMeta);\n }\n}\n\nfunction onTree(root) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n if (!IS_DOM) return;\n var htmlClassList = DOCUMENT.documentElement.classList;\n\n var hclAdd = function hclAdd(suffix) {\n return htmlClassList.add(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n\n var hclRemove = function hclRemove(suffix) {\n return htmlClassList.remove(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n\n var prefixes = config.autoFetchSvg ? Object.keys(PREFIX_TO_STYLE) : Object.keys(styles$3);\n var prefixesDomQuery = [\".\".concat(LAYERS_TEXT_CLASSNAME, \":not([\").concat(DATA_FA_I2SVG, \"])\")].concat(prefixes.map(function (p) {\n return \".\".concat(p, \":not([\").concat(DATA_FA_I2SVG, \"])\");\n })).join(', ');\n\n if (prefixesDomQuery.length === 0) {\n return;\n }\n\n var candidates = [];\n\n try {\n candidates = toArray(root.querySelectorAll(prefixesDomQuery));\n } catch (e) {// noop\n }\n\n if (candidates.length > 0) {\n hclAdd('pending');\n hclRemove('complete');\n } else {\n return;\n }\n\n var mark = perf.begin('onTree');\n var mutations = candidates.reduce(function (acc, node) {\n try {\n var mutation = generateMutation(node);\n\n if (mutation) {\n acc.push(mutation);\n }\n } catch (e) {\n if (!PRODUCTION) {\n if (e instanceof MissingIcon) {\n console.error(e);\n }\n }\n }\n\n return acc;\n }, []);\n return new picked(function (resolve, reject) {\n picked.all(mutations).then(function (resolvedMutations) {\n perform(resolvedMutations, function () {\n hclAdd('active');\n hclAdd('complete');\n hclRemove('pending');\n if (typeof callback === 'function') callback();\n mark();\n resolve();\n });\n }).catch(function () {\n mark();\n reject();\n });\n });\n}\nfunction onNode(node) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n generateMutation(node).then(function (mutation) {\n if (mutation) {\n perform([mutation], callback);\n }\n });\n}\n\nfunction replaceForPosition(node, position) {\n var pendingAttribute = \"\".concat(DATA_FA_PSEUDO_ELEMENT_PENDING).concat(position.replace(':', '-'));\n return new picked(function (resolve, reject) {\n if (node.getAttribute(pendingAttribute) !== null) {\n // This node is already being processed\n return resolve();\n }\n\n var children = toArray(node.children);\n var alreadyProcessedPseudoElement = children.filter(function (c) {\n return c.getAttribute(DATA_FA_PSEUDO_ELEMENT) === position;\n })[0];\n var styles = WINDOW.getComputedStyle(node, position);\n var fontFamily = styles.getPropertyValue('font-family').match(FONT_FAMILY_PATTERN);\n var fontWeight = styles.getPropertyValue('font-weight');\n\n if (alreadyProcessedPseudoElement && !fontFamily) {\n // If we've already processed it but the current computed style does not result in a font-family,\n // that probably means that a class name that was previously present to make the icon has been\n // removed. So we now should delete the icon.\n node.removeChild(alreadyProcessedPseudoElement);\n return resolve();\n } else if (fontFamily) {\n var content = styles.getPropertyValue('content');\n var prefix = ~['Solid', 'Regular', 'Light', 'Duotone', 'Brands'].indexOf(fontFamily[1]) ? STYLE_TO_PREFIX[fontFamily[1].toLowerCase()] : FONT_WEIGHT_TO_PREFIX[fontWeight];\n var hexValue = toHex(content.length === 3 ? content.substr(1, 1) : content);\n var iconName = byUnicode(prefix, hexValue);\n var iconIdentifier = iconName; // Only convert the pseudo element in this :before/:after position into an icon if we haven't\n // already done so with the same prefix and iconName\n\n if (iconName && (!alreadyProcessedPseudoElement || alreadyProcessedPseudoElement.getAttribute(DATA_PREFIX) !== prefix || alreadyProcessedPseudoElement.getAttribute(DATA_ICON) !== iconIdentifier)) {\n node.setAttribute(pendingAttribute, iconIdentifier);\n\n if (alreadyProcessedPseudoElement) {\n // Delete the old one, since we're replacing it with a new one\n node.removeChild(alreadyProcessedPseudoElement);\n }\n\n var meta = blankMeta();\n var extra = meta.extra;\n extra.attributes[DATA_FA_PSEUDO_ELEMENT] = position;\n findIcon(iconName, prefix).then(function (main) {\n var abstract = makeInlineSvgAbstract(_objectSpread({}, meta, {\n icons: {\n main: main,\n mask: emptyCanonicalIcon()\n },\n prefix: prefix,\n iconName: iconIdentifier,\n extra: extra,\n watchable: true\n }));\n var element = DOCUMENT.createElement('svg');\n\n if (position === ':before') {\n node.insertBefore(element, node.firstChild);\n } else {\n node.appendChild(element);\n }\n\n element.outerHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n node.removeAttribute(pendingAttribute);\n resolve();\n }).catch(reject);\n } else {\n resolve();\n }\n } else {\n resolve();\n }\n });\n}\n\nfunction replace(node) {\n return picked.all([replaceForPosition(node, ':before'), replaceForPosition(node, ':after')]);\n}\n\nfunction processable(node) {\n return node.parentNode !== document.head && !~TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS.indexOf(node.tagName.toUpperCase()) && !node.getAttribute(DATA_FA_PSEUDO_ELEMENT) && (!node.parentNode || node.parentNode.tagName !== 'svg');\n}\n\nfunction searchPseudoElements (root) {\n if (!IS_DOM) return;\n return new picked(function (resolve, reject) {\n var operations = toArray(root.querySelectorAll('*')).filter(processable).map(replace);\n var end = perf.begin('searchPseudoElements');\n disableObservation();\n picked.all(operations).then(function () {\n end();\n enableObservation();\n resolve();\n }).catch(function () {\n end();\n enableObservation();\n reject();\n });\n });\n}\n\nvar baseStyles = \"svg:not(:root).svg-inline--fa {\\n overflow: visible;\\n}\\n\\n.svg-inline--fa {\\n display: inline-block;\\n font-size: inherit;\\n height: 1em;\\n overflow: visible;\\n vertical-align: -0.125em;\\n}\\n.svg-inline--fa.fa-lg {\\n vertical-align: -0.225em;\\n}\\n.svg-inline--fa.fa-w-1 {\\n width: 0.0625em;\\n}\\n.svg-inline--fa.fa-w-2 {\\n width: 0.125em;\\n}\\n.svg-inline--fa.fa-w-3 {\\n width: 0.1875em;\\n}\\n.svg-inline--fa.fa-w-4 {\\n width: 0.25em;\\n}\\n.svg-inline--fa.fa-w-5 {\\n width: 0.3125em;\\n}\\n.svg-inline--fa.fa-w-6 {\\n width: 0.375em;\\n}\\n.svg-inline--fa.fa-w-7 {\\n width: 0.4375em;\\n}\\n.svg-inline--fa.fa-w-8 {\\n width: 0.5em;\\n}\\n.svg-inline--fa.fa-w-9 {\\n width: 0.5625em;\\n}\\n.svg-inline--fa.fa-w-10 {\\n width: 0.625em;\\n}\\n.svg-inline--fa.fa-w-11 {\\n width: 0.6875em;\\n}\\n.svg-inline--fa.fa-w-12 {\\n width: 0.75em;\\n}\\n.svg-inline--fa.fa-w-13 {\\n width: 0.8125em;\\n}\\n.svg-inline--fa.fa-w-14 {\\n width: 0.875em;\\n}\\n.svg-inline--fa.fa-w-15 {\\n width: 0.9375em;\\n}\\n.svg-inline--fa.fa-w-16 {\\n width: 1em;\\n}\\n.svg-inline--fa.fa-w-17 {\\n width: 1.0625em;\\n}\\n.svg-inline--fa.fa-w-18 {\\n width: 1.125em;\\n}\\n.svg-inline--fa.fa-w-19 {\\n width: 1.1875em;\\n}\\n.svg-inline--fa.fa-w-20 {\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-pull-left {\\n margin-right: 0.3em;\\n width: auto;\\n}\\n.svg-inline--fa.fa-pull-right {\\n margin-left: 0.3em;\\n width: auto;\\n}\\n.svg-inline--fa.fa-border {\\n height: 1.5em;\\n}\\n.svg-inline--fa.fa-li {\\n width: 2em;\\n}\\n.svg-inline--fa.fa-fw {\\n width: 1.25em;\\n}\\n\\n.fa-layers svg.svg-inline--fa {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.fa-layers {\\n display: inline-block;\\n height: 1em;\\n position: relative;\\n text-align: center;\\n vertical-align: -0.125em;\\n width: 1em;\\n}\\n.fa-layers svg.svg-inline--fa {\\n -webkit-transform-origin: center center;\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter, .fa-layers-text {\\n display: inline-block;\\n position: absolute;\\n text-align: center;\\n}\\n\\n.fa-layers-text {\\n left: 50%;\\n top: 50%;\\n -webkit-transform: translate(-50%, -50%);\\n transform: translate(-50%, -50%);\\n -webkit-transform-origin: center center;\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter {\\n background-color: #ff253a;\\n border-radius: 1em;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n color: #fff;\\n height: 1.5em;\\n line-height: 1;\\n max-width: 5em;\\n min-width: 1.5em;\\n overflow: hidden;\\n padding: 0.25em;\\n right: 0;\\n text-overflow: ellipsis;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-bottom-right {\\n bottom: 0;\\n right: 0;\\n top: auto;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: bottom right;\\n transform-origin: bottom right;\\n}\\n\\n.fa-layers-bottom-left {\\n bottom: 0;\\n left: 0;\\n right: auto;\\n top: auto;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: bottom left;\\n transform-origin: bottom left;\\n}\\n\\n.fa-layers-top-right {\\n right: 0;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-top-left {\\n left: 0;\\n right: auto;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top left;\\n transform-origin: top left;\\n}\\n\\n.fa-lg {\\n font-size: 1.3333333333em;\\n line-height: 0.75em;\\n vertical-align: -0.0667em;\\n}\\n\\n.fa-xs {\\n font-size: 0.75em;\\n}\\n\\n.fa-sm {\\n font-size: 0.875em;\\n}\\n\\n.fa-1x {\\n font-size: 1em;\\n}\\n\\n.fa-2x {\\n font-size: 2em;\\n}\\n\\n.fa-3x {\\n font-size: 3em;\\n}\\n\\n.fa-4x {\\n font-size: 4em;\\n}\\n\\n.fa-5x {\\n font-size: 5em;\\n}\\n\\n.fa-6x {\\n font-size: 6em;\\n}\\n\\n.fa-7x {\\n font-size: 7em;\\n}\\n\\n.fa-8x {\\n font-size: 8em;\\n}\\n\\n.fa-9x {\\n font-size: 9em;\\n}\\n\\n.fa-10x {\\n font-size: 10em;\\n}\\n\\n.fa-fw {\\n text-align: center;\\n width: 1.25em;\\n}\\n\\n.fa-ul {\\n list-style-type: none;\\n margin-left: 2.5em;\\n padding-left: 0;\\n}\\n.fa-ul > li {\\n position: relative;\\n}\\n\\n.fa-li {\\n left: -2em;\\n position: absolute;\\n text-align: center;\\n width: 2em;\\n line-height: inherit;\\n}\\n\\n.fa-border {\\n border: solid 0.08em #eee;\\n border-radius: 0.1em;\\n padding: 0.2em 0.25em 0.15em;\\n}\\n\\n.fa-pull-left {\\n float: left;\\n}\\n\\n.fa-pull-right {\\n float: right;\\n}\\n\\n.fa.fa-pull-left,\\n.fas.fa-pull-left,\\n.far.fa-pull-left,\\n.fal.fa-pull-left,\\n.fab.fa-pull-left {\\n margin-right: 0.3em;\\n}\\n.fa.fa-pull-right,\\n.fas.fa-pull-right,\\n.far.fa-pull-right,\\n.fal.fa-pull-right,\\n.fab.fa-pull-right {\\n margin-left: 0.3em;\\n}\\n\\n.fa-spin {\\n -webkit-animation: fa-spin 2s infinite linear;\\n animation: fa-spin 2s infinite linear;\\n}\\n\\n.fa-pulse {\\n -webkit-animation: fa-spin 1s infinite steps(8);\\n animation: fa-spin 1s infinite steps(8);\\n}\\n\\n@-webkit-keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\\n@keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n.fa-rotate-90 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\\\";\\n -webkit-transform: rotate(90deg);\\n transform: rotate(90deg);\\n}\\n\\n.fa-rotate-180 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\\\";\\n -webkit-transform: rotate(180deg);\\n transform: rotate(180deg);\\n}\\n\\n.fa-rotate-270 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\\\";\\n -webkit-transform: rotate(270deg);\\n transform: rotate(270deg);\\n}\\n\\n.fa-flip-horizontal {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\\\";\\n -webkit-transform: scale(-1, 1);\\n transform: scale(-1, 1);\\n}\\n\\n.fa-flip-vertical {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\";\\n -webkit-transform: scale(1, -1);\\n transform: scale(1, -1);\\n}\\n\\n.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\";\\n -webkit-transform: scale(-1, -1);\\n transform: scale(-1, -1);\\n}\\n\\n:root .fa-rotate-90,\\n:root .fa-rotate-180,\\n:root .fa-rotate-270,\\n:root .fa-flip-horizontal,\\n:root .fa-flip-vertical,\\n:root .fa-flip-both {\\n -webkit-filter: none;\\n filter: none;\\n}\\n\\n.fa-stack {\\n display: inline-block;\\n height: 2em;\\n position: relative;\\n width: 2.5em;\\n}\\n\\n.fa-stack-1x,\\n.fa-stack-2x {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.svg-inline--fa.fa-stack-1x {\\n height: 1em;\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-stack-2x {\\n height: 2em;\\n width: 2.5em;\\n}\\n\\n.fa-inverse {\\n color: #fff;\\n}\\n\\n.sr-only {\\n border: 0;\\n clip: rect(0, 0, 0, 0);\\n height: 1px;\\n margin: -1px;\\n overflow: hidden;\\n padding: 0;\\n position: absolute;\\n width: 1px;\\n}\\n\\n.sr-only-focusable:active, .sr-only-focusable:focus {\\n clip: auto;\\n height: auto;\\n margin: 0;\\n overflow: visible;\\n position: static;\\n width: auto;\\n}\\n\\n.svg-inline--fa .fa-primary {\\n fill: var(--fa-primary-color, currentColor);\\n opacity: 1;\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa .fa-secondary {\\n fill: var(--fa-secondary-color, currentColor);\\n opacity: 0.4;\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-primary {\\n opacity: 0.4;\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\\n opacity: 1;\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa mask .fa-primary,\\n.svg-inline--fa mask .fa-secondary {\\n fill: black;\\n}\\n\\n.fad.fa-inverse {\\n color: #fff;\\n}\";\n\nfunction css () {\n var dfp = DEFAULT_FAMILY_PREFIX;\n var drc = DEFAULT_REPLACEMENT_CLASS;\n var fp = config.familyPrefix;\n var rc = config.replacementClass;\n var s = baseStyles;\n\n if (fp !== dfp || rc !== drc) {\n var dPatt = new RegExp(\"\\\\.\".concat(dfp, \"\\\\-\"), 'g');\n var customPropPatt = new RegExp(\"\\\\--\".concat(dfp, \"\\\\-\"), 'g');\n var rPatt = new RegExp(\"\\\\.\".concat(drc), 'g');\n s = s.replace(dPatt, \".\".concat(fp, \"-\")).replace(customPropPatt, \"--\".concat(fp, \"-\")).replace(rPatt, \".\".concat(rc));\n }\n\n return s;\n}\n\nvar Library =\n/*#__PURE__*/\nfunction () {\n function Library() {\n _classCallCheck(this, Library);\n\n this.definitions = {};\n }\n\n _createClass(Library, [{\n key: \"add\",\n value: function add() {\n var _this = this;\n\n for (var _len = arguments.length, definitions = new Array(_len), _key = 0; _key < _len; _key++) {\n definitions[_key] = arguments[_key];\n }\n\n var additions = definitions.reduce(this._pullDefinitions, {});\n Object.keys(additions).forEach(function (key) {\n _this.definitions[key] = _objectSpread({}, _this.definitions[key] || {}, additions[key]);\n defineIcons(key, additions[key]);\n build();\n });\n }\n }, {\n key: \"reset\",\n value: function reset() {\n this.definitions = {};\n }\n }, {\n key: \"_pullDefinitions\",\n value: function _pullDefinitions(additions, definition) {\n var normalized = definition.prefix && definition.iconName && definition.icon ? {\n 0: definition\n } : definition;\n Object.keys(normalized).map(function (key) {\n var _normalized$key = normalized[key],\n prefix = _normalized$key.prefix,\n iconName = _normalized$key.iconName,\n icon = _normalized$key.icon;\n if (!additions[prefix]) additions[prefix] = {};\n additions[prefix][iconName] = icon;\n });\n return additions;\n }\n }]);\n\n return Library;\n}();\n\nfunction ensureCss() {\n if (config.autoAddCss && !_cssInserted) {\n insertCss(css());\n\n _cssInserted = true;\n }\n}\n\nfunction apiObject(val, abstractCreator) {\n Object.defineProperty(val, 'abstract', {\n get: abstractCreator\n });\n Object.defineProperty(val, 'html', {\n get: function get() {\n return val.abstract.map(function (a) {\n return toHtml(a);\n });\n }\n });\n Object.defineProperty(val, 'node', {\n get: function get() {\n if (!IS_DOM) return;\n var container = DOCUMENT.createElement('div');\n container.innerHTML = val.html;\n return container.children;\n }\n });\n return val;\n}\n\nfunction findIconDefinition(iconLookup) {\n var _iconLookup$prefix = iconLookup.prefix,\n prefix = _iconLookup$prefix === void 0 ? 'fa' : _iconLookup$prefix,\n iconName = iconLookup.iconName;\n if (!iconName) return;\n return iconFromMapping(library.definitions, prefix, iconName) || iconFromMapping(namespace.styles, prefix, iconName);\n}\n\nfunction resolveIcons(next) {\n return function (maybeIconDefinition) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var iconDefinition = (maybeIconDefinition || {}).icon ? maybeIconDefinition : findIconDefinition(maybeIconDefinition || {});\n var mask = params.mask;\n\n if (mask) {\n mask = (mask || {}).icon ? mask : findIconDefinition(mask || {});\n }\n\n return next(iconDefinition, _objectSpread({}, params, {\n mask: mask\n }));\n };\n}\n\nvar library = new Library();\nvar noAuto = function noAuto() {\n config.autoReplaceSvg = false;\n config.observeMutations = false;\n disconnect();\n};\nvar _cssInserted = false;\nvar dom = {\n i2svg: function i2svg() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (IS_DOM) {\n ensureCss();\n var _params$node = params.node,\n node = _params$node === void 0 ? DOCUMENT : _params$node,\n _params$callback = params.callback,\n callback = _params$callback === void 0 ? function () {} : _params$callback;\n\n if (config.searchPseudoElements) {\n searchPseudoElements(node);\n }\n\n return onTree(node, callback);\n } else {\n return picked.reject('Operation requires a DOM of some kind.');\n }\n },\n css: css,\n insertCss: function insertCss$$1() {\n if (!_cssInserted) {\n insertCss(css());\n\n _cssInserted = true;\n }\n },\n watch: function watch() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var autoReplaceSvgRoot = params.autoReplaceSvgRoot,\n observeMutationsRoot = params.observeMutationsRoot;\n\n if (config.autoReplaceSvg === false) {\n config.autoReplaceSvg = true;\n }\n\n config.observeMutations = true;\n domready(function () {\n autoReplace({\n autoReplaceSvgRoot: autoReplaceSvgRoot\n });\n observe({\n treeCallback: onTree,\n nodeCallback: onNode,\n pseudoElementsCallback: searchPseudoElements,\n observeMutationsRoot: observeMutationsRoot\n });\n });\n }\n};\nvar parse = {\n transform: function transform(transformString) {\n return parseTransformString(transformString);\n }\n};\nvar icon = resolveIcons(function (iconDefinition) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform = params.transform,\n transform = _params$transform === void 0 ? meaninglessTransform : _params$transform,\n _params$symbol = params.symbol,\n symbol = _params$symbol === void 0 ? false : _params$symbol,\n _params$mask = params.mask,\n mask = _params$mask === void 0 ? null : _params$mask,\n _params$title = params.title,\n title = _params$title === void 0 ? null : _params$title,\n _params$classes = params.classes,\n classes = _params$classes === void 0 ? [] : _params$classes,\n _params$attributes = params.attributes,\n attributes = _params$attributes === void 0 ? {} : _params$attributes,\n _params$styles = params.styles,\n styles = _params$styles === void 0 ? {} : _params$styles;\n if (!iconDefinition) return;\n var prefix = iconDefinition.prefix,\n iconName = iconDefinition.iconName,\n icon = iconDefinition.icon;\n return apiObject(_objectSpread({\n type: 'icon'\n }, iconDefinition), function () {\n ensureCss();\n\n if (config.autoA11y) {\n if (title) {\n attributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(nextUniqueId());\n } else {\n attributes['aria-hidden'] = 'true';\n attributes['focusable'] = 'false';\n }\n }\n\n return makeInlineSvgAbstract({\n icons: {\n main: asFoundIcon(icon),\n mask: mask ? asFoundIcon(mask.icon) : {\n found: false,\n width: null,\n height: null,\n icon: {}\n }\n },\n prefix: prefix,\n iconName: iconName,\n transform: _objectSpread({}, meaninglessTransform, transform),\n symbol: symbol,\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: classes\n }\n });\n });\n});\nvar text = function text(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform2 = params.transform,\n transform = _params$transform2 === void 0 ? meaninglessTransform : _params$transform2,\n _params$title2 = params.title,\n title = _params$title2 === void 0 ? null : _params$title2,\n _params$classes2 = params.classes,\n classes = _params$classes2 === void 0 ? [] : _params$classes2,\n _params$attributes2 = params.attributes,\n attributes = _params$attributes2 === void 0 ? {} : _params$attributes2,\n _params$styles2 = params.styles,\n styles = _params$styles2 === void 0 ? {} : _params$styles2;\n return apiObject({\n type: 'text',\n content: content\n }, function () {\n ensureCss();\n return makeLayersTextAbstract({\n content: content,\n transform: _objectSpread({}, meaninglessTransform, transform),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.familyPrefix, \"-layers-text\")].concat(_toConsumableArray(classes))\n }\n });\n });\n};\nvar counter = function counter(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$title3 = params.title,\n title = _params$title3 === void 0 ? null : _params$title3,\n _params$classes3 = params.classes,\n classes = _params$classes3 === void 0 ? [] : _params$classes3,\n _params$attributes3 = params.attributes,\n attributes = _params$attributes3 === void 0 ? {} : _params$attributes3,\n _params$styles3 = params.styles,\n styles = _params$styles3 === void 0 ? {} : _params$styles3;\n return apiObject({\n type: 'counter',\n content: content\n }, function () {\n ensureCss();\n return makeLayersCounterAbstract({\n content: content.toString(),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.familyPrefix, \"-layers-counter\")].concat(_toConsumableArray(classes))\n }\n });\n });\n};\nvar layer = function layer(assembler) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$classes4 = params.classes,\n classes = _params$classes4 === void 0 ? [] : _params$classes4;\n return apiObject({\n type: 'layer'\n }, function () {\n ensureCss();\n var children = [];\n assembler(function (args) {\n Array.isArray(args) ? args.map(function (a) {\n children = children.concat(a.abstract);\n }) : children = children.concat(args.abstract);\n });\n return [{\n tag: 'span',\n attributes: {\n class: [\"\".concat(config.familyPrefix, \"-layers\")].concat(_toConsumableArray(classes)).join(' ')\n },\n children: children\n }];\n });\n};\nvar api = {\n noAuto: noAuto,\n config: config,\n dom: dom,\n library: library,\n parse: parse,\n findIconDefinition: findIconDefinition,\n icon: icon,\n text: text,\n counter: counter,\n layer: layer,\n toHtml: toHtml\n};\n\nvar autoReplace = function autoReplace() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _params$autoReplaceSv = params.autoReplaceSvgRoot,\n autoReplaceSvgRoot = _params$autoReplaceSv === void 0 ? DOCUMENT : _params$autoReplaceSv;\n if ((Object.keys(namespace.styles).length > 0 || config.autoFetchSvg) && IS_DOM && config.autoReplaceSvg) api.dom.i2svg({\n node: autoReplaceSvgRoot\n });\n};\n\nexport { icon, noAuto, config, toHtml, layer, text, counter, library, dom, parse, findIconDefinition };\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",f=\"month\",h=\"quarter\",c=\"year\",d=\"date\",$=\"Invalid Date\",l=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\")},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},g={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(v=i),i||!r&&v},w=function(t,e){if(p(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},O=g;O.l=S,O.i=p,O.w=function(t,e){return w(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=S(t.locale,null,!0),this.parse(t)}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(O.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match(l);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.$x=t.x||{},this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return O},m.isValid=function(){return!(this.$d.toString()===$)},m.isSame=function(t,e){var n=w(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return w(t) 1) {\n return \"element\";\n }\n\n return type;\n};\n\nclassname.extend = function (obj1, obj2) {\n var result = {},\n objs = [obj1, obj2];\n\n classname.each(objs, function (obj) {\n classname.each(obj, function (val, key) {\n if (obj.hasOwnProperty(key)) {\n result[key] = val;\n }\n });\n });\n\n return result;\n};\n\nif (typeof module !== \"undefined\" && module.exports) {\n module.exports = classname;\n}\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\nvar enhanceError = require('./core/enhanceError');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n },\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data) || (headers && headers['Content-Type'] === 'application/json')) {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw enhanceError(e, this, 'E_JSON_PARSE');\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar hexTable = (function () {\n var array = [];\n for (var i = 0; i < 256; ++i) {\n array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());\n }\n\n return array;\n}());\n\nvar compactQueue = function compactQueue(queue) {\n while (queue.length > 1) {\n var item = queue.pop();\n var obj = item.obj[item.prop];\n\n if (isArray(obj)) {\n var compacted = [];\n\n for (var j = 0; j < obj.length; ++j) {\n if (typeof obj[j] !== 'undefined') {\n compacted.push(obj[j]);\n }\n }\n\n item.obj[item.prop] = compacted;\n }\n }\n};\n\nvar arrayToObject = function arrayToObject(source, options) {\n var obj = options && options.plainObjects ? Object.create(null) : {};\n for (var i = 0; i < source.length; ++i) {\n if (typeof source[i] !== 'undefined') {\n obj[i] = source[i];\n }\n }\n\n return obj;\n};\n\nvar merge = function merge(target, source, options) {\n /* eslint no-param-reassign: 0 */\n if (!source) {\n return target;\n }\n\n if (typeof source !== 'object') {\n if (isArray(target)) {\n target.push(source);\n } else if (target && typeof target === 'object') {\n if ((options && (options.plainObjects || options.allowPrototypes)) || !has.call(Object.prototype, source)) {\n target[source] = true;\n }\n } else {\n return [target, source];\n }\n\n return target;\n }\n\n if (!target || typeof target !== 'object') {\n return [target].concat(source);\n }\n\n var mergeTarget = target;\n if (isArray(target) && !isArray(source)) {\n mergeTarget = arrayToObject(target, options);\n }\n\n if (isArray(target) && isArray(source)) {\n source.forEach(function (item, i) {\n if (has.call(target, i)) {\n var targetItem = target[i];\n if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') {\n target[i] = merge(targetItem, item, options);\n } else {\n target.push(item);\n }\n } else {\n target[i] = item;\n }\n });\n return target;\n }\n\n return Object.keys(source).reduce(function (acc, key) {\n var value = source[key];\n\n if (has.call(acc, key)) {\n acc[key] = merge(acc[key], value, options);\n } else {\n acc[key] = value;\n }\n return acc;\n }, mergeTarget);\n};\n\nvar assign = function assignSingleSource(target, source) {\n return Object.keys(source).reduce(function (acc, key) {\n acc[key] = source[key];\n return acc;\n }, target);\n};\n\nvar decode = function (str, decoder, charset) {\n var strWithoutPlus = str.replace(/\\+/g, ' ');\n if (charset === 'iso-8859-1') {\n // unescape never throws, no try...catch needed:\n return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);\n }\n // utf-8\n try {\n return decodeURIComponent(strWithoutPlus);\n } catch (e) {\n return strWithoutPlus;\n }\n};\n\nvar encode = function encode(str, defaultEncoder, charset) {\n // This code was originally written by Brian White (mscdex) for the io.js core querystring library.\n // It has been adapted here for stricter adherence to RFC 3986\n if (str.length === 0) {\n return str;\n }\n\n var string = str;\n if (typeof str === 'symbol') {\n string = Symbol.prototype.toString.call(str);\n } else if (typeof str !== 'string') {\n string = String(str);\n }\n\n if (charset === 'iso-8859-1') {\n return escape(string).replace(/%u[0-9a-f]{4}/gi, function ($0) {\n return '%26%23' + parseInt($0.slice(2), 16) + '%3B';\n });\n }\n\n var out = '';\n for (var i = 0; i < string.length; ++i) {\n var c = string.charCodeAt(i);\n\n if (\n c === 0x2D // -\n || c === 0x2E // .\n || c === 0x5F // _\n || c === 0x7E // ~\n || (c >= 0x30 && c <= 0x39) // 0-9\n || (c >= 0x41 && c <= 0x5A) // a-z\n || (c >= 0x61 && c <= 0x7A) // A-Z\n ) {\n out += string.charAt(i);\n continue;\n }\n\n if (c < 0x80) {\n out = out + hexTable[c];\n continue;\n }\n\n if (c < 0x800) {\n out = out + (hexTable[0xC0 | (c >> 6)] + hexTable[0x80 | (c & 0x3F)]);\n continue;\n }\n\n if (c < 0xD800 || c >= 0xE000) {\n out = out + (hexTable[0xE0 | (c >> 12)] + hexTable[0x80 | ((c >> 6) & 0x3F)] + hexTable[0x80 | (c & 0x3F)]);\n continue;\n }\n\n i += 1;\n c = 0x10000 + (((c & 0x3FF) << 10) | (string.charCodeAt(i) & 0x3FF));\n out += hexTable[0xF0 | (c >> 18)]\n + hexTable[0x80 | ((c >> 12) & 0x3F)]\n + hexTable[0x80 | ((c >> 6) & 0x3F)]\n + hexTable[0x80 | (c & 0x3F)];\n }\n\n return out;\n};\n\nvar compact = function compact(value) {\n var queue = [{ obj: { o: value }, prop: 'o' }];\n var refs = [];\n\n for (var i = 0; i < queue.length; ++i) {\n var item = queue[i];\n var obj = item.obj[item.prop];\n\n var keys = Object.keys(obj);\n for (var j = 0; j < keys.length; ++j) {\n var key = keys[j];\n var val = obj[key];\n if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) {\n queue.push({ obj: obj, prop: key });\n refs.push(val);\n }\n }\n }\n\n compactQueue(queue);\n\n return value;\n};\n\nvar isRegExp = function isRegExp(obj) {\n return Object.prototype.toString.call(obj) === '[object RegExp]';\n};\n\nvar isBuffer = function isBuffer(obj) {\n if (!obj || typeof obj !== 'object') {\n return false;\n }\n\n return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));\n};\n\nvar combine = function combine(a, b) {\n return [].concat(a, b);\n};\n\nvar maybeMap = function maybeMap(val, fn) {\n if (isArray(val)) {\n var mapped = [];\n for (var i = 0; i < val.length; i += 1) {\n mapped.push(fn(val[i]));\n }\n return mapped;\n }\n return fn(val);\n};\n\nmodule.exports = {\n arrayToObject: arrayToObject,\n assign: assign,\n combine: combine,\n compact: compact,\n decode: decode,\n encode: encode,\n isBuffer: isBuffer,\n isRegExp: isRegExp,\n maybeMap: maybeMap,\n merge: merge\n};\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = processNodes;\n\nvar _isEmptyTextNode = require('./utils/isEmptyTextNode');\n\nvar _isEmptyTextNode2 = _interopRequireDefault(_isEmptyTextNode);\n\nvar _convertNodeToElement = require('./convertNodeToElement');\n\nvar _convertNodeToElement2 = _interopRequireDefault(_convertNodeToElement);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Processes the nodes generated by htmlparser2 and convert them all into React elements\n *\n * @param {Object[]} nodes List of nodes to process\n * @param {Function} transform Transform function to optionally apply to nodes\n * @returns {React.Element[]} The list of processed React elements\n */\nfunction processNodes(nodes, transform) {\n\n return nodes.filter(function (node) {\n return !(0, _isEmptyTextNode2.default)(node);\n }).map(function (node, index) {\n\n // return the result of the transform function if applicable\n var transformed = void 0;\n if (typeof transform === 'function') {\n transformed = transform(node, index);\n if (transformed === null || !!transformed) {\n return transformed;\n }\n }\n\n // otherwise convert the node as standard\n return (0, _convertNodeToElement2.default)(node, index, transform);\n });\n}","/* global window */\nimport ponyfill from './ponyfill.js';\n\nvar root;\n\nif (typeof self !== 'undefined') {\n root = self;\n} else if (typeof window !== 'undefined') {\n root = window;\n} else if (typeof global !== 'undefined') {\n root = global;\n} else if (typeof module !== 'undefined') {\n root = module;\n} else {\n root = Function('return this')();\n}\n\nvar result = ponyfill(root);\nexport default result;\n","function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nmodule.exports = _inheritsLoose;","var isarray = require('isarray')\n\n/**\n * Expose `pathToRegexp`.\n */\nmodule.exports = pathToRegexp\nmodule.exports.parse = parse\nmodule.exports.compile = compile\nmodule.exports.tokensToFunction = tokensToFunction\nmodule.exports.tokensToRegExp = tokensToRegExp\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g')\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = []\n var key = 0\n var index = 0\n var path = ''\n var defaultDelimiter = options && options.delimiter || '/'\n var res\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0]\n var escaped = res[1]\n var offset = res.index\n path += str.slice(index, offset)\n index = offset + m.length\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1]\n continue\n }\n\n var next = str[index]\n var prefix = res[2]\n var name = res[3]\n var capture = res[4]\n var group = res[5]\n var modifier = res[6]\n var asterisk = res[7]\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path)\n path = ''\n }\n\n var partial = prefix != null && next != null && next !== prefix\n var repeat = modifier === '+' || modifier === '*'\n var optional = modifier === '?' || modifier === '*'\n var delimiter = res[2] || defaultDelimiter\n var pattern = capture || group\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n })\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index)\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path)\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options))\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length)\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$')\n }\n }\n\n return function (obj, opts) {\n var path = ''\n var data = obj || {}\n var options = opts || {}\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n path += token\n\n continue\n }\n\n var value = data[token.name]\n var segment\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j])\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value)\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g)\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n })\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = []\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source)\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options))\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n var strict = options.strict\n var end = options.end !== false\n var route = ''\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n route += escapeString(token)\n } else {\n var prefix = escapeString(token.prefix)\n var capture = '(?:' + token.pattern + ')'\n\n keys.push(token)\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*'\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?'\n } else {\n capture = prefix + '(' + capture + ')?'\n }\n } else {\n capture = prefix + '(' + capture + ')'\n }\n\n route += capture\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/')\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?'\n }\n\n if (end) {\n route += '$'\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)'\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code\n };\n };\n return error;\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(\n timeoutErrorMessage,\n config,\n config.transitional && config.transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n var valueFromConfig2Keys = ['url', 'method', 'data'];\n var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy', 'params'];\n var defaultToConfig2Keys = [\n 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer',\n 'timeout', 'timeoutMessage', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'decompress',\n 'maxContentLength', 'maxBodyLength', 'maxRedirects', 'transport', 'httpAgent',\n 'httpsAgent', 'cancelToken', 'socketPath', 'responseEncoding'\n ];\n var directMergeKeys = ['validateStatus'];\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n }\n\n utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n }\n });\n\n utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties);\n\n utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n utils.forEach(directMergeKeys, function merge(prop) {\n if (prop in config2) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n var axiosKeys = valueFromConfig2Keys\n .concat(mergeDeepPropertiesKeys)\n .concat(defaultToConfig2Keys)\n .concat(directMergeKeys);\n\n var otherKeys = Object\n .keys(config1)\n .concat(Object.keys(config2))\n .filter(function filterAxiosKeys(key) {\n return axiosKeys.indexOf(key) === -1;\n });\n\n utils.forEach(otherKeys, mergeDeepProperties);\n\n return config;\n};\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","'use strict';\n\nvar replace = String.prototype.replace;\nvar percentTwenties = /%20/g;\n\nvar util = require('./utils');\n\nvar Format = {\n RFC1738: 'RFC1738',\n RFC3986: 'RFC3986'\n};\n\nmodule.exports = util.assign(\n {\n 'default': Format.RFC3986,\n formatters: {\n RFC1738: function (value) {\n return replace.call(value, percentTwenties, '+');\n },\n RFC3986: function (value) {\n return String(value);\n }\n }\n },\n Format\n);\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nfunction componentWillMount() {\n // Call this.constructor.gDSFP to support sub-classes.\n var state = this.constructor.getDerivedStateFromProps(this.props, this.state);\n if (state !== null && state !== undefined) {\n this.setState(state);\n }\n}\n\nfunction componentWillReceiveProps(nextProps) {\n // Call this.constructor.gDSFP to support sub-classes.\n // Use the setState() updater to ensure state isn't stale in certain edge cases.\n function updater(prevState) {\n var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);\n return state !== null && state !== undefined ? state : null;\n }\n // Binding \"this\" is important for shallow renderer support.\n this.setState(updater.bind(this));\n}\n\nfunction componentWillUpdate(nextProps, nextState) {\n try {\n var prevProps = this.props;\n var prevState = this.state;\n this.props = nextProps;\n this.state = nextState;\n this.__reactInternalSnapshotFlag = true;\n this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(\n prevProps,\n prevState\n );\n } finally {\n this.props = prevProps;\n this.state = prevState;\n }\n}\n\n// React may warn about cWM/cWRP/cWU methods being deprecated.\n// Add a flag to suppress these warnings for this special case.\ncomponentWillMount.__suppressDeprecationWarning = true;\ncomponentWillReceiveProps.__suppressDeprecationWarning = true;\ncomponentWillUpdate.__suppressDeprecationWarning = true;\n\nfunction polyfill(Component) {\n var prototype = Component.prototype;\n\n if (!prototype || !prototype.isReactComponent) {\n throw new Error('Can only polyfill class components');\n }\n\n if (\n typeof Component.getDerivedStateFromProps !== 'function' &&\n typeof prototype.getSnapshotBeforeUpdate !== 'function'\n ) {\n return Component;\n }\n\n // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n // Error if any of these lifecycles are present,\n // Because they would work differently between older and newer (16.3+) versions of React.\n var foundWillMountName = null;\n var foundWillReceivePropsName = null;\n var foundWillUpdateName = null;\n if (typeof prototype.componentWillMount === 'function') {\n foundWillMountName = 'componentWillMount';\n } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {\n foundWillMountName = 'UNSAFE_componentWillMount';\n }\n if (typeof prototype.componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'componentWillReceiveProps';\n } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n }\n if (typeof prototype.componentWillUpdate === 'function') {\n foundWillUpdateName = 'componentWillUpdate';\n } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {\n foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n }\n if (\n foundWillMountName !== null ||\n foundWillReceivePropsName !== null ||\n foundWillUpdateName !== null\n ) {\n var componentName = Component.displayName || Component.name;\n var newApiName =\n typeof Component.getDerivedStateFromProps === 'function'\n ? 'getDerivedStateFromProps()'\n : 'getSnapshotBeforeUpdate()';\n\n throw Error(\n 'Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' +\n componentName +\n ' uses ' +\n newApiName +\n ' but also contains the following legacy lifecycles:' +\n (foundWillMountName !== null ? '\\n ' + foundWillMountName : '') +\n (foundWillReceivePropsName !== null\n ? '\\n ' + foundWillReceivePropsName\n : '') +\n (foundWillUpdateName !== null ? '\\n ' + foundWillUpdateName : '') +\n '\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\n' +\n 'https://fb.me/react-async-component-lifecycle-hooks'\n );\n }\n\n // React <= 16.2 does not support static getDerivedStateFromProps.\n // As a workaround, use cWM and cWRP to invoke the new static lifecycle.\n // Newer versions of React will ignore these lifecycles if gDSFP exists.\n if (typeof Component.getDerivedStateFromProps === 'function') {\n prototype.componentWillMount = componentWillMount;\n prototype.componentWillReceiveProps = componentWillReceiveProps;\n }\n\n // React <= 16.2 does not support getSnapshotBeforeUpdate.\n // As a workaround, use cWU to invoke the new lifecycle.\n // Newer versions of React will ignore that lifecycle if gSBU exists.\n if (typeof prototype.getSnapshotBeforeUpdate === 'function') {\n if (typeof prototype.componentDidUpdate !== 'function') {\n throw new Error(\n 'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'\n );\n }\n\n prototype.componentWillUpdate = componentWillUpdate;\n\n var componentDidUpdate = prototype.componentDidUpdate;\n\n prototype.componentDidUpdate = function componentDidUpdatePolyfill(\n prevProps,\n prevState,\n maybeSnapshot\n ) {\n // 16.3+ will not execute our will-update method;\n // It will pass a snapshot value to did-update though.\n // Older versions will require our polyfilled will-update value.\n // We need to handle both cases, but can't just check for the presence of \"maybeSnapshot\",\n // Because for <= 15.x versions this might be a \"prevContext\" object.\n // We also can't just check \"__reactInternalSnapshot\",\n // Because get-snapshot might return a falsy value.\n // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.\n var snapshot = this.__reactInternalSnapshotFlag\n ? this.__reactInternalSnapshot\n : maybeSnapshot;\n\n componentDidUpdate.call(this, prevProps, prevState, snapshot);\n };\n }\n\n return Component;\n}\n\nexport { polyfill };\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.defineMode(\"javascript\", function(config, parserConfig) {\n var indentUnit = config.indentUnit;\n var statementIndent = parserConfig.statementIndent;\n var jsonldMode = parserConfig.jsonld;\n var jsonMode = parserConfig.json || jsonldMode;\n var trackScope = parserConfig.trackScope !== false\n var isTS = parserConfig.typescript;\n var wordRE = parserConfig.wordCharacters || /[\\w$\\xa1-\\uffff]/;\n\n // Tokenizer\n\n var keywords = function(){\n function kw(type) {return {type: type, style: \"keyword\"};}\n var A = kw(\"keyword a\"), B = kw(\"keyword b\"), C = kw(\"keyword c\"), D = kw(\"keyword d\");\n var operator = kw(\"operator\"), atom = {type: \"atom\", style: \"atom\"};\n\n return {\n \"if\": kw(\"if\"), \"while\": A, \"with\": A, \"else\": B, \"do\": B, \"try\": B, \"finally\": B,\n \"return\": D, \"break\": D, \"continue\": D, \"new\": kw(\"new\"), \"delete\": C, \"void\": C, \"throw\": C,\n \"debugger\": kw(\"debugger\"), \"var\": kw(\"var\"), \"const\": kw(\"var\"), \"let\": kw(\"var\"),\n \"function\": kw(\"function\"), \"catch\": kw(\"catch\"),\n \"for\": kw(\"for\"), \"switch\": kw(\"switch\"), \"case\": kw(\"case\"), \"default\": kw(\"default\"),\n \"in\": operator, \"typeof\": operator, \"instanceof\": operator,\n \"true\": atom, \"false\": atom, \"null\": atom, \"undefined\": atom, \"NaN\": atom, \"Infinity\": atom,\n \"this\": kw(\"this\"), \"class\": kw(\"class\"), \"super\": kw(\"atom\"),\n \"yield\": C, \"export\": kw(\"export\"), \"import\": kw(\"import\"), \"extends\": C,\n \"await\": C\n };\n }();\n\n var isOperatorChar = /[+\\-*&%=<>!?|~^@]/;\n var isJsonldKeyword = /^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)\"/;\n\n function readRegexp(stream) {\n var escaped = false, next, inSet = false;\n while ((next = stream.next()) != null) {\n if (!escaped) {\n if (next == \"/\" && !inSet) return;\n if (next == \"[\") inSet = true;\n else if (inSet && next == \"]\") inSet = false;\n }\n escaped = !escaped && next == \"\\\\\";\n }\n }\n\n // Used as scratch variables to communicate multiple values without\n // consing up tons of objects.\n var type, content;\n function ret(tp, style, cont) {\n type = tp; content = cont;\n return style;\n }\n function tokenBase(stream, state) {\n var ch = stream.next();\n if (ch == '\"' || ch == \"'\") {\n state.tokenize = tokenString(ch);\n return state.tokenize(stream, state);\n } else if (ch == \".\" && stream.match(/^\\d[\\d_]*(?:[eE][+\\-]?[\\d_]+)?/)) {\n return ret(\"number\", \"number\");\n } else if (ch == \".\" && stream.match(\"..\")) {\n return ret(\"spread\", \"meta\");\n } else if (/[\\[\\]{}\\(\\),;\\:\\.]/.test(ch)) {\n return ret(ch);\n } else if (ch == \"=\" && stream.eat(\">\")) {\n return ret(\"=>\", \"operator\");\n } else if (ch == \"0\" && stream.match(/^(?:x[\\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/)) {\n return ret(\"number\", \"number\");\n } else if (/\\d/.test(ch)) {\n stream.match(/^[\\d_]*(?:n|(?:\\.[\\d_]*)?(?:[eE][+\\-]?[\\d_]+)?)?/);\n return ret(\"number\", \"number\");\n } else if (ch == \"/\") {\n if (stream.eat(\"*\")) {\n state.tokenize = tokenComment;\n return tokenComment(stream, state);\n } else if (stream.eat(\"/\")) {\n stream.skipToEnd();\n return ret(\"comment\", \"comment\");\n } else if (expressionAllowed(stream, state, 1)) {\n readRegexp(stream);\n stream.match(/^\\b(([gimyus])(?![gimyus]*\\2))+\\b/);\n return ret(\"regexp\", \"string-2\");\n } else {\n stream.eat(\"=\");\n return ret(\"operator\", \"operator\", stream.current());\n }\n } else if (ch == \"`\") {\n state.tokenize = tokenQuasi;\n return tokenQuasi(stream, state);\n } else if (ch == \"#\" && stream.peek() == \"!\") {\n stream.skipToEnd();\n return ret(\"meta\", \"meta\");\n } else if (ch == \"#\" && stream.eatWhile(wordRE)) {\n return ret(\"variable\", \"property\")\n } else if (ch == \"<\" && stream.match(\"!--\") ||\n (ch == \"-\" && stream.match(\"->\") && !/\\S/.test(stream.string.slice(0, stream.start)))) {\n stream.skipToEnd()\n return ret(\"comment\", \"comment\")\n } else if (isOperatorChar.test(ch)) {\n if (ch != \">\" || !state.lexical || state.lexical.type != \">\") {\n if (stream.eat(\"=\")) {\n if (ch == \"!\" || ch == \"=\") stream.eat(\"=\")\n } else if (/[<>*+\\-|&?]/.test(ch)) {\n stream.eat(ch)\n if (ch == \">\") stream.eat(ch)\n }\n }\n if (ch == \"?\" && stream.eat(\".\")) return ret(\".\")\n return ret(\"operator\", \"operator\", stream.current());\n } else if (wordRE.test(ch)) {\n stream.eatWhile(wordRE);\n var word = stream.current()\n if (state.lastType != \".\") {\n if (keywords.propertyIsEnumerable(word)) {\n var kw = keywords[word]\n return ret(kw.type, kw.style, word)\n }\n if (word == \"async\" && stream.match(/^(\\s|\\/\\*([^*]|\\*(?!\\/))*?\\*\\/)*[\\[\\(\\w]/, false))\n return ret(\"async\", \"keyword\", word)\n }\n return ret(\"variable\", \"variable\", word)\n }\n }\n\n function tokenString(quote) {\n return function(stream, state) {\n var escaped = false, next;\n if (jsonldMode && stream.peek() == \"@\" && stream.match(isJsonldKeyword)){\n state.tokenize = tokenBase;\n return ret(\"jsonld-keyword\", \"meta\");\n }\n while ((next = stream.next()) != null) {\n if (next == quote && !escaped) break;\n escaped = !escaped && next == \"\\\\\";\n }\n if (!escaped) state.tokenize = tokenBase;\n return ret(\"string\", \"string\");\n };\n }\n\n function tokenComment(stream, state) {\n var maybeEnd = false, ch;\n while (ch = stream.next()) {\n if (ch == \"/\" && maybeEnd) {\n state.tokenize = tokenBase;\n break;\n }\n maybeEnd = (ch == \"*\");\n }\n return ret(\"comment\", \"comment\");\n }\n\n function tokenQuasi(stream, state) {\n var escaped = false, next;\n while ((next = stream.next()) != null) {\n if (!escaped && (next == \"`\" || next == \"$\" && stream.eat(\"{\"))) {\n state.tokenize = tokenBase;\n break;\n }\n escaped = !escaped && next == \"\\\\\";\n }\n return ret(\"quasi\", \"string-2\", stream.current());\n }\n\n var brackets = \"([{}])\";\n // This is a crude lookahead trick to try and notice that we're\n // parsing the argument patterns for a fat-arrow function before we\n // actually hit the arrow token. It only works if the arrow is on\n // the same line as the arguments and there's no strange noise\n // (comments) in between. Fallback is to only notice when we hit the\n // arrow, and not declare the arguments as locals for the arrow\n // body.\n function findFatArrow(stream, state) {\n if (state.fatArrowAt) state.fatArrowAt = null;\n var arrow = stream.string.indexOf(\"=>\", stream.start);\n if (arrow < 0) return;\n\n if (isTS) { // Try to skip TypeScript return type declarations after the arguments\n var m = /:\\s*(?:\\w+(?:<[^>]*>|\\[\\])?|\\{[^}]*\\})\\s*$/.exec(stream.string.slice(stream.start, arrow))\n if (m) arrow = m.index\n }\n\n var depth = 0, sawSomething = false;\n for (var pos = arrow - 1; pos >= 0; --pos) {\n var ch = stream.string.charAt(pos);\n var bracket = brackets.indexOf(ch);\n if (bracket >= 0 && bracket < 3) {\n if (!depth) { ++pos; break; }\n if (--depth == 0) { if (ch == \"(\") sawSomething = true; break; }\n } else if (bracket >= 3 && bracket < 6) {\n ++depth;\n } else if (wordRE.test(ch)) {\n sawSomething = true;\n } else if (/[\"'\\/`]/.test(ch)) {\n for (;; --pos) {\n if (pos == 0) return\n var next = stream.string.charAt(pos - 1)\n if (next == ch && stream.string.charAt(pos - 2) != \"\\\\\") { pos--; break }\n }\n } else if (sawSomething && !depth) {\n ++pos;\n break;\n }\n }\n if (sawSomething && !depth) state.fatArrowAt = pos;\n }\n\n // Parser\n\n var atomicTypes = {\"atom\": true, \"number\": true, \"variable\": true, \"string\": true,\n \"regexp\": true, \"this\": true, \"import\": true, \"jsonld-keyword\": true};\n\n function JSLexical(indented, column, type, align, prev, info) {\n this.indented = indented;\n this.column = column;\n this.type = type;\n this.prev = prev;\n this.info = info;\n if (align != null) this.align = align;\n }\n\n function inScope(state, varname) {\n if (!trackScope) return false\n for (var v = state.localVars; v; v = v.next)\n if (v.name == varname) return true;\n for (var cx = state.context; cx; cx = cx.prev) {\n for (var v = cx.vars; v; v = v.next)\n if (v.name == varname) return true;\n }\n }\n\n function parseJS(state, style, type, content, stream) {\n var cc = state.cc;\n // Communicate our context to the combinators.\n // (Less wasteful than consing up a hundred closures on every call.)\n cx.state = state; cx.stream = stream; cx.marked = null, cx.cc = cc; cx.style = style;\n\n if (!state.lexical.hasOwnProperty(\"align\"))\n state.lexical.align = true;\n\n while(true) {\n var combinator = cc.length ? cc.pop() : jsonMode ? expression : statement;\n if (combinator(type, content)) {\n while(cc.length && cc[cc.length - 1].lex)\n cc.pop()();\n if (cx.marked) return cx.marked;\n if (type == \"variable\" && inScope(state, content)) return \"variable-2\";\n return style;\n }\n }\n }\n\n // Combinator utils\n\n var cx = {state: null, column: null, marked: null, cc: null};\n function pass() {\n for (var i = arguments.length - 1; i >= 0; i--) cx.cc.push(arguments[i]);\n }\n function cont() {\n pass.apply(null, arguments);\n return true;\n }\n function inList(name, list) {\n for (var v = list; v; v = v.next) if (v.name == name) return true\n return false;\n }\n function register(varname) {\n var state = cx.state;\n cx.marked = \"def\";\n if (!trackScope) return\n if (state.context) {\n if (state.lexical.info == \"var\" && state.context && state.context.block) {\n // FIXME function decls are also not block scoped\n var newContext = registerVarScoped(varname, state.context)\n if (newContext != null) {\n state.context = newContext\n return\n }\n } else if (!inList(varname, state.localVars)) {\n state.localVars = new Var(varname, state.localVars)\n return\n }\n }\n // Fall through means this is global\n if (parserConfig.globalVars && !inList(varname, state.globalVars))\n state.globalVars = new Var(varname, state.globalVars)\n }\n function registerVarScoped(varname, context) {\n if (!context) {\n return null\n } else if (context.block) {\n var inner = registerVarScoped(varname, context.prev)\n if (!inner) return null\n if (inner == context.prev) return context\n return new Context(inner, context.vars, true)\n } else if (inList(varname, context.vars)) {\n return context\n } else {\n return new Context(context.prev, new Var(varname, context.vars), false)\n }\n }\n\n function isModifier(name) {\n return name == \"public\" || name == \"private\" || name == \"protected\" || name == \"abstract\" || name == \"readonly\"\n }\n\n // Combinators\n\n function Context(prev, vars, block) { this.prev = prev; this.vars = vars; this.block = block }\n function Var(name, next) { this.name = name; this.next = next }\n\n var defaultVars = new Var(\"this\", new Var(\"arguments\", null))\n function pushcontext() {\n cx.state.context = new Context(cx.state.context, cx.state.localVars, false)\n cx.state.localVars = defaultVars\n }\n function pushblockcontext() {\n cx.state.context = new Context(cx.state.context, cx.state.localVars, true)\n cx.state.localVars = null\n }\n function popcontext() {\n cx.state.localVars = cx.state.context.vars\n cx.state.context = cx.state.context.prev\n }\n popcontext.lex = true\n function pushlex(type, info) {\n var result = function() {\n var state = cx.state, indent = state.indented;\n if (state.lexical.type == \"stat\") indent = state.lexical.indented;\n else for (var outer = state.lexical; outer && outer.type == \")\" && outer.align; outer = outer.prev)\n indent = outer.indented;\n state.lexical = new JSLexical(indent, cx.stream.column(), type, null, state.lexical, info);\n };\n result.lex = true;\n return result;\n }\n function poplex() {\n var state = cx.state;\n if (state.lexical.prev) {\n if (state.lexical.type == \")\")\n state.indented = state.lexical.indented;\n state.lexical = state.lexical.prev;\n }\n }\n poplex.lex = true;\n\n function expect(wanted) {\n function exp(type) {\n if (type == wanted) return cont();\n else if (wanted == \";\" || type == \"}\" || type == \")\" || type == \"]\") return pass();\n else return cont(exp);\n };\n return exp;\n }\n\n function statement(type, value) {\n if (type == \"var\") return cont(pushlex(\"vardef\", value), vardef, expect(\";\"), poplex);\n if (type == \"keyword a\") return cont(pushlex(\"form\"), parenExpr, statement, poplex);\n if (type == \"keyword b\") return cont(pushlex(\"form\"), statement, poplex);\n if (type == \"keyword d\") return cx.stream.match(/^\\s*$/, false) ? cont() : cont(pushlex(\"stat\"), maybeexpression, expect(\";\"), poplex);\n if (type == \"debugger\") return cont(expect(\";\"));\n if (type == \"{\") return cont(pushlex(\"}\"), pushblockcontext, block, poplex, popcontext);\n if (type == \";\") return cont();\n if (type == \"if\") {\n if (cx.state.lexical.info == \"else\" && cx.state.cc[cx.state.cc.length - 1] == poplex)\n cx.state.cc.pop()();\n return cont(pushlex(\"form\"), parenExpr, statement, poplex, maybeelse);\n }\n if (type == \"function\") return cont(functiondef);\n if (type == \"for\") return cont(pushlex(\"form\"), pushblockcontext, forspec, statement, popcontext, poplex);\n if (type == \"class\" || (isTS && value == \"interface\")) {\n cx.marked = \"keyword\"\n return cont(pushlex(\"form\", type == \"class\" ? type : value), className, poplex)\n }\n if (type == \"variable\") {\n if (isTS && value == \"declare\") {\n cx.marked = \"keyword\"\n return cont(statement)\n } else if (isTS && (value == \"module\" || value == \"enum\" || value == \"type\") && cx.stream.match(/^\\s*\\w/, false)) {\n cx.marked = \"keyword\"\n if (value == \"enum\") return cont(enumdef);\n else if (value == \"type\") return cont(typename, expect(\"operator\"), typeexpr, expect(\";\"));\n else return cont(pushlex(\"form\"), pattern, expect(\"{\"), pushlex(\"}\"), block, poplex, poplex)\n } else if (isTS && value == \"namespace\") {\n cx.marked = \"keyword\"\n return cont(pushlex(\"form\"), expression, statement, poplex)\n } else if (isTS && value == \"abstract\") {\n cx.marked = \"keyword\"\n return cont(statement)\n } else {\n return cont(pushlex(\"stat\"), maybelabel);\n }\n }\n if (type == \"switch\") return cont(pushlex(\"form\"), parenExpr, expect(\"{\"), pushlex(\"}\", \"switch\"), pushblockcontext,\n block, poplex, poplex, popcontext);\n if (type == \"case\") return cont(expression, expect(\":\"));\n if (type == \"default\") return cont(expect(\":\"));\n if (type == \"catch\") return cont(pushlex(\"form\"), pushcontext, maybeCatchBinding, statement, poplex, popcontext);\n if (type == \"export\") return cont(pushlex(\"stat\"), afterExport, poplex);\n if (type == \"import\") return cont(pushlex(\"stat\"), afterImport, poplex);\n if (type == \"async\") return cont(statement)\n if (value == \"@\") return cont(expression, statement)\n return pass(pushlex(\"stat\"), expression, expect(\";\"), poplex);\n }\n function maybeCatchBinding(type) {\n if (type == \"(\") return cont(funarg, expect(\")\"))\n }\n function expression(type, value) {\n return expressionInner(type, value, false);\n }\n function expressionNoComma(type, value) {\n return expressionInner(type, value, true);\n }\n function parenExpr(type) {\n if (type != \"(\") return pass()\n return cont(pushlex(\")\"), maybeexpression, expect(\")\"), poplex)\n }\n function expressionInner(type, value, noComma) {\n if (cx.state.fatArrowAt == cx.stream.start) {\n var body = noComma ? arrowBodyNoComma : arrowBody;\n if (type == \"(\") return cont(pushcontext, pushlex(\")\"), commasep(funarg, \")\"), poplex, expect(\"=>\"), body, popcontext);\n else if (type == \"variable\") return pass(pushcontext, pattern, expect(\"=>\"), body, popcontext);\n }\n\n var maybeop = noComma ? maybeoperatorNoComma : maybeoperatorComma;\n if (atomicTypes.hasOwnProperty(type)) return cont(maybeop);\n if (type == \"function\") return cont(functiondef, maybeop);\n if (type == \"class\" || (isTS && value == \"interface\")) { cx.marked = \"keyword\"; return cont(pushlex(\"form\"), classExpression, poplex); }\n if (type == \"keyword c\" || type == \"async\") return cont(noComma ? expressionNoComma : expression);\n if (type == \"(\") return cont(pushlex(\")\"), maybeexpression, expect(\")\"), poplex, maybeop);\n if (type == \"operator\" || type == \"spread\") return cont(noComma ? expressionNoComma : expression);\n if (type == \"[\") return cont(pushlex(\"]\"), arrayLiteral, poplex, maybeop);\n if (type == \"{\") return contCommasep(objprop, \"}\", null, maybeop);\n if (type == \"quasi\") return pass(quasi, maybeop);\n if (type == \"new\") return cont(maybeTarget(noComma));\n return cont();\n }\n function maybeexpression(type) {\n if (type.match(/[;\\}\\)\\],]/)) return pass();\n return pass(expression);\n }\n\n function maybeoperatorComma(type, value) {\n if (type == \",\") return cont(maybeexpression);\n return maybeoperatorNoComma(type, value, false);\n }\n function maybeoperatorNoComma(type, value, noComma) {\n var me = noComma == false ? maybeoperatorComma : maybeoperatorNoComma;\n var expr = noComma == false ? expression : expressionNoComma;\n if (type == \"=>\") return cont(pushcontext, noComma ? arrowBodyNoComma : arrowBody, popcontext);\n if (type == \"operator\") {\n if (/\\+\\+|--/.test(value) || isTS && value == \"!\") return cont(me);\n if (isTS && value == \"<\" && cx.stream.match(/^([^<>]|<[^<>]*>)*>\\s*\\(/, false))\n return cont(pushlex(\">\"), commasep(typeexpr, \">\"), poplex, me);\n if (value == \"?\") return cont(expression, expect(\":\"), expr);\n return cont(expr);\n }\n if (type == \"quasi\") { return pass(quasi, me); }\n if (type == \";\") return;\n if (type == \"(\") return contCommasep(expressionNoComma, \")\", \"call\", me);\n if (type == \".\") return cont(property, me);\n if (type == \"[\") return cont(pushlex(\"]\"), maybeexpression, expect(\"]\"), poplex, me);\n if (isTS && value == \"as\") { cx.marked = \"keyword\"; return cont(typeexpr, me) }\n if (type == \"regexp\") {\n cx.state.lastType = cx.marked = \"operator\"\n cx.stream.backUp(cx.stream.pos - cx.stream.start - 1)\n return cont(expr)\n }\n }\n function quasi(type, value) {\n if (type != \"quasi\") return pass();\n if (value.slice(value.length - 2) != \"${\") return cont(quasi);\n return cont(maybeexpression, continueQuasi);\n }\n function continueQuasi(type) {\n if (type == \"}\") {\n cx.marked = \"string-2\";\n cx.state.tokenize = tokenQuasi;\n return cont(quasi);\n }\n }\n function arrowBody(type) {\n findFatArrow(cx.stream, cx.state);\n return pass(type == \"{\" ? statement : expression);\n }\n function arrowBodyNoComma(type) {\n findFatArrow(cx.stream, cx.state);\n return pass(type == \"{\" ? statement : expressionNoComma);\n }\n function maybeTarget(noComma) {\n return function(type) {\n if (type == \".\") return cont(noComma ? targetNoComma : target);\n else if (type == \"variable\" && isTS) return cont(maybeTypeArgs, noComma ? maybeoperatorNoComma : maybeoperatorComma)\n else return pass(noComma ? expressionNoComma : expression);\n };\n }\n function target(_, value) {\n if (value == \"target\") { cx.marked = \"keyword\"; return cont(maybeoperatorComma); }\n }\n function targetNoComma(_, value) {\n if (value == \"target\") { cx.marked = \"keyword\"; return cont(maybeoperatorNoComma); }\n }\n function maybelabel(type) {\n if (type == \":\") return cont(poplex, statement);\n return pass(maybeoperatorComma, expect(\";\"), poplex);\n }\n function property(type) {\n if (type == \"variable\") {cx.marked = \"property\"; return cont();}\n }\n function objprop(type, value) {\n if (type == \"async\") {\n cx.marked = \"property\";\n return cont(objprop);\n } else if (type == \"variable\" || cx.style == \"keyword\") {\n cx.marked = \"property\";\n if (value == \"get\" || value == \"set\") return cont(getterSetter);\n var m // Work around fat-arrow-detection complication for detecting typescript typed arrow params\n if (isTS && cx.state.fatArrowAt == cx.stream.start && (m = cx.stream.match(/^\\s*:\\s*/, false)))\n cx.state.fatArrowAt = cx.stream.pos + m[0].length\n return cont(afterprop);\n } else if (type == \"number\" || type == \"string\") {\n cx.marked = jsonldMode ? \"property\" : (cx.style + \" property\");\n return cont(afterprop);\n } else if (type == \"jsonld-keyword\") {\n return cont(afterprop);\n } else if (isTS && isModifier(value)) {\n cx.marked = \"keyword\"\n return cont(objprop)\n } else if (type == \"[\") {\n return cont(expression, maybetype, expect(\"]\"), afterprop);\n } else if (type == \"spread\") {\n return cont(expressionNoComma, afterprop);\n } else if (value == \"*\") {\n cx.marked = \"keyword\";\n return cont(objprop);\n } else if (type == \":\") {\n return pass(afterprop)\n }\n }\n function getterSetter(type) {\n if (type != \"variable\") return pass(afterprop);\n cx.marked = \"property\";\n return cont(functiondef);\n }\n function afterprop(type) {\n if (type == \":\") return cont(expressionNoComma);\n if (type == \"(\") return pass(functiondef);\n }\n function commasep(what, end, sep) {\n function proceed(type, value) {\n if (sep ? sep.indexOf(type) > -1 : type == \",\") {\n var lex = cx.state.lexical;\n if (lex.info == \"call\") lex.pos = (lex.pos || 0) + 1;\n return cont(function(type, value) {\n if (type == end || value == end) return pass()\n return pass(what)\n }, proceed);\n }\n if (type == end || value == end) return cont();\n if (sep && sep.indexOf(\";\") > -1) return pass(what)\n return cont(expect(end));\n }\n return function(type, value) {\n if (type == end || value == end) return cont();\n return pass(what, proceed);\n };\n }\n function contCommasep(what, end, info) {\n for (var i = 3; i < arguments.length; i++)\n cx.cc.push(arguments[i]);\n return cont(pushlex(end, info), commasep(what, end), poplex);\n }\n function block(type) {\n if (type == \"}\") return cont();\n return pass(statement, block);\n }\n function maybetype(type, value) {\n if (isTS) {\n if (type == \":\") return cont(typeexpr);\n if (value == \"?\") return cont(maybetype);\n }\n }\n function maybetypeOrIn(type, value) {\n if (isTS && (type == \":\" || value == \"in\")) return cont(typeexpr)\n }\n function mayberettype(type) {\n if (isTS && type == \":\") {\n if (cx.stream.match(/^\\s*\\w+\\s+is\\b/, false)) return cont(expression, isKW, typeexpr)\n else return cont(typeexpr)\n }\n }\n function isKW(_, value) {\n if (value == \"is\") {\n cx.marked = \"keyword\"\n return cont()\n }\n }\n function typeexpr(type, value) {\n if (value == \"keyof\" || value == \"typeof\" || value == \"infer\" || value == \"readonly\") {\n cx.marked = \"keyword\"\n return cont(value == \"typeof\" ? expressionNoComma : typeexpr)\n }\n if (type == \"variable\" || value == \"void\") {\n cx.marked = \"type\"\n return cont(afterType)\n }\n if (value == \"|\" || value == \"&\") return cont(typeexpr)\n if (type == \"string\" || type == \"number\" || type == \"atom\") return cont(afterType);\n if (type == \"[\") return cont(pushlex(\"]\"), commasep(typeexpr, \"]\", \",\"), poplex, afterType)\n if (type == \"{\") return cont(pushlex(\"}\"), typeprops, poplex, afterType)\n if (type == \"(\") return cont(commasep(typearg, \")\"), maybeReturnType, afterType)\n if (type == \"<\") return cont(commasep(typeexpr, \">\"), typeexpr)\n if (type == \"quasi\") { return pass(quasiType, afterType); }\n }\n function maybeReturnType(type) {\n if (type == \"=>\") return cont(typeexpr)\n }\n function typeprops(type) {\n if (type.match(/[\\}\\)\\]]/)) return cont()\n if (type == \",\" || type == \";\") return cont(typeprops)\n return pass(typeprop, typeprops)\n }\n function typeprop(type, value) {\n if (type == \"variable\" || cx.style == \"keyword\") {\n cx.marked = \"property\"\n return cont(typeprop)\n } else if (value == \"?\" || type == \"number\" || type == \"string\") {\n return cont(typeprop)\n } else if (type == \":\") {\n return cont(typeexpr)\n } else if (type == \"[\") {\n return cont(expect(\"variable\"), maybetypeOrIn, expect(\"]\"), typeprop)\n } else if (type == \"(\") {\n return pass(functiondecl, typeprop)\n } else if (!type.match(/[;\\}\\)\\],]/)) {\n return cont()\n }\n }\n function quasiType(type, value) {\n if (type != \"quasi\") return pass();\n if (value.slice(value.length - 2) != \"${\") return cont(quasiType);\n return cont(typeexpr, continueQuasiType);\n }\n function continueQuasiType(type) {\n if (type == \"}\") {\n cx.marked = \"string-2\";\n cx.state.tokenize = tokenQuasi;\n return cont(quasiType);\n }\n }\n function typearg(type, value) {\n if (type == \"variable\" && cx.stream.match(/^\\s*[?:]/, false) || value == \"?\") return cont(typearg)\n if (type == \":\") return cont(typeexpr)\n if (type == \"spread\") return cont(typearg)\n return pass(typeexpr)\n }\n function afterType(type, value) {\n if (value == \"<\") return cont(pushlex(\">\"), commasep(typeexpr, \">\"), poplex, afterType)\n if (value == \"|\" || type == \".\" || value == \"&\") return cont(typeexpr)\n if (type == \"[\") return cont(typeexpr, expect(\"]\"), afterType)\n if (value == \"extends\" || value == \"implements\") { cx.marked = \"keyword\"; return cont(typeexpr) }\n if (value == \"?\") return cont(typeexpr, expect(\":\"), typeexpr)\n }\n function maybeTypeArgs(_, value) {\n if (value == \"<\") return cont(pushlex(\">\"), commasep(typeexpr, \">\"), poplex, afterType)\n }\n function typeparam() {\n return pass(typeexpr, maybeTypeDefault)\n }\n function maybeTypeDefault(_, value) {\n if (value == \"=\") return cont(typeexpr)\n }\n function vardef(_, value) {\n if (value == \"enum\") {cx.marked = \"keyword\"; return cont(enumdef)}\n return pass(pattern, maybetype, maybeAssign, vardefCont);\n }\n function pattern(type, value) {\n if (isTS && isModifier(value)) { cx.marked = \"keyword\"; return cont(pattern) }\n if (type == \"variable\") { register(value); return cont(); }\n if (type == \"spread\") return cont(pattern);\n if (type == \"[\") return contCommasep(eltpattern, \"]\");\n if (type == \"{\") return contCommasep(proppattern, \"}\");\n }\n function proppattern(type, value) {\n if (type == \"variable\" && !cx.stream.match(/^\\s*:/, false)) {\n register(value);\n return cont(maybeAssign);\n }\n if (type == \"variable\") cx.marked = \"property\";\n if (type == \"spread\") return cont(pattern);\n if (type == \"}\") return pass();\n if (type == \"[\") return cont(expression, expect(']'), expect(':'), proppattern);\n return cont(expect(\":\"), pattern, maybeAssign);\n }\n function eltpattern() {\n return pass(pattern, maybeAssign)\n }\n function maybeAssign(_type, value) {\n if (value == \"=\") return cont(expressionNoComma);\n }\n function vardefCont(type) {\n if (type == \",\") return cont(vardef);\n }\n function maybeelse(type, value) {\n if (type == \"keyword b\" && value == \"else\") return cont(pushlex(\"form\", \"else\"), statement, poplex);\n }\n function forspec(type, value) {\n if (value == \"await\") return cont(forspec);\n if (type == \"(\") return cont(pushlex(\")\"), forspec1, poplex);\n }\n function forspec1(type) {\n if (type == \"var\") return cont(vardef, forspec2);\n if (type == \"variable\") return cont(forspec2);\n return pass(forspec2)\n }\n function forspec2(type, value) {\n if (type == \")\") return cont()\n if (type == \";\") return cont(forspec2)\n if (value == \"in\" || value == \"of\") { cx.marked = \"keyword\"; return cont(expression, forspec2) }\n return pass(expression, forspec2)\n }\n function functiondef(type, value) {\n if (value == \"*\") {cx.marked = \"keyword\"; return cont(functiondef);}\n if (type == \"variable\") {register(value); return cont(functiondef);}\n if (type == \"(\") return cont(pushcontext, pushlex(\")\"), commasep(funarg, \")\"), poplex, mayberettype, statement, popcontext);\n if (isTS && value == \"<\") return cont(pushlex(\">\"), commasep(typeparam, \">\"), poplex, functiondef)\n }\n function functiondecl(type, value) {\n if (value == \"*\") {cx.marked = \"keyword\"; return cont(functiondecl);}\n if (type == \"variable\") {register(value); return cont(functiondecl);}\n if (type == \"(\") return cont(pushcontext, pushlex(\")\"), commasep(funarg, \")\"), poplex, mayberettype, popcontext);\n if (isTS && value == \"<\") return cont(pushlex(\">\"), commasep(typeparam, \">\"), poplex, functiondecl)\n }\n function typename(type, value) {\n if (type == \"keyword\" || type == \"variable\") {\n cx.marked = \"type\"\n return cont(typename)\n } else if (value == \"<\") {\n return cont(pushlex(\">\"), commasep(typeparam, \">\"), poplex)\n }\n }\n function funarg(type, value) {\n if (value == \"@\") cont(expression, funarg)\n if (type == \"spread\") return cont(funarg);\n if (isTS && isModifier(value)) { cx.marked = \"keyword\"; return cont(funarg); }\n if (isTS && type == \"this\") return cont(maybetype, maybeAssign)\n return pass(pattern, maybetype, maybeAssign);\n }\n function classExpression(type, value) {\n // Class expressions may have an optional name.\n if (type == \"variable\") return className(type, value);\n return classNameAfter(type, value);\n }\n function className(type, value) {\n if (type == \"variable\") {register(value); return cont(classNameAfter);}\n }\n function classNameAfter(type, value) {\n if (value == \"<\") return cont(pushlex(\">\"), commasep(typeparam, \">\"), poplex, classNameAfter)\n if (value == \"extends\" || value == \"implements\" || (isTS && type == \",\")) {\n if (value == \"implements\") cx.marked = \"keyword\";\n return cont(isTS ? typeexpr : expression, classNameAfter);\n }\n if (type == \"{\") return cont(pushlex(\"}\"), classBody, poplex);\n }\n function classBody(type, value) {\n if (type == \"async\" ||\n (type == \"variable\" &&\n (value == \"static\" || value == \"get\" || value == \"set\" || (isTS && isModifier(value))) &&\n cx.stream.match(/^\\s+[\\w$\\xa1-\\uffff]/, false))) {\n cx.marked = \"keyword\";\n return cont(classBody);\n }\n if (type == \"variable\" || cx.style == \"keyword\") {\n cx.marked = \"property\";\n return cont(classfield, classBody);\n }\n if (type == \"number\" || type == \"string\") return cont(classfield, classBody);\n if (type == \"[\")\n return cont(expression, maybetype, expect(\"]\"), classfield, classBody)\n if (value == \"*\") {\n cx.marked = \"keyword\";\n return cont(classBody);\n }\n if (isTS && type == \"(\") return pass(functiondecl, classBody)\n if (type == \";\" || type == \",\") return cont(classBody);\n if (type == \"}\") return cont();\n if (value == \"@\") return cont(expression, classBody)\n }\n function classfield(type, value) {\n if (value == \"!\") return cont(classfield)\n if (value == \"?\") return cont(classfield)\n if (type == \":\") return cont(typeexpr, maybeAssign)\n if (value == \"=\") return cont(expressionNoComma)\n var context = cx.state.lexical.prev, isInterface = context && context.info == \"interface\"\n return pass(isInterface ? functiondecl : functiondef)\n }\n function afterExport(type, value) {\n if (value == \"*\") { cx.marked = \"keyword\"; return cont(maybeFrom, expect(\";\")); }\n if (value == \"default\") { cx.marked = \"keyword\"; return cont(expression, expect(\";\")); }\n if (type == \"{\") return cont(commasep(exportField, \"}\"), maybeFrom, expect(\";\"));\n return pass(statement);\n }\n function exportField(type, value) {\n if (value == \"as\") { cx.marked = \"keyword\"; return cont(expect(\"variable\")); }\n if (type == \"variable\") return pass(expressionNoComma, exportField);\n }\n function afterImport(type) {\n if (type == \"string\") return cont();\n if (type == \"(\") return pass(expression);\n if (type == \".\") return pass(maybeoperatorComma);\n return pass(importSpec, maybeMoreImports, maybeFrom);\n }\n function importSpec(type, value) {\n if (type == \"{\") return contCommasep(importSpec, \"}\");\n if (type == \"variable\") register(value);\n if (value == \"*\") cx.marked = \"keyword\";\n return cont(maybeAs);\n }\n function maybeMoreImports(type) {\n if (type == \",\") return cont(importSpec, maybeMoreImports)\n }\n function maybeAs(_type, value) {\n if (value == \"as\") { cx.marked = \"keyword\"; return cont(importSpec); }\n }\n function maybeFrom(_type, value) {\n if (value == \"from\") { cx.marked = \"keyword\"; return cont(expression); }\n }\n function arrayLiteral(type) {\n if (type == \"]\") return cont();\n return pass(commasep(expressionNoComma, \"]\"));\n }\n function enumdef() {\n return pass(pushlex(\"form\"), pattern, expect(\"{\"), pushlex(\"}\"), commasep(enummember, \"}\"), poplex, poplex)\n }\n function enummember() {\n return pass(pattern, maybeAssign);\n }\n\n function isContinuedStatement(state, textAfter) {\n return state.lastType == \"operator\" || state.lastType == \",\" ||\n isOperatorChar.test(textAfter.charAt(0)) ||\n /[,.]/.test(textAfter.charAt(0));\n }\n\n function expressionAllowed(stream, state, backUp) {\n return state.tokenize == tokenBase &&\n /^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\\[{}\\(,;:]|=>)$/.test(state.lastType) ||\n (state.lastType == \"quasi\" && /\\{\\s*$/.test(stream.string.slice(0, stream.pos - (backUp || 0))))\n }\n\n // Interface\n\n return {\n startState: function(basecolumn) {\n var state = {\n tokenize: tokenBase,\n lastType: \"sof\",\n cc: [],\n lexical: new JSLexical((basecolumn || 0) - indentUnit, 0, \"block\", false),\n localVars: parserConfig.localVars,\n context: parserConfig.localVars && new Context(null, null, false),\n indented: basecolumn || 0\n };\n if (parserConfig.globalVars && typeof parserConfig.globalVars == \"object\")\n state.globalVars = parserConfig.globalVars;\n return state;\n },\n\n token: function(stream, state) {\n if (stream.sol()) {\n if (!state.lexical.hasOwnProperty(\"align\"))\n state.lexical.align = false;\n state.indented = stream.indentation();\n findFatArrow(stream, state);\n }\n if (state.tokenize != tokenComment && stream.eatSpace()) return null;\n var style = state.tokenize(stream, state);\n if (type == \"comment\") return style;\n state.lastType = type == \"operator\" && (content == \"++\" || content == \"--\") ? \"incdec\" : type;\n return parseJS(state, style, type, content, stream);\n },\n\n indent: function(state, textAfter) {\n if (state.tokenize == tokenComment || state.tokenize == tokenQuasi) return CodeMirror.Pass;\n if (state.tokenize != tokenBase) return 0;\n var firstChar = textAfter && textAfter.charAt(0), lexical = state.lexical, top\n // Kludge to prevent 'maybelse' from blocking lexical scope pops\n if (!/^\\s*else\\b/.test(textAfter)) for (var i = state.cc.length - 1; i >= 0; --i) {\n var c = state.cc[i];\n if (c == poplex) lexical = lexical.prev;\n else if (c != maybeelse && c != popcontext) break;\n }\n while ((lexical.type == \"stat\" || lexical.type == \"form\") &&\n (firstChar == \"}\" || ((top = state.cc[state.cc.length - 1]) &&\n (top == maybeoperatorComma || top == maybeoperatorNoComma) &&\n !/^[,\\.=+\\-*:?[\\(]/.test(textAfter))))\n lexical = lexical.prev;\n if (statementIndent && lexical.type == \")\" && lexical.prev.type == \"stat\")\n lexical = lexical.prev;\n var type = lexical.type, closing = firstChar == type;\n\n if (type == \"vardef\") return lexical.indented + (state.lastType == \"operator\" || state.lastType == \",\" ? lexical.info.length + 1 : 0);\n else if (type == \"form\" && firstChar == \"{\") return lexical.indented;\n else if (type == \"form\") return lexical.indented + indentUnit;\n else if (type == \"stat\")\n return lexical.indented + (isContinuedStatement(state, textAfter) ? statementIndent || indentUnit : 0);\n else if (lexical.info == \"switch\" && !closing && parserConfig.doubleIndentSwitch != false)\n return lexical.indented + (/^(?:case|default)\\b/.test(textAfter) ? indentUnit : 2 * indentUnit);\n else if (lexical.align) return lexical.column + (closing ? 0 : 1);\n else return lexical.indented + (closing ? 0 : indentUnit);\n },\n\n electricInput: /^\\s*(?:case .*?:|default:|\\{|\\})$/,\n blockCommentStart: jsonMode ? null : \"/*\",\n blockCommentEnd: jsonMode ? null : \"*/\",\n blockCommentContinue: jsonMode ? null : \" * \",\n lineComment: jsonMode ? null : \"//\",\n fold: \"brace\",\n closeBrackets: \"()[]{}''\\\"\\\"``\",\n\n helperType: jsonMode ? \"json\" : \"javascript\",\n jsonldMode: jsonldMode,\n jsonMode: jsonMode,\n\n expressionAllowed: expressionAllowed,\n\n skipExpression: function(state) {\n parseJS(state, \"atom\", \"atom\", \"true\", new CodeMirror.StringStream(\"\", 2, null))\n }\n };\n});\n\nCodeMirror.registerHelper(\"wordChars\", \"javascript\", /[\\w$]/);\n\nCodeMirror.defineMIME(\"text/javascript\", \"javascript\");\nCodeMirror.defineMIME(\"text/ecmascript\", \"javascript\");\nCodeMirror.defineMIME(\"application/javascript\", \"javascript\");\nCodeMirror.defineMIME(\"application/x-javascript\", \"javascript\");\nCodeMirror.defineMIME(\"application/ecmascript\", \"javascript\");\nCodeMirror.defineMIME(\"application/json\", { name: \"javascript\", json: true });\nCodeMirror.defineMIME(\"application/x-json\", { name: \"javascript\", json: true });\nCodeMirror.defineMIME(\"application/manifest+json\", { name: \"javascript\", json: true })\nCodeMirror.defineMIME(\"application/ld+json\", { name: \"javascript\", jsonld: true });\nCodeMirror.defineMIME(\"text/typescript\", { name: \"javascript\", typescript: true });\nCodeMirror.defineMIME(\"application/typescript\", { name: \"javascript\", typescript: true });\n\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n\"use strict\";\n\nvar htmlConfig = {\n autoSelfClosers: {'area': true, 'base': true, 'br': true, 'col': true, 'command': true,\n 'embed': true, 'frame': true, 'hr': true, 'img': true, 'input': true,\n 'keygen': true, 'link': true, 'meta': true, 'param': true, 'source': true,\n 'track': true, 'wbr': true, 'menuitem': true},\n implicitlyClosed: {'dd': true, 'li': true, 'optgroup': true, 'option': true, 'p': true,\n 'rp': true, 'rt': true, 'tbody': true, 'td': true, 'tfoot': true,\n 'th': true, 'tr': true},\n contextGrabbers: {\n 'dd': {'dd': true, 'dt': true},\n 'dt': {'dd': true, 'dt': true},\n 'li': {'li': true},\n 'option': {'option': true, 'optgroup': true},\n 'optgroup': {'optgroup': true},\n 'p': {'address': true, 'article': true, 'aside': true, 'blockquote': true, 'dir': true,\n 'div': true, 'dl': true, 'fieldset': true, 'footer': true, 'form': true,\n 'h1': true, 'h2': true, 'h3': true, 'h4': true, 'h5': true, 'h6': true,\n 'header': true, 'hgroup': true, 'hr': true, 'menu': true, 'nav': true, 'ol': true,\n 'p': true, 'pre': true, 'section': true, 'table': true, 'ul': true},\n 'rp': {'rp': true, 'rt': true},\n 'rt': {'rp': true, 'rt': true},\n 'tbody': {'tbody': true, 'tfoot': true},\n 'td': {'td': true, 'th': true},\n 'tfoot': {'tbody': true},\n 'th': {'td': true, 'th': true},\n 'thead': {'tbody': true, 'tfoot': true},\n 'tr': {'tr': true}\n },\n doNotIndent: {\"pre\": true},\n allowUnquoted: true,\n allowMissing: true,\n caseFold: true\n}\n\nvar xmlConfig = {\n autoSelfClosers: {},\n implicitlyClosed: {},\n contextGrabbers: {},\n doNotIndent: {},\n allowUnquoted: false,\n allowMissing: false,\n allowMissingTagName: false,\n caseFold: false\n}\n\nCodeMirror.defineMode(\"xml\", function(editorConf, config_) {\n var indentUnit = editorConf.indentUnit\n var config = {}\n var defaults = config_.htmlMode ? htmlConfig : xmlConfig\n for (var prop in defaults) config[prop] = defaults[prop]\n for (var prop in config_) config[prop] = config_[prop]\n\n // Return variables for tokenizers\n var type, setStyle;\n\n function inText(stream, state) {\n function chain(parser) {\n state.tokenize = parser;\n return parser(stream, state);\n }\n\n var ch = stream.next();\n if (ch == \"<\") {\n if (stream.eat(\"!\")) {\n if (stream.eat(\"[\")) {\n if (stream.match(\"CDATA[\")) return chain(inBlock(\"atom\", \"]]>\"));\n else return null;\n } else if (stream.match(\"--\")) {\n return chain(inBlock(\"comment\", \"-->\"));\n } else if (stream.match(\"DOCTYPE\", true, true)) {\n stream.eatWhile(/[\\w\\._\\-]/);\n return chain(doctype(1));\n } else {\n return null;\n }\n } else if (stream.eat(\"?\")) {\n stream.eatWhile(/[\\w\\._\\-]/);\n state.tokenize = inBlock(\"meta\", \"?>\");\n return \"meta\";\n } else {\n type = stream.eat(\"/\") ? \"closeTag\" : \"openTag\";\n state.tokenize = inTag;\n return \"tag bracket\";\n }\n } else if (ch == \"&\") {\n var ok;\n if (stream.eat(\"#\")) {\n if (stream.eat(\"x\")) {\n ok = stream.eatWhile(/[a-fA-F\\d]/) && stream.eat(\";\");\n } else {\n ok = stream.eatWhile(/[\\d]/) && stream.eat(\";\");\n }\n } else {\n ok = stream.eatWhile(/[\\w\\.\\-:]/) && stream.eat(\";\");\n }\n return ok ? \"atom\" : \"error\";\n } else {\n stream.eatWhile(/[^&<]/);\n return null;\n }\n }\n inText.isInText = true;\n\n function inTag(stream, state) {\n var ch = stream.next();\n if (ch == \">\" || (ch == \"/\" && stream.eat(\">\"))) {\n state.tokenize = inText;\n type = ch == \">\" ? \"endTag\" : \"selfcloseTag\";\n return \"tag bracket\";\n } else if (ch == \"=\") {\n type = \"equals\";\n return null;\n } else if (ch == \"<\") {\n state.tokenize = inText;\n state.state = baseState;\n state.tagName = state.tagStart = null;\n var next = state.tokenize(stream, state);\n return next ? next + \" tag error\" : \"tag error\";\n } else if (/[\\'\\\"]/.test(ch)) {\n state.tokenize = inAttribute(ch);\n state.stringStartCol = stream.column();\n return state.tokenize(stream, state);\n } else {\n stream.match(/^[^\\s\\u00a0=<>\\\"\\']*[^\\s\\u00a0=<>\\\"\\'\\/]/);\n return \"word\";\n }\n }\n\n function inAttribute(quote) {\n var closure = function(stream, state) {\n while (!stream.eol()) {\n if (stream.next() == quote) {\n state.tokenize = inTag;\n break;\n }\n }\n return \"string\";\n };\n closure.isInAttribute = true;\n return closure;\n }\n\n function inBlock(style, terminator) {\n return function(stream, state) {\n while (!stream.eol()) {\n if (stream.match(terminator)) {\n state.tokenize = inText;\n break;\n }\n stream.next();\n }\n return style;\n }\n }\n\n function doctype(depth) {\n return function(stream, state) {\n var ch;\n while ((ch = stream.next()) != null) {\n if (ch == \"<\") {\n state.tokenize = doctype(depth + 1);\n return state.tokenize(stream, state);\n } else if (ch == \">\") {\n if (depth == 1) {\n state.tokenize = inText;\n break;\n } else {\n state.tokenize = doctype(depth - 1);\n return state.tokenize(stream, state);\n }\n }\n }\n return \"meta\";\n };\n }\n\n function Context(state, tagName, startOfLine) {\n this.prev = state.context;\n this.tagName = tagName || \"\";\n this.indent = state.indented;\n this.startOfLine = startOfLine;\n if (config.doNotIndent.hasOwnProperty(tagName) || (state.context && state.context.noIndent))\n this.noIndent = true;\n }\n function popContext(state) {\n if (state.context) state.context = state.context.prev;\n }\n function maybePopContext(state, nextTagName) {\n var parentTagName;\n while (true) {\n if (!state.context) {\n return;\n }\n parentTagName = state.context.tagName;\n if (!config.contextGrabbers.hasOwnProperty(parentTagName) ||\n !config.contextGrabbers[parentTagName].hasOwnProperty(nextTagName)) {\n return;\n }\n popContext(state);\n }\n }\n\n function baseState(type, stream, state) {\n if (type == \"openTag\") {\n state.tagStart = stream.column();\n return tagNameState;\n } else if (type == \"closeTag\") {\n return closeTagNameState;\n } else {\n return baseState;\n }\n }\n function tagNameState(type, stream, state) {\n if (type == \"word\") {\n state.tagName = stream.current();\n setStyle = \"tag\";\n return attrState;\n } else if (config.allowMissingTagName && type == \"endTag\") {\n setStyle = \"tag bracket\";\n return attrState(type, stream, state);\n } else {\n setStyle = \"error\";\n return tagNameState;\n }\n }\n function closeTagNameState(type, stream, state) {\n if (type == \"word\") {\n var tagName = stream.current();\n if (state.context && state.context.tagName != tagName &&\n config.implicitlyClosed.hasOwnProperty(state.context.tagName))\n popContext(state);\n if ((state.context && state.context.tagName == tagName) || config.matchClosing === false) {\n setStyle = \"tag\";\n return closeState;\n } else {\n setStyle = \"tag error\";\n return closeStateErr;\n }\n } else if (config.allowMissingTagName && type == \"endTag\") {\n setStyle = \"tag bracket\";\n return closeState(type, stream, state);\n } else {\n setStyle = \"error\";\n return closeStateErr;\n }\n }\n\n function closeState(type, _stream, state) {\n if (type != \"endTag\") {\n setStyle = \"error\";\n return closeState;\n }\n popContext(state);\n return baseState;\n }\n function closeStateErr(type, stream, state) {\n setStyle = \"error\";\n return closeState(type, stream, state);\n }\n\n function attrState(type, _stream, state) {\n if (type == \"word\") {\n setStyle = \"attribute\";\n return attrEqState;\n } else if (type == \"endTag\" || type == \"selfcloseTag\") {\n var tagName = state.tagName, tagStart = state.tagStart;\n state.tagName = state.tagStart = null;\n if (type == \"selfcloseTag\" ||\n config.autoSelfClosers.hasOwnProperty(tagName)) {\n maybePopContext(state, tagName);\n } else {\n maybePopContext(state, tagName);\n state.context = new Context(state, tagName, tagStart == state.indented);\n }\n return baseState;\n }\n setStyle = \"error\";\n return attrState;\n }\n function attrEqState(type, stream, state) {\n if (type == \"equals\") return attrValueState;\n if (!config.allowMissing) setStyle = \"error\";\n return attrState(type, stream, state);\n }\n function attrValueState(type, stream, state) {\n if (type == \"string\") return attrContinuedState;\n if (type == \"word\" && config.allowUnquoted) {setStyle = \"string\"; return attrState;}\n setStyle = \"error\";\n return attrState(type, stream, state);\n }\n function attrContinuedState(type, stream, state) {\n if (type == \"string\") return attrContinuedState;\n return attrState(type, stream, state);\n }\n\n return {\n startState: function(baseIndent) {\n var state = {tokenize: inText,\n state: baseState,\n indented: baseIndent || 0,\n tagName: null, tagStart: null,\n context: null}\n if (baseIndent != null) state.baseIndent = baseIndent\n return state\n },\n\n token: function(stream, state) {\n if (!state.tagName && stream.sol())\n state.indented = stream.indentation();\n\n if (stream.eatSpace()) return null;\n type = null;\n var style = state.tokenize(stream, state);\n if ((style || type) && style != \"comment\") {\n setStyle = null;\n state.state = state.state(type || style, stream, state);\n if (setStyle)\n style = setStyle == \"error\" ? style + \" error\" : setStyle;\n }\n return style;\n },\n\n indent: function(state, textAfter, fullLine) {\n var context = state.context;\n // Indent multi-line strings (e.g. css).\n if (state.tokenize.isInAttribute) {\n if (state.tagStart == state.indented)\n return state.stringStartCol + 1;\n else\n return state.indented + indentUnit;\n }\n if (context && context.noIndent) return CodeMirror.Pass;\n if (state.tokenize != inTag && state.tokenize != inText)\n return fullLine ? fullLine.match(/^(\\s*)/)[0].length : 0;\n // Indent the starts of attribute names.\n if (state.tagName) {\n if (config.multilineTagIndentPastTag !== false)\n return state.tagStart + state.tagName.length + 2;\n else\n return state.tagStart + indentUnit * (config.multilineTagIndentFactor || 1);\n }\n if (config.alignCDATA && /$/,\n blockCommentStart: \"\",\n\n configuration: config.htmlMode ? \"html\" : \"xml\",\n helperType: config.htmlMode ? \"html\" : \"xml\",\n\n skipAttribute: function(state) {\n if (state.state == attrValueState)\n state.state = attrState\n },\n\n xmlCurrentTag: function(state) {\n return state.tagName ? {name: state.tagName, close: state.type == \"closeTag\"} : null\n },\n\n xmlCurrentContext: function(state) {\n var context = []\n for (var cx = state.context; cx; cx = cx.prev)\n context.push(cx.tagName)\n return context.reverse()\n }\n };\n});\n\nCodeMirror.defineMIME(\"text/xml\", \"xml\");\nCodeMirror.defineMIME(\"application/xml\", \"xml\");\nif (!CodeMirror.mimeModes.hasOwnProperty(\"text/html\"))\n CodeMirror.defineMIME(\"text/html\", {name: \"xml\", htmlMode: true});\n\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"), require(\"../xml/xml\"), require(\"../javascript/javascript\"), require(\"../css/css\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\", \"../xml/xml\", \"../javascript/javascript\", \"../css/css\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n \"use strict\";\n\n var defaultTags = {\n script: [\n [\"lang\", /(javascript|babel)/i, \"javascript\"],\n [\"type\", /^(?:text|application)\\/(?:x-)?(?:java|ecma)script$|^module$|^$/i, \"javascript\"],\n [\"type\", /./, \"text/plain\"],\n [null, null, \"javascript\"]\n ],\n style: [\n [\"lang\", /^css$/i, \"css\"],\n [\"type\", /^(text\\/)?(x-)?(stylesheet|css)$/i, \"css\"],\n [\"type\", /./, \"text/plain\"],\n [null, null, \"css\"]\n ]\n };\n\n function maybeBackup(stream, pat, style) {\n var cur = stream.current(), close = cur.search(pat);\n if (close > -1) {\n stream.backUp(cur.length - close);\n } else if (cur.match(/<\\/?$/)) {\n stream.backUp(cur.length);\n if (!stream.match(pat, false)) stream.match(cur);\n }\n return style;\n }\n\n var attrRegexpCache = {};\n function getAttrRegexp(attr) {\n var regexp = attrRegexpCache[attr];\n if (regexp) return regexp;\n return attrRegexpCache[attr] = new RegExp(\"\\\\s+\" + attr + \"\\\\s*=\\\\s*('|\\\")?([^'\\\"]+)('|\\\")?\\\\s*\");\n }\n\n function getAttrValue(text, attr) {\n var match = text.match(getAttrRegexp(attr))\n return match ? /^\\s*(.*?)\\s*$/.exec(match[2])[1] : \"\"\n }\n\n function getTagRegexp(tagName, anchored) {\n return new RegExp((anchored ? \"^\" : \"\") + \"<\\/\\s*\" + tagName + \"\\s*>\", \"i\");\n }\n\n function addTags(from, to) {\n for (var tag in from) {\n var dest = to[tag] || (to[tag] = []);\n var source = from[tag];\n for (var i = source.length - 1; i >= 0; i--)\n dest.unshift(source[i])\n }\n }\n\n function findMatchingMode(tagInfo, tagText) {\n for (var i = 0; i < tagInfo.length; i++) {\n var spec = tagInfo[i];\n if (!spec[0] || spec[1].test(getAttrValue(tagText, spec[0]))) return spec[2];\n }\n }\n\n CodeMirror.defineMode(\"htmlmixed\", function (config, parserConfig) {\n var htmlMode = CodeMirror.getMode(config, {\n name: \"xml\",\n htmlMode: true,\n multilineTagIndentFactor: parserConfig.multilineTagIndentFactor,\n multilineTagIndentPastTag: parserConfig.multilineTagIndentPastTag,\n allowMissingTagName: parserConfig.allowMissingTagName,\n });\n\n var tags = {};\n var configTags = parserConfig && parserConfig.tags, configScript = parserConfig && parserConfig.scriptTypes;\n addTags(defaultTags, tags);\n if (configTags) addTags(configTags, tags);\n if (configScript) for (var i = configScript.length - 1; i >= 0; i--)\n tags.script.unshift([\"type\", configScript[i].matches, configScript[i].mode])\n\n function html(stream, state) {\n var style = htmlMode.token(stream, state.htmlState), tag = /\\btag\\b/.test(style), tagName\n if (tag && !/[<>\\s\\/]/.test(stream.current()) &&\n (tagName = state.htmlState.tagName && state.htmlState.tagName.toLowerCase()) &&\n tags.hasOwnProperty(tagName)) {\n state.inTag = tagName + \" \"\n } else if (state.inTag && tag && />$/.test(stream.current())) {\n var inTag = /^([\\S]+) (.*)/.exec(state.inTag)\n state.inTag = null\n var modeSpec = stream.current() == \">\" && findMatchingMode(tags[inTag[1]], inTag[2])\n var mode = CodeMirror.getMode(config, modeSpec)\n var endTagA = getTagRegexp(inTag[1], true), endTag = getTagRegexp(inTag[1], false);\n state.token = function (stream, state) {\n if (stream.match(endTagA, false)) {\n state.token = html;\n state.localState = state.localMode = null;\n return null;\n }\n return maybeBackup(stream, endTag, state.localMode.token(stream, state.localState));\n };\n state.localMode = mode;\n state.localState = CodeMirror.startState(mode, htmlMode.indent(state.htmlState, \"\", \"\"));\n } else if (state.inTag) {\n state.inTag += stream.current()\n if (stream.eol()) state.inTag += \" \"\n }\n return style;\n };\n\n return {\n startState: function () {\n var state = CodeMirror.startState(htmlMode);\n return {token: html, inTag: null, localMode: null, localState: null, htmlState: state};\n },\n\n copyState: function (state) {\n var local;\n if (state.localState) {\n local = CodeMirror.copyState(state.localMode, state.localState);\n }\n return {token: state.token, inTag: state.inTag,\n localMode: state.localMode, localState: local,\n htmlState: CodeMirror.copyState(htmlMode, state.htmlState)};\n },\n\n token: function (stream, state) {\n return state.token(stream, state);\n },\n\n indent: function (state, textAfter, line) {\n if (!state.localMode || /^\\s*<\\//.test(textAfter))\n return htmlMode.indent(state.htmlState, textAfter, line);\n else if (state.localMode.indent)\n return state.localMode.indent(state.localState, textAfter, line);\n else\n return CodeMirror.Pass;\n },\n\n innerMode: function (state) {\n return {state: state.localState || state.htmlState, mode: state.localMode || htmlMode};\n }\n };\n }, \"xml\", \"javascript\", \"css\");\n\n CodeMirror.defineMIME(\"text/html\", \"htmlmixed\");\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.defineMode(\"css\", function(config, parserConfig) {\n var inline = parserConfig.inline\n if (!parserConfig.propertyKeywords) parserConfig = CodeMirror.resolveMode(\"text/css\");\n\n var indentUnit = config.indentUnit,\n tokenHooks = parserConfig.tokenHooks,\n documentTypes = parserConfig.documentTypes || {},\n mediaTypes = parserConfig.mediaTypes || {},\n mediaFeatures = parserConfig.mediaFeatures || {},\n mediaValueKeywords = parserConfig.mediaValueKeywords || {},\n propertyKeywords = parserConfig.propertyKeywords || {},\n nonStandardPropertyKeywords = parserConfig.nonStandardPropertyKeywords || {},\n fontProperties = parserConfig.fontProperties || {},\n counterDescriptors = parserConfig.counterDescriptors || {},\n colorKeywords = parserConfig.colorKeywords || {},\n valueKeywords = parserConfig.valueKeywords || {},\n allowNested = parserConfig.allowNested,\n lineComment = parserConfig.lineComment,\n supportsAtComponent = parserConfig.supportsAtComponent === true,\n highlightNonStandardPropertyKeywords = config.highlightNonStandardPropertyKeywords !== false;\n\n var type, override;\n function ret(style, tp) { type = tp; return style; }\n\n // Tokenizers\n\n function tokenBase(stream, state) {\n var ch = stream.next();\n if (tokenHooks[ch]) {\n var result = tokenHooks[ch](stream, state);\n if (result !== false) return result;\n }\n if (ch == \"@\") {\n stream.eatWhile(/[\\w\\\\\\-]/);\n return ret(\"def\", stream.current());\n } else if (ch == \"=\" || (ch == \"~\" || ch == \"|\") && stream.eat(\"=\")) {\n return ret(null, \"compare\");\n } else if (ch == \"\\\"\" || ch == \"'\") {\n state.tokenize = tokenString(ch);\n return state.tokenize(stream, state);\n } else if (ch == \"#\") {\n stream.eatWhile(/[\\w\\\\\\-]/);\n return ret(\"atom\", \"hash\");\n } else if (ch == \"!\") {\n stream.match(/^\\s*\\w*/);\n return ret(\"keyword\", \"important\");\n } else if (/\\d/.test(ch) || ch == \".\" && stream.eat(/\\d/)) {\n stream.eatWhile(/[\\w.%]/);\n return ret(\"number\", \"unit\");\n } else if (ch === \"-\") {\n if (/[\\d.]/.test(stream.peek())) {\n stream.eatWhile(/[\\w.%]/);\n return ret(\"number\", \"unit\");\n } else if (stream.match(/^-[\\w\\\\\\-]*/)) {\n stream.eatWhile(/[\\w\\\\\\-]/);\n if (stream.match(/^\\s*:/, false))\n return ret(\"variable-2\", \"variable-definition\");\n return ret(\"variable-2\", \"variable\");\n } else if (stream.match(/^\\w+-/)) {\n return ret(\"meta\", \"meta\");\n }\n } else if (/[,+>*\\/]/.test(ch)) {\n return ret(null, \"select-op\");\n } else if (ch == \".\" && stream.match(/^-?[_a-z][_a-z0-9-]*/i)) {\n return ret(\"qualifier\", \"qualifier\");\n } else if (/[:;{}\\[\\]\\(\\)]/.test(ch)) {\n return ret(null, ch);\n } else if (stream.match(/^[\\w-.]+(?=\\()/)) {\n if (/^(url(-prefix)?|domain|regexp)$/i.test(stream.current())) {\n state.tokenize = tokenParenthesized;\n }\n return ret(\"variable callee\", \"variable\");\n } else if (/[\\w\\\\\\-]/.test(ch)) {\n stream.eatWhile(/[\\w\\\\\\-]/);\n return ret(\"property\", \"word\");\n } else {\n return ret(null, null);\n }\n }\n\n function tokenString(quote) {\n return function(stream, state) {\n var escaped = false, ch;\n while ((ch = stream.next()) != null) {\n if (ch == quote && !escaped) {\n if (quote == \")\") stream.backUp(1);\n break;\n }\n escaped = !escaped && ch == \"\\\\\";\n }\n if (ch == quote || !escaped && quote != \")\") state.tokenize = null;\n return ret(\"string\", \"string\");\n };\n }\n\n function tokenParenthesized(stream, state) {\n stream.next(); // Must be '('\n if (!stream.match(/^\\s*[\\\"\\')]/, false))\n state.tokenize = tokenString(\")\");\n else\n state.tokenize = null;\n return ret(null, \"(\");\n }\n\n // Context management\n\n function Context(type, indent, prev) {\n this.type = type;\n this.indent = indent;\n this.prev = prev;\n }\n\n function pushContext(state, stream, type, indent) {\n state.context = new Context(type, stream.indentation() + (indent === false ? 0 : indentUnit), state.context);\n return type;\n }\n\n function popContext(state) {\n if (state.context.prev)\n state.context = state.context.prev;\n return state.context.type;\n }\n\n function pass(type, stream, state) {\n return states[state.context.type](type, stream, state);\n }\n function popAndPass(type, stream, state, n) {\n for (var i = n || 1; i > 0; i--)\n state.context = state.context.prev;\n return pass(type, stream, state);\n }\n\n // Parser\n\n function wordAsValue(stream) {\n var word = stream.current().toLowerCase();\n if (valueKeywords.hasOwnProperty(word))\n override = \"atom\";\n else if (colorKeywords.hasOwnProperty(word))\n override = \"keyword\";\n else\n override = \"variable\";\n }\n\n var states = {};\n\n states.top = function(type, stream, state) {\n if (type == \"{\") {\n return pushContext(state, stream, \"block\");\n } else if (type == \"}\" && state.context.prev) {\n return popContext(state);\n } else if (supportsAtComponent && /@component/i.test(type)) {\n return pushContext(state, stream, \"atComponentBlock\");\n } else if (/^@(-moz-)?document$/i.test(type)) {\n return pushContext(state, stream, \"documentTypes\");\n } else if (/^@(media|supports|(-moz-)?document|import)$/i.test(type)) {\n return pushContext(state, stream, \"atBlock\");\n } else if (/^@(font-face|counter-style)/i.test(type)) {\n state.stateArg = type;\n return \"restricted_atBlock_before\";\n } else if (/^@(-(moz|ms|o|webkit)-)?keyframes$/i.test(type)) {\n return \"keyframes\";\n } else if (type && type.charAt(0) == \"@\") {\n return pushContext(state, stream, \"at\");\n } else if (type == \"hash\") {\n override = \"builtin\";\n } else if (type == \"word\") {\n override = \"tag\";\n } else if (type == \"variable-definition\") {\n return \"maybeprop\";\n } else if (type == \"interpolation\") {\n return pushContext(state, stream, \"interpolation\");\n } else if (type == \":\") {\n return \"pseudo\";\n } else if (allowNested && type == \"(\") {\n return pushContext(state, stream, \"parens\");\n }\n return state.context.type;\n };\n\n states.block = function(type, stream, state) {\n if (type == \"word\") {\n var word = stream.current().toLowerCase();\n if (propertyKeywords.hasOwnProperty(word)) {\n override = \"property\";\n return \"maybeprop\";\n } else if (nonStandardPropertyKeywords.hasOwnProperty(word)) {\n override = highlightNonStandardPropertyKeywords ? \"string-2\" : \"property\";\n return \"maybeprop\";\n } else if (allowNested) {\n override = stream.match(/^\\s*:(?:\\s|$)/, false) ? \"property\" : \"tag\";\n return \"block\";\n } else {\n override += \" error\";\n return \"maybeprop\";\n }\n } else if (type == \"meta\") {\n return \"block\";\n } else if (!allowNested && (type == \"hash\" || type == \"qualifier\")) {\n override = \"error\";\n return \"block\";\n } else {\n return states.top(type, stream, state);\n }\n };\n\n states.maybeprop = function(type, stream, state) {\n if (type == \":\") return pushContext(state, stream, \"prop\");\n return pass(type, stream, state);\n };\n\n states.prop = function(type, stream, state) {\n if (type == \";\") return popContext(state);\n if (type == \"{\" && allowNested) return pushContext(state, stream, \"propBlock\");\n if (type == \"}\" || type == \"{\") return popAndPass(type, stream, state);\n if (type == \"(\") return pushContext(state, stream, \"parens\");\n\n if (type == \"hash\" && !/^#([0-9a-fA-f]{3,4}|[0-9a-fA-f]{6}|[0-9a-fA-f]{8})$/.test(stream.current())) {\n override += \" error\";\n } else if (type == \"word\") {\n wordAsValue(stream);\n } else if (type == \"interpolation\") {\n return pushContext(state, stream, \"interpolation\");\n }\n return \"prop\";\n };\n\n states.propBlock = function(type, _stream, state) {\n if (type == \"}\") return popContext(state);\n if (type == \"word\") { override = \"property\"; return \"maybeprop\"; }\n return state.context.type;\n };\n\n states.parens = function(type, stream, state) {\n if (type == \"{\" || type == \"}\") return popAndPass(type, stream, state);\n if (type == \")\") return popContext(state);\n if (type == \"(\") return pushContext(state, stream, \"parens\");\n if (type == \"interpolation\") return pushContext(state, stream, \"interpolation\");\n if (type == \"word\") wordAsValue(stream);\n return \"parens\";\n };\n\n states.pseudo = function(type, stream, state) {\n if (type == \"meta\") return \"pseudo\";\n\n if (type == \"word\") {\n override = \"variable-3\";\n return state.context.type;\n }\n return pass(type, stream, state);\n };\n\n states.documentTypes = function(type, stream, state) {\n if (type == \"word\" && documentTypes.hasOwnProperty(stream.current())) {\n override = \"tag\";\n return state.context.type;\n } else {\n return states.atBlock(type, stream, state);\n }\n };\n\n states.atBlock = function(type, stream, state) {\n if (type == \"(\") return pushContext(state, stream, \"atBlock_parens\");\n if (type == \"}\" || type == \";\") return popAndPass(type, stream, state);\n if (type == \"{\") return popContext(state) && pushContext(state, stream, allowNested ? \"block\" : \"top\");\n\n if (type == \"interpolation\") return pushContext(state, stream, \"interpolation\");\n\n if (type == \"word\") {\n var word = stream.current().toLowerCase();\n if (word == \"only\" || word == \"not\" || word == \"and\" || word == \"or\")\n override = \"keyword\";\n else if (mediaTypes.hasOwnProperty(word))\n override = \"attribute\";\n else if (mediaFeatures.hasOwnProperty(word))\n override = \"property\";\n else if (mediaValueKeywords.hasOwnProperty(word))\n override = \"keyword\";\n else if (propertyKeywords.hasOwnProperty(word))\n override = \"property\";\n else if (nonStandardPropertyKeywords.hasOwnProperty(word))\n override = highlightNonStandardPropertyKeywords ? \"string-2\" : \"property\";\n else if (valueKeywords.hasOwnProperty(word))\n override = \"atom\";\n else if (colorKeywords.hasOwnProperty(word))\n override = \"keyword\";\n else\n override = \"error\";\n }\n return state.context.type;\n };\n\n states.atComponentBlock = function(type, stream, state) {\n if (type == \"}\")\n return popAndPass(type, stream, state);\n if (type == \"{\")\n return popContext(state) && pushContext(state, stream, allowNested ? \"block\" : \"top\", false);\n if (type == \"word\")\n override = \"error\";\n return state.context.type;\n };\n\n states.atBlock_parens = function(type, stream, state) {\n if (type == \")\") return popContext(state);\n if (type == \"{\" || type == \"}\") return popAndPass(type, stream, state, 2);\n return states.atBlock(type, stream, state);\n };\n\n states.restricted_atBlock_before = function(type, stream, state) {\n if (type == \"{\")\n return pushContext(state, stream, \"restricted_atBlock\");\n if (type == \"word\" && state.stateArg == \"@counter-style\") {\n override = \"variable\";\n return \"restricted_atBlock_before\";\n }\n return pass(type, stream, state);\n };\n\n states.restricted_atBlock = function(type, stream, state) {\n if (type == \"}\") {\n state.stateArg = null;\n return popContext(state);\n }\n if (type == \"word\") {\n if ((state.stateArg == \"@font-face\" && !fontProperties.hasOwnProperty(stream.current().toLowerCase())) ||\n (state.stateArg == \"@counter-style\" && !counterDescriptors.hasOwnProperty(stream.current().toLowerCase())))\n override = \"error\";\n else\n override = \"property\";\n return \"maybeprop\";\n }\n return \"restricted_atBlock\";\n };\n\n states.keyframes = function(type, stream, state) {\n if (type == \"word\") { override = \"variable\"; return \"keyframes\"; }\n if (type == \"{\") return pushContext(state, stream, \"top\");\n return pass(type, stream, state);\n };\n\n states.at = function(type, stream, state) {\n if (type == \";\") return popContext(state);\n if (type == \"{\" || type == \"}\") return popAndPass(type, stream, state);\n if (type == \"word\") override = \"tag\";\n else if (type == \"hash\") override = \"builtin\";\n return \"at\";\n };\n\n states.interpolation = function(type, stream, state) {\n if (type == \"}\") return popContext(state);\n if (type == \"{\" || type == \";\") return popAndPass(type, stream, state);\n if (type == \"word\") override = \"variable\";\n else if (type != \"variable\" && type != \"(\" && type != \")\") override = \"error\";\n return \"interpolation\";\n };\n\n return {\n startState: function(base) {\n return {tokenize: null,\n state: inline ? \"block\" : \"top\",\n stateArg: null,\n context: new Context(inline ? \"block\" : \"top\", base || 0, null)};\n },\n\n token: function(stream, state) {\n if (!state.tokenize && stream.eatSpace()) return null;\n var style = (state.tokenize || tokenBase)(stream, state);\n if (style && typeof style == \"object\") {\n type = style[1];\n style = style[0];\n }\n override = style;\n if (type != \"comment\")\n state.state = states[state.state](type, stream, state);\n return override;\n },\n\n indent: function(state, textAfter) {\n var cx = state.context, ch = textAfter && textAfter.charAt(0);\n var indent = cx.indent;\n if (cx.type == \"prop\" && (ch == \"}\" || ch == \")\")) cx = cx.prev;\n if (cx.prev) {\n if (ch == \"}\" && (cx.type == \"block\" || cx.type == \"top\" ||\n cx.type == \"interpolation\" || cx.type == \"restricted_atBlock\")) {\n // Resume indentation from parent context.\n cx = cx.prev;\n indent = cx.indent;\n } else if (ch == \")\" && (cx.type == \"parens\" || cx.type == \"atBlock_parens\") ||\n ch == \"{\" && (cx.type == \"at\" || cx.type == \"atBlock\")) {\n // Dedent relative to current context.\n indent = Math.max(0, cx.indent - indentUnit);\n }\n }\n return indent;\n },\n\n electricChars: \"}\",\n blockCommentStart: \"/*\",\n blockCommentEnd: \"*/\",\n blockCommentContinue: \" * \",\n lineComment: lineComment,\n fold: \"brace\"\n };\n});\n\n function keySet(array) {\n var keys = {};\n for (var i = 0; i < array.length; ++i) {\n keys[array[i].toLowerCase()] = true;\n }\n return keys;\n }\n\n var documentTypes_ = [\n \"domain\", \"regexp\", \"url\", \"url-prefix\"\n ], documentTypes = keySet(documentTypes_);\n\n var mediaTypes_ = [\n \"all\", \"aural\", \"braille\", \"handheld\", \"print\", \"projection\", \"screen\",\n \"tty\", \"tv\", \"embossed\"\n ], mediaTypes = keySet(mediaTypes_);\n\n var mediaFeatures_ = [\n \"width\", \"min-width\", \"max-width\", \"height\", \"min-height\", \"max-height\",\n \"device-width\", \"min-device-width\", \"max-device-width\", \"device-height\",\n \"min-device-height\", \"max-device-height\", \"aspect-ratio\",\n \"min-aspect-ratio\", \"max-aspect-ratio\", \"device-aspect-ratio\",\n \"min-device-aspect-ratio\", \"max-device-aspect-ratio\", \"color\", \"min-color\",\n \"max-color\", \"color-index\", \"min-color-index\", \"max-color-index\",\n \"monochrome\", \"min-monochrome\", \"max-monochrome\", \"resolution\",\n \"min-resolution\", \"max-resolution\", \"scan\", \"grid\", \"orientation\",\n \"device-pixel-ratio\", \"min-device-pixel-ratio\", \"max-device-pixel-ratio\",\n \"pointer\", \"any-pointer\", \"hover\", \"any-hover\", \"prefers-color-scheme\"\n ], mediaFeatures = keySet(mediaFeatures_);\n\n var mediaValueKeywords_ = [\n \"landscape\", \"portrait\", \"none\", \"coarse\", \"fine\", \"on-demand\", \"hover\",\n \"interlace\", \"progressive\",\n \"dark\", \"light\"\n ], mediaValueKeywords = keySet(mediaValueKeywords_);\n\n var propertyKeywords_ = [\n \"align-content\", \"align-items\", \"align-self\", \"alignment-adjust\",\n \"alignment-baseline\", \"all\", \"anchor-point\", \"animation\", \"animation-delay\",\n \"animation-direction\", \"animation-duration\", \"animation-fill-mode\",\n \"animation-iteration-count\", \"animation-name\", \"animation-play-state\",\n \"animation-timing-function\", \"appearance\", \"azimuth\", \"backdrop-filter\",\n \"backface-visibility\", \"background\", \"background-attachment\",\n \"background-blend-mode\", \"background-clip\", \"background-color\",\n \"background-image\", \"background-origin\", \"background-position\",\n \"background-position-x\", \"background-position-y\", \"background-repeat\",\n \"background-size\", \"baseline-shift\", \"binding\", \"bleed\", \"block-size\",\n \"bookmark-label\", \"bookmark-level\", \"bookmark-state\", \"bookmark-target\",\n \"border\", \"border-bottom\", \"border-bottom-color\", \"border-bottom-left-radius\",\n \"border-bottom-right-radius\", \"border-bottom-style\", \"border-bottom-width\",\n \"border-collapse\", \"border-color\", \"border-image\", \"border-image-outset\",\n \"border-image-repeat\", \"border-image-slice\", \"border-image-source\",\n \"border-image-width\", \"border-left\", \"border-left-color\", \"border-left-style\",\n \"border-left-width\", \"border-radius\", \"border-right\", \"border-right-color\",\n \"border-right-style\", \"border-right-width\", \"border-spacing\", \"border-style\",\n \"border-top\", \"border-top-color\", \"border-top-left-radius\",\n \"border-top-right-radius\", \"border-top-style\", \"border-top-width\",\n \"border-width\", \"bottom\", \"box-decoration-break\", \"box-shadow\", \"box-sizing\",\n \"break-after\", \"break-before\", \"break-inside\", \"caption-side\", \"caret-color\",\n \"clear\", \"clip\", \"color\", \"color-profile\", \"column-count\", \"column-fill\",\n \"column-gap\", \"column-rule\", \"column-rule-color\", \"column-rule-style\",\n \"column-rule-width\", \"column-span\", \"column-width\", \"columns\", \"contain\",\n \"content\", \"counter-increment\", \"counter-reset\", \"crop\", \"cue\", \"cue-after\",\n \"cue-before\", \"cursor\", \"direction\", \"display\", \"dominant-baseline\",\n \"drop-initial-after-adjust\", \"drop-initial-after-align\",\n \"drop-initial-before-adjust\", \"drop-initial-before-align\", \"drop-initial-size\",\n \"drop-initial-value\", \"elevation\", \"empty-cells\", \"fit\", \"fit-content\", \"fit-position\",\n \"flex\", \"flex-basis\", \"flex-direction\", \"flex-flow\", \"flex-grow\",\n \"flex-shrink\", \"flex-wrap\", \"float\", \"float-offset\", \"flow-from\", \"flow-into\",\n \"font\", \"font-family\", \"font-feature-settings\", \"font-kerning\",\n \"font-language-override\", \"font-optical-sizing\", \"font-size\",\n \"font-size-adjust\", \"font-stretch\", \"font-style\", \"font-synthesis\",\n \"font-variant\", \"font-variant-alternates\", \"font-variant-caps\",\n \"font-variant-east-asian\", \"font-variant-ligatures\", \"font-variant-numeric\",\n \"font-variant-position\", \"font-variation-settings\", \"font-weight\", \"gap\",\n \"grid\", \"grid-area\", \"grid-auto-columns\", \"grid-auto-flow\", \"grid-auto-rows\",\n \"grid-column\", \"grid-column-end\", \"grid-column-gap\", \"grid-column-start\",\n \"grid-gap\", \"grid-row\", \"grid-row-end\", \"grid-row-gap\", \"grid-row-start\",\n \"grid-template\", \"grid-template-areas\", \"grid-template-columns\",\n \"grid-template-rows\", \"hanging-punctuation\", \"height\", \"hyphens\", \"icon\",\n \"image-orientation\", \"image-rendering\", \"image-resolution\", \"inline-box-align\",\n \"inset\", \"inset-block\", \"inset-block-end\", \"inset-block-start\", \"inset-inline\",\n \"inset-inline-end\", \"inset-inline-start\", \"isolation\", \"justify-content\",\n \"justify-items\", \"justify-self\", \"left\", \"letter-spacing\", \"line-break\",\n \"line-height\", \"line-height-step\", \"line-stacking\", \"line-stacking-ruby\",\n \"line-stacking-shift\", \"line-stacking-strategy\", \"list-style\",\n \"list-style-image\", \"list-style-position\", \"list-style-type\", \"margin\",\n \"margin-bottom\", \"margin-left\", \"margin-right\", \"margin-top\", \"marks\",\n \"marquee-direction\", \"marquee-loop\", \"marquee-play-count\", \"marquee-speed\",\n \"marquee-style\", \"mask-clip\", \"mask-composite\", \"mask-image\", \"mask-mode\",\n \"mask-origin\", \"mask-position\", \"mask-repeat\", \"mask-size\",\"mask-type\",\n \"max-block-size\", \"max-height\", \"max-inline-size\",\n \"max-width\", \"min-block-size\", \"min-height\", \"min-inline-size\", \"min-width\",\n \"mix-blend-mode\", \"move-to\", \"nav-down\", \"nav-index\", \"nav-left\", \"nav-right\",\n \"nav-up\", \"object-fit\", \"object-position\", \"offset\", \"offset-anchor\",\n \"offset-distance\", \"offset-path\", \"offset-position\", \"offset-rotate\",\n \"opacity\", \"order\", \"orphans\", \"outline\", \"outline-color\", \"outline-offset\",\n \"outline-style\", \"outline-width\", \"overflow\", \"overflow-style\",\n \"overflow-wrap\", \"overflow-x\", \"overflow-y\", \"padding\", \"padding-bottom\",\n \"padding-left\", \"padding-right\", \"padding-top\", \"page\", \"page-break-after\",\n \"page-break-before\", \"page-break-inside\", \"page-policy\", \"pause\",\n \"pause-after\", \"pause-before\", \"perspective\", \"perspective-origin\", \"pitch\",\n \"pitch-range\", \"place-content\", \"place-items\", \"place-self\", \"play-during\",\n \"position\", \"presentation-level\", \"punctuation-trim\", \"quotes\",\n \"region-break-after\", \"region-break-before\", \"region-break-inside\",\n \"region-fragment\", \"rendering-intent\", \"resize\", \"rest\", \"rest-after\",\n \"rest-before\", \"richness\", \"right\", \"rotate\", \"rotation\", \"rotation-point\",\n \"row-gap\", \"ruby-align\", \"ruby-overhang\", \"ruby-position\", \"ruby-span\",\n \"scale\", \"scroll-behavior\", \"scroll-margin\", \"scroll-margin-block\",\n \"scroll-margin-block-end\", \"scroll-margin-block-start\", \"scroll-margin-bottom\",\n \"scroll-margin-inline\", \"scroll-margin-inline-end\",\n \"scroll-margin-inline-start\", \"scroll-margin-left\", \"scroll-margin-right\",\n \"scroll-margin-top\", \"scroll-padding\", \"scroll-padding-block\",\n \"scroll-padding-block-end\", \"scroll-padding-block-start\",\n \"scroll-padding-bottom\", \"scroll-padding-inline\", \"scroll-padding-inline-end\",\n \"scroll-padding-inline-start\", \"scroll-padding-left\", \"scroll-padding-right\",\n \"scroll-padding-top\", \"scroll-snap-align\", \"scroll-snap-type\",\n \"shape-image-threshold\", \"shape-inside\", \"shape-margin\", \"shape-outside\",\n \"size\", \"speak\", \"speak-as\", \"speak-header\", \"speak-numeral\",\n \"speak-punctuation\", \"speech-rate\", \"stress\", \"string-set\", \"tab-size\",\n \"table-layout\", \"target\", \"target-name\", \"target-new\", \"target-position\",\n \"text-align\", \"text-align-last\", \"text-combine-upright\", \"text-decoration\",\n \"text-decoration-color\", \"text-decoration-line\", \"text-decoration-skip\",\n \"text-decoration-skip-ink\", \"text-decoration-style\", \"text-emphasis\",\n \"text-emphasis-color\", \"text-emphasis-position\", \"text-emphasis-style\",\n \"text-height\", \"text-indent\", \"text-justify\", \"text-orientation\",\n \"text-outline\", \"text-overflow\", \"text-rendering\", \"text-shadow\",\n \"text-size-adjust\", \"text-space-collapse\", \"text-transform\",\n \"text-underline-position\", \"text-wrap\", \"top\", \"touch-action\", \"transform\", \"transform-origin\",\n \"transform-style\", \"transition\", \"transition-delay\", \"transition-duration\",\n \"transition-property\", \"transition-timing-function\", \"translate\",\n \"unicode-bidi\", \"user-select\", \"vertical-align\", \"visibility\", \"voice-balance\",\n \"voice-duration\", \"voice-family\", \"voice-pitch\", \"voice-range\", \"voice-rate\",\n \"voice-stress\", \"voice-volume\", \"volume\", \"white-space\", \"widows\", \"width\",\n \"will-change\", \"word-break\", \"word-spacing\", \"word-wrap\", \"writing-mode\", \"z-index\",\n // SVG-specific\n \"clip-path\", \"clip-rule\", \"mask\", \"enable-background\", \"filter\", \"flood-color\",\n \"flood-opacity\", \"lighting-color\", \"stop-color\", \"stop-opacity\", \"pointer-events\",\n \"color-interpolation\", \"color-interpolation-filters\",\n \"color-rendering\", \"fill\", \"fill-opacity\", \"fill-rule\", \"image-rendering\",\n \"marker\", \"marker-end\", \"marker-mid\", \"marker-start\", \"paint-order\", \"shape-rendering\", \"stroke\",\n \"stroke-dasharray\", \"stroke-dashoffset\", \"stroke-linecap\", \"stroke-linejoin\",\n \"stroke-miterlimit\", \"stroke-opacity\", \"stroke-width\", \"text-rendering\",\n \"baseline-shift\", \"dominant-baseline\", \"glyph-orientation-horizontal\",\n \"glyph-orientation-vertical\", \"text-anchor\", \"writing-mode\",\n ], propertyKeywords = keySet(propertyKeywords_);\n\n var nonStandardPropertyKeywords_ = [\n \"accent-color\", \"aspect-ratio\", \"border-block\", \"border-block-color\", \"border-block-end\",\n \"border-block-end-color\", \"border-block-end-style\", \"border-block-end-width\",\n \"border-block-start\", \"border-block-start-color\", \"border-block-start-style\",\n \"border-block-start-width\", \"border-block-style\", \"border-block-width\",\n \"border-inline\", \"border-inline-color\", \"border-inline-end\",\n \"border-inline-end-color\", \"border-inline-end-style\",\n \"border-inline-end-width\", \"border-inline-start\", \"border-inline-start-color\",\n \"border-inline-start-style\", \"border-inline-start-width\",\n \"border-inline-style\", \"border-inline-width\", \"content-visibility\", \"margin-block\",\n \"margin-block-end\", \"margin-block-start\", \"margin-inline\", \"margin-inline-end\",\n \"margin-inline-start\", \"overflow-anchor\", \"overscroll-behavior\", \"padding-block\", \"padding-block-end\",\n \"padding-block-start\", \"padding-inline\", \"padding-inline-end\",\n \"padding-inline-start\", \"scroll-snap-stop\", \"scrollbar-3d-light-color\",\n \"scrollbar-arrow-color\", \"scrollbar-base-color\", \"scrollbar-dark-shadow-color\",\n \"scrollbar-face-color\", \"scrollbar-highlight-color\", \"scrollbar-shadow-color\",\n \"scrollbar-track-color\", \"searchfield-cancel-button\", \"searchfield-decoration\",\n \"searchfield-results-button\", \"searchfield-results-decoration\", \"shape-inside\", \"zoom\"\n ], nonStandardPropertyKeywords = keySet(nonStandardPropertyKeywords_);\n\n var fontProperties_ = [\n \"font-display\", \"font-family\", \"src\", \"unicode-range\", \"font-variant\",\n \"font-feature-settings\", \"font-stretch\", \"font-weight\", \"font-style\"\n ], fontProperties = keySet(fontProperties_);\n\n var counterDescriptors_ = [\n \"additive-symbols\", \"fallback\", \"negative\", \"pad\", \"prefix\", \"range\",\n \"speak-as\", \"suffix\", \"symbols\", \"system\"\n ], counterDescriptors = keySet(counterDescriptors_);\n\n var colorKeywords_ = [\n \"aliceblue\", \"antiquewhite\", \"aqua\", \"aquamarine\", \"azure\", \"beige\",\n \"bisque\", \"black\", \"blanchedalmond\", \"blue\", \"blueviolet\", \"brown\",\n \"burlywood\", \"cadetblue\", \"chartreuse\", \"chocolate\", \"coral\", \"cornflowerblue\",\n \"cornsilk\", \"crimson\", \"cyan\", \"darkblue\", \"darkcyan\", \"darkgoldenrod\",\n \"darkgray\", \"darkgreen\", \"darkgrey\", \"darkkhaki\", \"darkmagenta\", \"darkolivegreen\",\n \"darkorange\", \"darkorchid\", \"darkred\", \"darksalmon\", \"darkseagreen\",\n \"darkslateblue\", \"darkslategray\", \"darkslategrey\", \"darkturquoise\", \"darkviolet\",\n \"deeppink\", \"deepskyblue\", \"dimgray\", \"dimgrey\", \"dodgerblue\", \"firebrick\",\n \"floralwhite\", \"forestgreen\", \"fuchsia\", \"gainsboro\", \"ghostwhite\",\n \"gold\", \"goldenrod\", \"gray\", \"grey\", \"green\", \"greenyellow\", \"honeydew\",\n \"hotpink\", \"indianred\", \"indigo\", \"ivory\", \"khaki\", \"lavender\",\n \"lavenderblush\", \"lawngreen\", \"lemonchiffon\", \"lightblue\", \"lightcoral\",\n \"lightcyan\", \"lightgoldenrodyellow\", \"lightgray\", \"lightgreen\", \"lightgrey\", \"lightpink\",\n \"lightsalmon\", \"lightseagreen\", \"lightskyblue\", \"lightslategray\", \"lightslategrey\",\n \"lightsteelblue\", \"lightyellow\", \"lime\", \"limegreen\", \"linen\", \"magenta\",\n \"maroon\", \"mediumaquamarine\", \"mediumblue\", \"mediumorchid\", \"mediumpurple\",\n \"mediumseagreen\", \"mediumslateblue\", \"mediumspringgreen\", \"mediumturquoise\",\n \"mediumvioletred\", \"midnightblue\", \"mintcream\", \"mistyrose\", \"moccasin\",\n \"navajowhite\", \"navy\", \"oldlace\", \"olive\", \"olivedrab\", \"orange\", \"orangered\",\n \"orchid\", \"palegoldenrod\", \"palegreen\", \"paleturquoise\", \"palevioletred\",\n \"papayawhip\", \"peachpuff\", \"peru\", \"pink\", \"plum\", \"powderblue\",\n \"purple\", \"rebeccapurple\", \"red\", \"rosybrown\", \"royalblue\", \"saddlebrown\",\n \"salmon\", \"sandybrown\", \"seagreen\", \"seashell\", \"sienna\", \"silver\", \"skyblue\",\n \"slateblue\", \"slategray\", \"slategrey\", \"snow\", \"springgreen\", \"steelblue\", \"tan\",\n \"teal\", \"thistle\", \"tomato\", \"turquoise\", \"violet\", \"wheat\", \"white\",\n \"whitesmoke\", \"yellow\", \"yellowgreen\"\n ], colorKeywords = keySet(colorKeywords_);\n\n var valueKeywords_ = [\n \"above\", \"absolute\", \"activeborder\", \"additive\", \"activecaption\", \"afar\",\n \"after-white-space\", \"ahead\", \"alias\", \"all\", \"all-scroll\", \"alphabetic\", \"alternate\",\n \"always\", \"amharic\", \"amharic-abegede\", \"antialiased\", \"appworkspace\",\n \"arabic-indic\", \"armenian\", \"asterisks\", \"attr\", \"auto\", \"auto-flow\", \"avoid\", \"avoid-column\", \"avoid-page\",\n \"avoid-region\", \"axis-pan\", \"background\", \"backwards\", \"baseline\", \"below\", \"bidi-override\", \"binary\",\n \"bengali\", \"blink\", \"block\", \"block-axis\", \"blur\", \"bold\", \"bolder\", \"border\", \"border-box\",\n \"both\", \"bottom\", \"break\", \"break-all\", \"break-word\", \"brightness\", \"bullets\", \"button\", \"button-bevel\",\n \"buttonface\", \"buttonhighlight\", \"buttonshadow\", \"buttontext\", \"calc\", \"cambodian\",\n \"capitalize\", \"caps-lock-indicator\", \"caption\", \"captiontext\", \"caret\",\n \"cell\", \"center\", \"checkbox\", \"circle\", \"cjk-decimal\", \"cjk-earthly-branch\",\n \"cjk-heavenly-stem\", \"cjk-ideographic\", \"clear\", \"clip\", \"close-quote\",\n \"col-resize\", \"collapse\", \"color\", \"color-burn\", \"color-dodge\", \"column\", \"column-reverse\",\n \"compact\", \"condensed\", \"contain\", \"content\", \"contents\",\n \"content-box\", \"context-menu\", \"continuous\", \"contrast\", \"copy\", \"counter\", \"counters\", \"cover\", \"crop\",\n \"cross\", \"crosshair\", \"cubic-bezier\", \"currentcolor\", \"cursive\", \"cyclic\", \"darken\", \"dashed\", \"decimal\",\n \"decimal-leading-zero\", \"default\", \"default-button\", \"dense\", \"destination-atop\",\n \"destination-in\", \"destination-out\", \"destination-over\", \"devanagari\", \"difference\",\n \"disc\", \"discard\", \"disclosure-closed\", \"disclosure-open\", \"document\",\n \"dot-dash\", \"dot-dot-dash\",\n \"dotted\", \"double\", \"down\", \"drop-shadow\", \"e-resize\", \"ease\", \"ease-in\", \"ease-in-out\", \"ease-out\",\n \"element\", \"ellipse\", \"ellipsis\", \"embed\", \"end\", \"ethiopic\", \"ethiopic-abegede\",\n \"ethiopic-abegede-am-et\", \"ethiopic-abegede-gez\", \"ethiopic-abegede-ti-er\",\n \"ethiopic-abegede-ti-et\", \"ethiopic-halehame-aa-er\",\n \"ethiopic-halehame-aa-et\", \"ethiopic-halehame-am-et\",\n \"ethiopic-halehame-gez\", \"ethiopic-halehame-om-et\",\n \"ethiopic-halehame-sid-et\", \"ethiopic-halehame-so-et\",\n \"ethiopic-halehame-ti-er\", \"ethiopic-halehame-ti-et\", \"ethiopic-halehame-tig\",\n \"ethiopic-numeric\", \"ew-resize\", \"exclusion\", \"expanded\", \"extends\", \"extra-condensed\",\n \"extra-expanded\", \"fantasy\", \"fast\", \"fill\", \"fill-box\", \"fixed\", \"flat\", \"flex\", \"flex-end\", \"flex-start\", \"footnotes\",\n \"forwards\", \"from\", \"geometricPrecision\", \"georgian\", \"grayscale\", \"graytext\", \"grid\", \"groove\",\n \"gujarati\", \"gurmukhi\", \"hand\", \"hangul\", \"hangul-consonant\", \"hard-light\", \"hebrew\",\n \"help\", \"hidden\", \"hide\", \"higher\", \"highlight\", \"highlighttext\",\n \"hiragana\", \"hiragana-iroha\", \"horizontal\", \"hsl\", \"hsla\", \"hue\", \"hue-rotate\", \"icon\", \"ignore\",\n \"inactiveborder\", \"inactivecaption\", \"inactivecaptiontext\", \"infinite\",\n \"infobackground\", \"infotext\", \"inherit\", \"initial\", \"inline\", \"inline-axis\",\n \"inline-block\", \"inline-flex\", \"inline-grid\", \"inline-table\", \"inset\", \"inside\", \"intrinsic\", \"invert\",\n \"italic\", \"japanese-formal\", \"japanese-informal\", \"justify\", \"kannada\",\n \"katakana\", \"katakana-iroha\", \"keep-all\", \"khmer\",\n \"korean-hangul-formal\", \"korean-hanja-formal\", \"korean-hanja-informal\",\n \"landscape\", \"lao\", \"large\", \"larger\", \"left\", \"level\", \"lighter\", \"lighten\",\n \"line-through\", \"linear\", \"linear-gradient\", \"lines\", \"list-item\", \"listbox\", \"listitem\",\n \"local\", \"logical\", \"loud\", \"lower\", \"lower-alpha\", \"lower-armenian\",\n \"lower-greek\", \"lower-hexadecimal\", \"lower-latin\", \"lower-norwegian\",\n \"lower-roman\", \"lowercase\", \"ltr\", \"luminosity\", \"malayalam\", \"manipulation\", \"match\", \"matrix\", \"matrix3d\",\n \"media-controls-background\", \"media-current-time-display\",\n \"media-fullscreen-button\", \"media-mute-button\", \"media-play-button\",\n \"media-return-to-realtime-button\", \"media-rewind-button\",\n \"media-seek-back-button\", \"media-seek-forward-button\", \"media-slider\",\n \"media-sliderthumb\", \"media-time-remaining-display\", \"media-volume-slider\",\n \"media-volume-slider-container\", \"media-volume-sliderthumb\", \"medium\",\n \"menu\", \"menulist\", \"menulist-button\", \"menulist-text\",\n \"menulist-textfield\", \"menutext\", \"message-box\", \"middle\", \"min-intrinsic\",\n \"mix\", \"mongolian\", \"monospace\", \"move\", \"multiple\", \"multiple_mask_images\", \"multiply\", \"myanmar\", \"n-resize\",\n \"narrower\", \"ne-resize\", \"nesw-resize\", \"no-close-quote\", \"no-drop\",\n \"no-open-quote\", \"no-repeat\", \"none\", \"normal\", \"not-allowed\", \"nowrap\",\n \"ns-resize\", \"numbers\", \"numeric\", \"nw-resize\", \"nwse-resize\", \"oblique\", \"octal\", \"opacity\", \"open-quote\",\n \"optimizeLegibility\", \"optimizeSpeed\", \"oriya\", \"oromo\", \"outset\",\n \"outside\", \"outside-shape\", \"overlay\", \"overline\", \"padding\", \"padding-box\",\n \"painted\", \"page\", \"paused\", \"persian\", \"perspective\", \"pinch-zoom\", \"plus-darker\", \"plus-lighter\",\n \"pointer\", \"polygon\", \"portrait\", \"pre\", \"pre-line\", \"pre-wrap\", \"preserve-3d\",\n \"progress\", \"push-button\", \"radial-gradient\", \"radio\", \"read-only\",\n \"read-write\", \"read-write-plaintext-only\", \"rectangle\", \"region\",\n \"relative\", \"repeat\", \"repeating-linear-gradient\",\n \"repeating-radial-gradient\", \"repeat-x\", \"repeat-y\", \"reset\", \"reverse\",\n \"rgb\", \"rgba\", \"ridge\", \"right\", \"rotate\", \"rotate3d\", \"rotateX\", \"rotateY\",\n \"rotateZ\", \"round\", \"row\", \"row-resize\", \"row-reverse\", \"rtl\", \"run-in\", \"running\",\n \"s-resize\", \"sans-serif\", \"saturate\", \"saturation\", \"scale\", \"scale3d\", \"scaleX\", \"scaleY\", \"scaleZ\", \"screen\",\n \"scroll\", \"scrollbar\", \"scroll-position\", \"se-resize\", \"searchfield\",\n \"searchfield-cancel-button\", \"searchfield-decoration\",\n \"searchfield-results-button\", \"searchfield-results-decoration\", \"self-start\", \"self-end\",\n \"semi-condensed\", \"semi-expanded\", \"separate\", \"sepia\", \"serif\", \"show\", \"sidama\",\n \"simp-chinese-formal\", \"simp-chinese-informal\", \"single\",\n \"skew\", \"skewX\", \"skewY\", \"skip-white-space\", \"slide\", \"slider-horizontal\",\n \"slider-vertical\", \"sliderthumb-horizontal\", \"sliderthumb-vertical\", \"slow\",\n \"small\", \"small-caps\", \"small-caption\", \"smaller\", \"soft-light\", \"solid\", \"somali\",\n \"source-atop\", \"source-in\", \"source-out\", \"source-over\", \"space\", \"space-around\", \"space-between\", \"space-evenly\", \"spell-out\", \"square\",\n \"square-button\", \"start\", \"static\", \"status-bar\", \"stretch\", \"stroke\", \"stroke-box\", \"sub\",\n \"subpixel-antialiased\", \"svg_masks\", \"super\", \"sw-resize\", \"symbolic\", \"symbols\", \"system-ui\", \"table\",\n \"table-caption\", \"table-cell\", \"table-column\", \"table-column-group\",\n \"table-footer-group\", \"table-header-group\", \"table-row\", \"table-row-group\",\n \"tamil\",\n \"telugu\", \"text\", \"text-bottom\", \"text-top\", \"textarea\", \"textfield\", \"thai\",\n \"thick\", \"thin\", \"threeddarkshadow\", \"threedface\", \"threedhighlight\",\n \"threedlightshadow\", \"threedshadow\", \"tibetan\", \"tigre\", \"tigrinya-er\",\n \"tigrinya-er-abegede\", \"tigrinya-et\", \"tigrinya-et-abegede\", \"to\", \"top\",\n \"trad-chinese-formal\", \"trad-chinese-informal\", \"transform\",\n \"translate\", \"translate3d\", \"translateX\", \"translateY\", \"translateZ\",\n \"transparent\", \"ultra-condensed\", \"ultra-expanded\", \"underline\", \"unidirectional-pan\", \"unset\", \"up\",\n \"upper-alpha\", \"upper-armenian\", \"upper-greek\", \"upper-hexadecimal\",\n \"upper-latin\", \"upper-norwegian\", \"upper-roman\", \"uppercase\", \"urdu\", \"url\",\n \"var\", \"vertical\", \"vertical-text\", \"view-box\", \"visible\", \"visibleFill\", \"visiblePainted\",\n \"visibleStroke\", \"visual\", \"w-resize\", \"wait\", \"wave\", \"wider\",\n \"window\", \"windowframe\", \"windowtext\", \"words\", \"wrap\", \"wrap-reverse\", \"x-large\", \"x-small\", \"xor\",\n \"xx-large\", \"xx-small\"\n ], valueKeywords = keySet(valueKeywords_);\n\n var allWords = documentTypes_.concat(mediaTypes_).concat(mediaFeatures_).concat(mediaValueKeywords_)\n .concat(propertyKeywords_).concat(nonStandardPropertyKeywords_).concat(colorKeywords_)\n .concat(valueKeywords_);\n CodeMirror.registerHelper(\"hintWords\", \"css\", allWords);\n\n function tokenCComment(stream, state) {\n var maybeEnd = false, ch;\n while ((ch = stream.next()) != null) {\n if (maybeEnd && ch == \"/\") {\n state.tokenize = null;\n break;\n }\n maybeEnd = (ch == \"*\");\n }\n return [\"comment\", \"comment\"];\n }\n\n CodeMirror.defineMIME(\"text/css\", {\n documentTypes: documentTypes,\n mediaTypes: mediaTypes,\n mediaFeatures: mediaFeatures,\n mediaValueKeywords: mediaValueKeywords,\n propertyKeywords: propertyKeywords,\n nonStandardPropertyKeywords: nonStandardPropertyKeywords,\n fontProperties: fontProperties,\n counterDescriptors: counterDescriptors,\n colorKeywords: colorKeywords,\n valueKeywords: valueKeywords,\n tokenHooks: {\n \"/\": function(stream, state) {\n if (!stream.eat(\"*\")) return false;\n state.tokenize = tokenCComment;\n return tokenCComment(stream, state);\n }\n },\n name: \"css\"\n });\n\n CodeMirror.defineMIME(\"text/x-scss\", {\n mediaTypes: mediaTypes,\n mediaFeatures: mediaFeatures,\n mediaValueKeywords: mediaValueKeywords,\n propertyKeywords: propertyKeywords,\n nonStandardPropertyKeywords: nonStandardPropertyKeywords,\n colorKeywords: colorKeywords,\n valueKeywords: valueKeywords,\n fontProperties: fontProperties,\n allowNested: true,\n lineComment: \"//\",\n tokenHooks: {\n \"/\": function(stream, state) {\n if (stream.eat(\"/\")) {\n stream.skipToEnd();\n return [\"comment\", \"comment\"];\n } else if (stream.eat(\"*\")) {\n state.tokenize = tokenCComment;\n return tokenCComment(stream, state);\n } else {\n return [\"operator\", \"operator\"];\n }\n },\n \":\": function(stream) {\n if (stream.match(/^\\s*\\{/, false))\n return [null, null]\n return false;\n },\n \"$\": function(stream) {\n stream.match(/^[\\w-]+/);\n if (stream.match(/^\\s*:/, false))\n return [\"variable-2\", \"variable-definition\"];\n return [\"variable-2\", \"variable\"];\n },\n \"#\": function(stream) {\n if (!stream.eat(\"{\")) return false;\n return [null, \"interpolation\"];\n }\n },\n name: \"css\",\n helperType: \"scss\"\n });\n\n CodeMirror.defineMIME(\"text/x-less\", {\n mediaTypes: mediaTypes,\n mediaFeatures: mediaFeatures,\n mediaValueKeywords: mediaValueKeywords,\n propertyKeywords: propertyKeywords,\n nonStandardPropertyKeywords: nonStandardPropertyKeywords,\n colorKeywords: colorKeywords,\n valueKeywords: valueKeywords,\n fontProperties: fontProperties,\n allowNested: true,\n lineComment: \"//\",\n tokenHooks: {\n \"/\": function(stream, state) {\n if (stream.eat(\"/\")) {\n stream.skipToEnd();\n return [\"comment\", \"comment\"];\n } else if (stream.eat(\"*\")) {\n state.tokenize = tokenCComment;\n return tokenCComment(stream, state);\n } else {\n return [\"operator\", \"operator\"];\n }\n },\n \"@\": function(stream) {\n if (stream.eat(\"{\")) return [null, \"interpolation\"];\n if (stream.match(/^(charset|document|font-face|import|(-(moz|ms|o|webkit)-)?keyframes|media|namespace|page|supports)\\b/i, false)) return false;\n stream.eatWhile(/[\\w\\\\\\-]/);\n if (stream.match(/^\\s*:/, false))\n return [\"variable-2\", \"variable-definition\"];\n return [\"variable-2\", \"variable\"];\n },\n \"&\": function() {\n return [\"atom\", \"atom\"];\n }\n },\n name: \"css\",\n helperType: \"less\"\n });\n\n CodeMirror.defineMIME(\"text/x-gss\", {\n documentTypes: documentTypes,\n mediaTypes: mediaTypes,\n mediaFeatures: mediaFeatures,\n propertyKeywords: propertyKeywords,\n nonStandardPropertyKeywords: nonStandardPropertyKeywords,\n fontProperties: fontProperties,\n counterDescriptors: counterDescriptors,\n colorKeywords: colorKeywords,\n valueKeywords: valueKeywords,\n supportsAtComponent: true,\n tokenHooks: {\n \"/\": function(stream, state) {\n if (!stream.eat(\"*\")) return false;\n state.tokenize = tokenCComment;\n return tokenCComment(stream, state);\n }\n },\n name: \"css\",\n helperType: \"gss\"\n });\n\n});\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = convertNodeToElement;\n\nvar _elementTypes = require('./elementTypes');\n\nvar _elementTypes2 = _interopRequireDefault(_elementTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Converts a htmlparser2 node to a React element\n *\n * @param {Object} node The htmlparser2 node to convert\n * @param {Number} index The index of the current node\n * @param {Function} transform Transform function to apply to children of the node\n * @returns {React.Element}\n */\nfunction convertNodeToElement(node, index, transform) {\n return _elementTypes2.default[node.type](node, index, transform);\n}","var Tokenizer = require(\"./Tokenizer.js\");\n\n/*\n\tOptions:\n\n\txmlMode: Disables the special behavior for script/style tags (false by default)\n\tlowerCaseAttributeNames: call .toLowerCase for each attribute name (true if xmlMode is `false`)\n\tlowerCaseTags: call .toLowerCase for each tag name (true if xmlMode is `false`)\n*/\n\n/*\n\tCallbacks:\n\n\toncdataend,\n\toncdatastart,\n\tonclosetag,\n\toncomment,\n\toncommentend,\n\tonerror,\n\tonopentag,\n\tonprocessinginstruction,\n\tonreset,\n\tontext\n*/\n\nvar formTags = {\n input: true,\n option: true,\n optgroup: true,\n select: true,\n button: true,\n datalist: true,\n textarea: true\n};\n\nvar openImpliesClose = {\n tr: { tr: true, th: true, td: true },\n th: { th: true },\n td: { thead: true, th: true, td: true },\n body: { head: true, link: true, script: true },\n li: { li: true },\n p: { p: true },\n h1: { p: true },\n h2: { p: true },\n h3: { p: true },\n h4: { p: true },\n h5: { p: true },\n h6: { p: true },\n select: formTags,\n input: formTags,\n output: formTags,\n button: formTags,\n datalist: formTags,\n textarea: formTags,\n option: { option: true },\n optgroup: { optgroup: true }\n};\n\nvar voidElements = {\n __proto__: null,\n area: true,\n base: true,\n basefont: true,\n br: true,\n col: true,\n command: true,\n embed: true,\n frame: true,\n hr: true,\n img: true,\n input: true,\n isindex: true,\n keygen: true,\n link: true,\n meta: true,\n param: true,\n source: true,\n track: true,\n wbr: true\n};\n\nvar foreignContextElements = {\n __proto__: null,\n math: true,\n svg: true\n};\nvar htmlIntegrationElements = {\n __proto__: null,\n mi: true,\n mo: true,\n mn: true,\n ms: true,\n mtext: true,\n \"annotation-xml\": true,\n foreignObject: true,\n desc: true,\n title: true\n};\n\nvar re_nameEnd = /\\s|\\//;\n\nfunction Parser(cbs, options) {\n this._options = options || {};\n this._cbs = cbs || {};\n\n this._tagname = \"\";\n this._attribname = \"\";\n this._attribvalue = \"\";\n this._attribs = null;\n this._stack = [];\n this._foreignContext = [];\n\n this.startIndex = 0;\n this.endIndex = null;\n\n this._lowerCaseTagNames =\n \"lowerCaseTags\" in this._options\n ? !!this._options.lowerCaseTags\n : !this._options.xmlMode;\n this._lowerCaseAttributeNames =\n \"lowerCaseAttributeNames\" in this._options\n ? !!this._options.lowerCaseAttributeNames\n : !this._options.xmlMode;\n\n if (this._options.Tokenizer) {\n Tokenizer = this._options.Tokenizer;\n }\n this._tokenizer = new Tokenizer(this._options, this);\n\n if (this._cbs.onparserinit) this._cbs.onparserinit(this);\n}\n\nrequire(\"inherits\")(Parser, require(\"events\").EventEmitter);\n\nParser.prototype._updatePosition = function(initialOffset) {\n if (this.endIndex === null) {\n if (this._tokenizer._sectionStart <= initialOffset) {\n this.startIndex = 0;\n } else {\n this.startIndex = this._tokenizer._sectionStart - initialOffset;\n }\n } else this.startIndex = this.endIndex + 1;\n this.endIndex = this._tokenizer.getAbsoluteIndex();\n};\n\n//Tokenizer event handlers\nParser.prototype.ontext = function(data) {\n this._updatePosition(1);\n this.endIndex--;\n\n if (this._cbs.ontext) this._cbs.ontext(data);\n};\n\nParser.prototype.onopentagname = function(name) {\n if (this._lowerCaseTagNames) {\n name = name.toLowerCase();\n }\n\n this._tagname = name;\n\n if (!this._options.xmlMode && name in openImpliesClose) {\n for (\n var el;\n (el = this._stack[this._stack.length - 1]) in\n openImpliesClose[name];\n this.onclosetag(el)\n );\n }\n\n if (this._options.xmlMode || !(name in voidElements)) {\n this._stack.push(name);\n if (name in foreignContextElements) this._foreignContext.push(true);\n else if (name in htmlIntegrationElements)\n this._foreignContext.push(false);\n }\n\n if (this._cbs.onopentagname) this._cbs.onopentagname(name);\n if (this._cbs.onopentag) this._attribs = {};\n};\n\nParser.prototype.onopentagend = function() {\n this._updatePosition(1);\n\n if (this._attribs) {\n if (this._cbs.onopentag)\n this._cbs.onopentag(this._tagname, this._attribs);\n this._attribs = null;\n }\n\n if (\n !this._options.xmlMode &&\n this._cbs.onclosetag &&\n this._tagname in voidElements\n ) {\n this._cbs.onclosetag(this._tagname);\n }\n\n this._tagname = \"\";\n};\n\nParser.prototype.onclosetag = function(name) {\n this._updatePosition(1);\n\n if (this._lowerCaseTagNames) {\n name = name.toLowerCase();\n }\n \n if (name in foreignContextElements || name in htmlIntegrationElements) {\n this._foreignContext.pop();\n }\n\n if (\n this._stack.length &&\n (!(name in voidElements) || this._options.xmlMode)\n ) {\n var pos = this._stack.lastIndexOf(name);\n if (pos !== -1) {\n if (this._cbs.onclosetag) {\n pos = this._stack.length - pos;\n while (pos--) this._cbs.onclosetag(this._stack.pop());\n } else this._stack.length = pos;\n } else if (name === \"p\" && !this._options.xmlMode) {\n this.onopentagname(name);\n this._closeCurrentTag();\n }\n } else if (!this._options.xmlMode && (name === \"br\" || name === \"p\")) {\n this.onopentagname(name);\n this._closeCurrentTag();\n }\n};\n\nParser.prototype.onselfclosingtag = function() {\n if (\n this._options.xmlMode ||\n this._options.recognizeSelfClosing ||\n this._foreignContext[this._foreignContext.length - 1]\n ) {\n this._closeCurrentTag();\n } else {\n this.onopentagend();\n }\n};\n\nParser.prototype._closeCurrentTag = function() {\n var name = this._tagname;\n\n this.onopentagend();\n\n //self-closing tags will be on the top of the stack\n //(cheaper check than in onclosetag)\n if (this._stack[this._stack.length - 1] === name) {\n if (this._cbs.onclosetag) {\n this._cbs.onclosetag(name);\n }\n this._stack.pop();\n \n }\n};\n\nParser.prototype.onattribname = function(name) {\n if (this._lowerCaseAttributeNames) {\n name = name.toLowerCase();\n }\n this._attribname = name;\n};\n\nParser.prototype.onattribdata = function(value) {\n this._attribvalue += value;\n};\n\nParser.prototype.onattribend = function() {\n if (this._cbs.onattribute)\n this._cbs.onattribute(this._attribname, this._attribvalue);\n if (\n this._attribs &&\n !Object.prototype.hasOwnProperty.call(this._attribs, this._attribname)\n ) {\n this._attribs[this._attribname] = this._attribvalue;\n }\n this._attribname = \"\";\n this._attribvalue = \"\";\n};\n\nParser.prototype._getInstructionName = function(value) {\n var idx = value.search(re_nameEnd),\n name = idx < 0 ? value : value.substr(0, idx);\n\n if (this._lowerCaseTagNames) {\n name = name.toLowerCase();\n }\n\n return name;\n};\n\nParser.prototype.ondeclaration = function(value) {\n if (this._cbs.onprocessinginstruction) {\n var name = this._getInstructionName(value);\n this._cbs.onprocessinginstruction(\"!\" + name, \"!\" + value);\n }\n};\n\nParser.prototype.onprocessinginstruction = function(value) {\n if (this._cbs.onprocessinginstruction) {\n var name = this._getInstructionName(value);\n this._cbs.onprocessinginstruction(\"?\" + name, \"?\" + value);\n }\n};\n\nParser.prototype.oncomment = function(value) {\n this._updatePosition(4);\n\n if (this._cbs.oncomment) this._cbs.oncomment(value);\n if (this._cbs.oncommentend) this._cbs.oncommentend();\n};\n\nParser.prototype.oncdata = function(value) {\n this._updatePosition(1);\n\n if (this._options.xmlMode || this._options.recognizeCDATA) {\n if (this._cbs.oncdatastart) this._cbs.oncdatastart();\n if (this._cbs.ontext) this._cbs.ontext(value);\n if (this._cbs.oncdataend) this._cbs.oncdataend();\n } else {\n this.oncomment(\"[CDATA[\" + value + \"]]\");\n }\n};\n\nParser.prototype.onerror = function(err) {\n if (this._cbs.onerror) this._cbs.onerror(err);\n};\n\nParser.prototype.onend = function() {\n if (this._cbs.onclosetag) {\n for (\n var i = this._stack.length;\n i > 0;\n this._cbs.onclosetag(this._stack[--i])\n );\n }\n if (this._cbs.onend) this._cbs.onend();\n};\n\n//Resets the parser to a blank state, ready to parse a new HTML document\nParser.prototype.reset = function() {\n if (this._cbs.onreset) this._cbs.onreset();\n this._tokenizer.reset();\n\n this._tagname = \"\";\n this._attribname = \"\";\n this._attribs = null;\n this._stack = [];\n\n if (this._cbs.onparserinit) this._cbs.onparserinit(this);\n};\n\n//Parses a complete HTML document and pushes it to the handler\nParser.prototype.parseComplete = function(data) {\n this.reset();\n this.end(data);\n};\n\nParser.prototype.write = function(chunk) {\n this._tokenizer.write(chunk);\n};\n\nParser.prototype.end = function(chunk) {\n this._tokenizer.end(chunk);\n};\n\nParser.prototype.pause = function() {\n this._tokenizer.pause();\n};\n\nParser.prototype.resume = function() {\n this._tokenizer.resume();\n};\n\n//alias for backwards compat\nParser.prototype.parseChunk = Parser.prototype.write;\nParser.prototype.done = Parser.prototype.end;\n\nmodule.exports = Parser;\n","module.exports = Tokenizer;\n\nvar decodeCodePoint = require(\"entities/lib/decode_codepoint.js\");\nvar entityMap = require(\"entities/maps/entities.json\");\nvar legacyMap = require(\"entities/maps/legacy.json\");\nvar xmlMap = require(\"entities/maps/xml.json\");\n\nvar i = 0;\n\nvar TEXT = i++;\nvar BEFORE_TAG_NAME = i++; //after <\nvar IN_TAG_NAME = i++;\nvar IN_SELF_CLOSING_TAG = i++;\nvar BEFORE_CLOSING_TAG_NAME = i++;\nvar IN_CLOSING_TAG_NAME = i++;\nvar AFTER_CLOSING_TAG_NAME = i++;\n\n//attributes\nvar BEFORE_ATTRIBUTE_NAME = i++;\nvar IN_ATTRIBUTE_NAME = i++;\nvar AFTER_ATTRIBUTE_NAME = i++;\nvar BEFORE_ATTRIBUTE_VALUE = i++;\nvar IN_ATTRIBUTE_VALUE_DQ = i++; // \"\nvar IN_ATTRIBUTE_VALUE_SQ = i++; // '\nvar IN_ATTRIBUTE_VALUE_NQ = i++;\n\n//declarations\nvar BEFORE_DECLARATION = i++; // !\nvar IN_DECLARATION = i++;\n\n//processing instructions\nvar IN_PROCESSING_INSTRUCTION = i++; // ?\n\n//comments\nvar BEFORE_COMMENT = i++;\nvar IN_COMMENT = i++;\nvar AFTER_COMMENT_1 = i++;\nvar AFTER_COMMENT_2 = i++;\n\n//cdata\nvar BEFORE_CDATA_1 = i++; // [\nvar BEFORE_CDATA_2 = i++; // C\nvar BEFORE_CDATA_3 = i++; // D\nvar BEFORE_CDATA_4 = i++; // A\nvar BEFORE_CDATA_5 = i++; // T\nvar BEFORE_CDATA_6 = i++; // A\nvar IN_CDATA = i++; // [\nvar AFTER_CDATA_1 = i++; // ]\nvar AFTER_CDATA_2 = i++; // ]\n\n//special tags\nvar BEFORE_SPECIAL = i++; //S\nvar BEFORE_SPECIAL_END = i++; //S\n\nvar BEFORE_SCRIPT_1 = i++; //C\nvar BEFORE_SCRIPT_2 = i++; //R\nvar BEFORE_SCRIPT_3 = i++; //I\nvar BEFORE_SCRIPT_4 = i++; //P\nvar BEFORE_SCRIPT_5 = i++; //T\nvar AFTER_SCRIPT_1 = i++; //C\nvar AFTER_SCRIPT_2 = i++; //R\nvar AFTER_SCRIPT_3 = i++; //I\nvar AFTER_SCRIPT_4 = i++; //P\nvar AFTER_SCRIPT_5 = i++; //T\n\nvar BEFORE_STYLE_1 = i++; //T\nvar BEFORE_STYLE_2 = i++; //Y\nvar BEFORE_STYLE_3 = i++; //L\nvar BEFORE_STYLE_4 = i++; //E\nvar AFTER_STYLE_1 = i++; //T\nvar AFTER_STYLE_2 = i++; //Y\nvar AFTER_STYLE_3 = i++; //L\nvar AFTER_STYLE_4 = i++; //E\n\nvar BEFORE_ENTITY = i++; //&\nvar BEFORE_NUMERIC_ENTITY = i++; //#\nvar IN_NAMED_ENTITY = i++;\nvar IN_NUMERIC_ENTITY = i++;\nvar IN_HEX_ENTITY = i++; //X\n\nvar j = 0;\n\nvar SPECIAL_NONE = j++;\nvar SPECIAL_SCRIPT = j++;\nvar SPECIAL_STYLE = j++;\n\nfunction whitespace(c) {\n return c === \" \" || c === \"\\n\" || c === \"\\t\" || c === \"\\f\" || c === \"\\r\";\n}\n\nfunction ifElseState(upper, SUCCESS, FAILURE) {\n var lower = upper.toLowerCase();\n\n if (upper === lower) {\n return function(c) {\n if (c === lower) {\n this._state = SUCCESS;\n } else {\n this._state = FAILURE;\n this._index--;\n }\n };\n } else {\n return function(c) {\n if (c === lower || c === upper) {\n this._state = SUCCESS;\n } else {\n this._state = FAILURE;\n this._index--;\n }\n };\n }\n}\n\nfunction consumeSpecialNameChar(upper, NEXT_STATE) {\n var lower = upper.toLowerCase();\n\n return function(c) {\n if (c === lower || c === upper) {\n this._state = NEXT_STATE;\n } else {\n this._state = IN_TAG_NAME;\n this._index--; //consume the token again\n }\n };\n}\n\nfunction Tokenizer(options, cbs) {\n this._state = TEXT;\n this._buffer = \"\";\n this._sectionStart = 0;\n this._index = 0;\n this._bufferOffset = 0; //chars removed from _buffer\n this._baseState = TEXT;\n this._special = SPECIAL_NONE;\n this._cbs = cbs;\n this._running = true;\n this._ended = false;\n this._xmlMode = !!(options && options.xmlMode);\n this._decodeEntities = !!(options && options.decodeEntities);\n}\n\nTokenizer.prototype._stateText = function(c) {\n if (c === \"<\") {\n if (this._index > this._sectionStart) {\n this._cbs.ontext(this._getSection());\n }\n this._state = BEFORE_TAG_NAME;\n this._sectionStart = this._index;\n } else if (\n this._decodeEntities &&\n this._special === SPECIAL_NONE &&\n c === \"&\"\n ) {\n if (this._index > this._sectionStart) {\n this._cbs.ontext(this._getSection());\n }\n this._baseState = TEXT;\n this._state = BEFORE_ENTITY;\n this._sectionStart = this._index;\n }\n};\n\nTokenizer.prototype._stateBeforeTagName = function(c) {\n if (c === \"/\") {\n this._state = BEFORE_CLOSING_TAG_NAME;\n } else if (c === \"<\") {\n this._cbs.ontext(this._getSection());\n this._sectionStart = this._index;\n } else if (c === \">\" || this._special !== SPECIAL_NONE || whitespace(c)) {\n this._state = TEXT;\n } else if (c === \"!\") {\n this._state = BEFORE_DECLARATION;\n this._sectionStart = this._index + 1;\n } else if (c === \"?\") {\n this._state = IN_PROCESSING_INSTRUCTION;\n this._sectionStart = this._index + 1;\n } else {\n this._state =\n !this._xmlMode && (c === \"s\" || c === \"S\")\n ? BEFORE_SPECIAL\n : IN_TAG_NAME;\n this._sectionStart = this._index;\n }\n};\n\nTokenizer.prototype._stateInTagName = function(c) {\n if (c === \"/\" || c === \">\" || whitespace(c)) {\n this._emitToken(\"onopentagname\");\n this._state = BEFORE_ATTRIBUTE_NAME;\n this._index--;\n }\n};\n\nTokenizer.prototype._stateBeforeCloseingTagName = function(c) {\n if (whitespace(c));\n else if (c === \">\") {\n this._state = TEXT;\n } else if (this._special !== SPECIAL_NONE) {\n if (c === \"s\" || c === \"S\") {\n this._state = BEFORE_SPECIAL_END;\n } else {\n this._state = TEXT;\n this._index--;\n }\n } else {\n this._state = IN_CLOSING_TAG_NAME;\n this._sectionStart = this._index;\n }\n};\n\nTokenizer.prototype._stateInCloseingTagName = function(c) {\n if (c === \">\" || whitespace(c)) {\n this._emitToken(\"onclosetag\");\n this._state = AFTER_CLOSING_TAG_NAME;\n this._index--;\n }\n};\n\nTokenizer.prototype._stateAfterCloseingTagName = function(c) {\n //skip everything until \">\"\n if (c === \">\") {\n this._state = TEXT;\n this._sectionStart = this._index + 1;\n }\n};\n\nTokenizer.prototype._stateBeforeAttributeName = function(c) {\n if (c === \">\") {\n this._cbs.onopentagend();\n this._state = TEXT;\n this._sectionStart = this._index + 1;\n } else if (c === \"/\") {\n this._state = IN_SELF_CLOSING_TAG;\n } else if (!whitespace(c)) {\n this._state = IN_ATTRIBUTE_NAME;\n this._sectionStart = this._index;\n }\n};\n\nTokenizer.prototype._stateInSelfClosingTag = function(c) {\n if (c === \">\") {\n this._cbs.onselfclosingtag();\n this._state = TEXT;\n this._sectionStart = this._index + 1;\n } else if (!whitespace(c)) {\n this._state = BEFORE_ATTRIBUTE_NAME;\n this._index--;\n }\n};\n\nTokenizer.prototype._stateInAttributeName = function(c) {\n if (c === \"=\" || c === \"/\" || c === \">\" || whitespace(c)) {\n this._cbs.onattribname(this._getSection());\n this._sectionStart = -1;\n this._state = AFTER_ATTRIBUTE_NAME;\n this._index--;\n }\n};\n\nTokenizer.prototype._stateAfterAttributeName = function(c) {\n if (c === \"=\") {\n this._state = BEFORE_ATTRIBUTE_VALUE;\n } else if (c === \"/\" || c === \">\") {\n this._cbs.onattribend();\n this._state = BEFORE_ATTRIBUTE_NAME;\n this._index--;\n } else if (!whitespace(c)) {\n this._cbs.onattribend();\n this._state = IN_ATTRIBUTE_NAME;\n this._sectionStart = this._index;\n }\n};\n\nTokenizer.prototype._stateBeforeAttributeValue = function(c) {\n if (c === '\"') {\n this._state = IN_ATTRIBUTE_VALUE_DQ;\n this._sectionStart = this._index + 1;\n } else if (c === \"'\") {\n this._state = IN_ATTRIBUTE_VALUE_SQ;\n this._sectionStart = this._index + 1;\n } else if (!whitespace(c)) {\n this._state = IN_ATTRIBUTE_VALUE_NQ;\n this._sectionStart = this._index;\n this._index--; //reconsume token\n }\n};\n\nTokenizer.prototype._stateInAttributeValueDoubleQuotes = function(c) {\n if (c === '\"') {\n this._emitToken(\"onattribdata\");\n this._cbs.onattribend();\n this._state = BEFORE_ATTRIBUTE_NAME;\n } else if (this._decodeEntities && c === \"&\") {\n this._emitToken(\"onattribdata\");\n this._baseState = this._state;\n this._state = BEFORE_ENTITY;\n this._sectionStart = this._index;\n }\n};\n\nTokenizer.prototype._stateInAttributeValueSingleQuotes = function(c) {\n if (c === \"'\") {\n this._emitToken(\"onattribdata\");\n this._cbs.onattribend();\n this._state = BEFORE_ATTRIBUTE_NAME;\n } else if (this._decodeEntities && c === \"&\") {\n this._emitToken(\"onattribdata\");\n this._baseState = this._state;\n this._state = BEFORE_ENTITY;\n this._sectionStart = this._index;\n }\n};\n\nTokenizer.prototype._stateInAttributeValueNoQuotes = function(c) {\n if (whitespace(c) || c === \">\") {\n this._emitToken(\"onattribdata\");\n this._cbs.onattribend();\n this._state = BEFORE_ATTRIBUTE_NAME;\n this._index--;\n } else if (this._decodeEntities && c === \"&\") {\n this._emitToken(\"onattribdata\");\n this._baseState = this._state;\n this._state = BEFORE_ENTITY;\n this._sectionStart = this._index;\n }\n};\n\nTokenizer.prototype._stateBeforeDeclaration = function(c) {\n this._state =\n c === \"[\"\n ? BEFORE_CDATA_1\n : c === \"-\"\n ? BEFORE_COMMENT\n : IN_DECLARATION;\n};\n\nTokenizer.prototype._stateInDeclaration = function(c) {\n if (c === \">\") {\n this._cbs.ondeclaration(this._getSection());\n this._state = TEXT;\n this._sectionStart = this._index + 1;\n }\n};\n\nTokenizer.prototype._stateInProcessingInstruction = function(c) {\n if (c === \">\") {\n this._cbs.onprocessinginstruction(this._getSection());\n this._state = TEXT;\n this._sectionStart = this._index + 1;\n }\n};\n\nTokenizer.prototype._stateBeforeComment = function(c) {\n if (c === \"-\") {\n this._state = IN_COMMENT;\n this._sectionStart = this._index + 1;\n } else {\n this._state = IN_DECLARATION;\n }\n};\n\nTokenizer.prototype._stateInComment = function(c) {\n if (c === \"-\") this._state = AFTER_COMMENT_1;\n};\n\nTokenizer.prototype._stateAfterComment1 = function(c) {\n if (c === \"-\") {\n this._state = AFTER_COMMENT_2;\n } else {\n this._state = IN_COMMENT;\n }\n};\n\nTokenizer.prototype._stateAfterComment2 = function(c) {\n if (c === \">\") {\n //remove 2 trailing chars\n this._cbs.oncomment(\n this._buffer.substring(this._sectionStart, this._index - 2)\n );\n this._state = TEXT;\n this._sectionStart = this._index + 1;\n } else if (c !== \"-\") {\n this._state = IN_COMMENT;\n }\n // else: stay in AFTER_COMMENT_2 (`--->`)\n};\n\nTokenizer.prototype._stateBeforeCdata1 = ifElseState(\n \"C\",\n BEFORE_CDATA_2,\n IN_DECLARATION\n);\nTokenizer.prototype._stateBeforeCdata2 = ifElseState(\n \"D\",\n BEFORE_CDATA_3,\n IN_DECLARATION\n);\nTokenizer.prototype._stateBeforeCdata3 = ifElseState(\n \"A\",\n BEFORE_CDATA_4,\n IN_DECLARATION\n);\nTokenizer.prototype._stateBeforeCdata4 = ifElseState(\n \"T\",\n BEFORE_CDATA_5,\n IN_DECLARATION\n);\nTokenizer.prototype._stateBeforeCdata5 = ifElseState(\n \"A\",\n BEFORE_CDATA_6,\n IN_DECLARATION\n);\n\nTokenizer.prototype._stateBeforeCdata6 = function(c) {\n if (c === \"[\") {\n this._state = IN_CDATA;\n this._sectionStart = this._index + 1;\n } else {\n this._state = IN_DECLARATION;\n this._index--;\n }\n};\n\nTokenizer.prototype._stateInCdata = function(c) {\n if (c === \"]\") this._state = AFTER_CDATA_1;\n};\n\nTokenizer.prototype._stateAfterCdata1 = function(c) {\n if (c === \"]\") this._state = AFTER_CDATA_2;\n else this._state = IN_CDATA;\n};\n\nTokenizer.prototype._stateAfterCdata2 = function(c) {\n if (c === \">\") {\n //remove 2 trailing chars\n this._cbs.oncdata(\n this._buffer.substring(this._sectionStart, this._index - 2)\n );\n this._state = TEXT;\n this._sectionStart = this._index + 1;\n } else if (c !== \"]\") {\n this._state = IN_CDATA;\n }\n //else: stay in AFTER_CDATA_2 (`]]]>`)\n};\n\nTokenizer.prototype._stateBeforeSpecial = function(c) {\n if (c === \"c\" || c === \"C\") {\n this._state = BEFORE_SCRIPT_1;\n } else if (c === \"t\" || c === \"T\") {\n this._state = BEFORE_STYLE_1;\n } else {\n this._state = IN_TAG_NAME;\n this._index--; //consume the token again\n }\n};\n\nTokenizer.prototype._stateBeforeSpecialEnd = function(c) {\n if (this._special === SPECIAL_SCRIPT && (c === \"c\" || c === \"C\")) {\n this._state = AFTER_SCRIPT_1;\n } else if (this._special === SPECIAL_STYLE && (c === \"t\" || c === \"T\")) {\n this._state = AFTER_STYLE_1;\n } else this._state = TEXT;\n};\n\nTokenizer.prototype._stateBeforeScript1 = consumeSpecialNameChar(\n \"R\",\n BEFORE_SCRIPT_2\n);\nTokenizer.prototype._stateBeforeScript2 = consumeSpecialNameChar(\n \"I\",\n BEFORE_SCRIPT_3\n);\nTokenizer.prototype._stateBeforeScript3 = consumeSpecialNameChar(\n \"P\",\n BEFORE_SCRIPT_4\n);\nTokenizer.prototype._stateBeforeScript4 = consumeSpecialNameChar(\n \"T\",\n BEFORE_SCRIPT_5\n);\n\nTokenizer.prototype._stateBeforeScript5 = function(c) {\n if (c === \"/\" || c === \">\" || whitespace(c)) {\n this._special = SPECIAL_SCRIPT;\n }\n this._state = IN_TAG_NAME;\n this._index--; //consume the token again\n};\n\nTokenizer.prototype._stateAfterScript1 = ifElseState(\"R\", AFTER_SCRIPT_2, TEXT);\nTokenizer.prototype._stateAfterScript2 = ifElseState(\"I\", AFTER_SCRIPT_3, TEXT);\nTokenizer.prototype._stateAfterScript3 = ifElseState(\"P\", AFTER_SCRIPT_4, TEXT);\nTokenizer.prototype._stateAfterScript4 = ifElseState(\"T\", AFTER_SCRIPT_5, TEXT);\n\nTokenizer.prototype._stateAfterScript5 = function(c) {\n if (c === \">\" || whitespace(c)) {\n this._special = SPECIAL_NONE;\n this._state = IN_CLOSING_TAG_NAME;\n this._sectionStart = this._index - 6;\n this._index--; //reconsume the token\n } else this._state = TEXT;\n};\n\nTokenizer.prototype._stateBeforeStyle1 = consumeSpecialNameChar(\n \"Y\",\n BEFORE_STYLE_2\n);\nTokenizer.prototype._stateBeforeStyle2 = consumeSpecialNameChar(\n \"L\",\n BEFORE_STYLE_3\n);\nTokenizer.prototype._stateBeforeStyle3 = consumeSpecialNameChar(\n \"E\",\n BEFORE_STYLE_4\n);\n\nTokenizer.prototype._stateBeforeStyle4 = function(c) {\n if (c === \"/\" || c === \">\" || whitespace(c)) {\n this._special = SPECIAL_STYLE;\n }\n this._state = IN_TAG_NAME;\n this._index--; //consume the token again\n};\n\nTokenizer.prototype._stateAfterStyle1 = ifElseState(\"Y\", AFTER_STYLE_2, TEXT);\nTokenizer.prototype._stateAfterStyle2 = ifElseState(\"L\", AFTER_STYLE_3, TEXT);\nTokenizer.prototype._stateAfterStyle3 = ifElseState(\"E\", AFTER_STYLE_4, TEXT);\n\nTokenizer.prototype._stateAfterStyle4 = function(c) {\n if (c === \">\" || whitespace(c)) {\n this._special = SPECIAL_NONE;\n this._state = IN_CLOSING_TAG_NAME;\n this._sectionStart = this._index - 5;\n this._index--; //reconsume the token\n } else this._state = TEXT;\n};\n\nTokenizer.prototype._stateBeforeEntity = ifElseState(\n \"#\",\n BEFORE_NUMERIC_ENTITY,\n IN_NAMED_ENTITY\n);\nTokenizer.prototype._stateBeforeNumericEntity = ifElseState(\n \"X\",\n IN_HEX_ENTITY,\n IN_NUMERIC_ENTITY\n);\n\n//for entities terminated with a semicolon\nTokenizer.prototype._parseNamedEntityStrict = function() {\n //offset = 1\n if (this._sectionStart + 1 < this._index) {\n var entity = this._buffer.substring(\n this._sectionStart + 1,\n this._index\n ),\n map = this._xmlMode ? xmlMap : entityMap;\n\n if (map.hasOwnProperty(entity)) {\n this._emitPartial(map[entity]);\n this._sectionStart = this._index + 1;\n }\n }\n};\n\n//parses legacy entities (without trailing semicolon)\nTokenizer.prototype._parseLegacyEntity = function() {\n var start = this._sectionStart + 1,\n limit = this._index - start;\n\n if (limit > 6) limit = 6; //the max length of legacy entities is 6\n\n while (limit >= 2) {\n //the min length of legacy entities is 2\n var entity = this._buffer.substr(start, limit);\n\n if (legacyMap.hasOwnProperty(entity)) {\n this._emitPartial(legacyMap[entity]);\n this._sectionStart += limit + 1;\n return;\n } else {\n limit--;\n }\n }\n};\n\nTokenizer.prototype._stateInNamedEntity = function(c) {\n if (c === \";\") {\n this._parseNamedEntityStrict();\n if (this._sectionStart + 1 < this._index && !this._xmlMode) {\n this._parseLegacyEntity();\n }\n this._state = this._baseState;\n } else if (\n (c < \"a\" || c > \"z\") &&\n (c < \"A\" || c > \"Z\") &&\n (c < \"0\" || c > \"9\")\n ) {\n if (this._xmlMode);\n else if (this._sectionStart + 1 === this._index);\n else if (this._baseState !== TEXT) {\n if (c !== \"=\") {\n this._parseNamedEntityStrict();\n }\n } else {\n this._parseLegacyEntity();\n }\n\n this._state = this._baseState;\n this._index--;\n }\n};\n\nTokenizer.prototype._decodeNumericEntity = function(offset, base) {\n var sectionStart = this._sectionStart + offset;\n\n if (sectionStart !== this._index) {\n //parse entity\n var entity = this._buffer.substring(sectionStart, this._index);\n var parsed = parseInt(entity, base);\n\n this._emitPartial(decodeCodePoint(parsed));\n this._sectionStart = this._index;\n } else {\n this._sectionStart--;\n }\n\n this._state = this._baseState;\n};\n\nTokenizer.prototype._stateInNumericEntity = function(c) {\n if (c === \";\") {\n this._decodeNumericEntity(2, 10);\n this._sectionStart++;\n } else if (c < \"0\" || c > \"9\") {\n if (!this._xmlMode) {\n this._decodeNumericEntity(2, 10);\n } else {\n this._state = this._baseState;\n }\n this._index--;\n }\n};\n\nTokenizer.prototype._stateInHexEntity = function(c) {\n if (c === \";\") {\n this._decodeNumericEntity(3, 16);\n this._sectionStart++;\n } else if (\n (c < \"a\" || c > \"f\") &&\n (c < \"A\" || c > \"F\") &&\n (c < \"0\" || c > \"9\")\n ) {\n if (!this._xmlMode) {\n this._decodeNumericEntity(3, 16);\n } else {\n this._state = this._baseState;\n }\n this._index--;\n }\n};\n\nTokenizer.prototype._cleanup = function() {\n if (this._sectionStart < 0) {\n this._buffer = \"\";\n this._bufferOffset += this._index;\n this._index = 0;\n } else if (this._running) {\n if (this._state === TEXT) {\n if (this._sectionStart !== this._index) {\n this._cbs.ontext(this._buffer.substr(this._sectionStart));\n }\n this._buffer = \"\";\n this._bufferOffset += this._index;\n this._index = 0;\n } else if (this._sectionStart === this._index) {\n //the section just started\n this._buffer = \"\";\n this._bufferOffset += this._index;\n this._index = 0;\n } else {\n //remove everything unnecessary\n this._buffer = this._buffer.substr(this._sectionStart);\n this._index -= this._sectionStart;\n this._bufferOffset += this._sectionStart;\n }\n\n this._sectionStart = 0;\n }\n};\n\n//TODO make events conditional\nTokenizer.prototype.write = function(chunk) {\n if (this._ended) this._cbs.onerror(Error(\".write() after done!\"));\n\n this._buffer += chunk;\n this._parse();\n};\n\nTokenizer.prototype._parse = function() {\n while (this._index < this._buffer.length && this._running) {\n var c = this._buffer.charAt(this._index);\n if (this._state === TEXT) {\n this._stateText(c);\n } else if (this._state === BEFORE_TAG_NAME) {\n this._stateBeforeTagName(c);\n } else if (this._state === IN_TAG_NAME) {\n this._stateInTagName(c);\n } else if (this._state === BEFORE_CLOSING_TAG_NAME) {\n this._stateBeforeCloseingTagName(c);\n } else if (this._state === IN_CLOSING_TAG_NAME) {\n this._stateInCloseingTagName(c);\n } else if (this._state === AFTER_CLOSING_TAG_NAME) {\n this._stateAfterCloseingTagName(c);\n } else if (this._state === IN_SELF_CLOSING_TAG) {\n this._stateInSelfClosingTag(c);\n } else if (this._state === BEFORE_ATTRIBUTE_NAME) {\n\n /*\n\t\t*\tattributes\n\t\t*/\n this._stateBeforeAttributeName(c);\n } else if (this._state === IN_ATTRIBUTE_NAME) {\n this._stateInAttributeName(c);\n } else if (this._state === AFTER_ATTRIBUTE_NAME) {\n this._stateAfterAttributeName(c);\n } else if (this._state === BEFORE_ATTRIBUTE_VALUE) {\n this._stateBeforeAttributeValue(c);\n } else if (this._state === IN_ATTRIBUTE_VALUE_DQ) {\n this._stateInAttributeValueDoubleQuotes(c);\n } else if (this._state === IN_ATTRIBUTE_VALUE_SQ) {\n this._stateInAttributeValueSingleQuotes(c);\n } else if (this._state === IN_ATTRIBUTE_VALUE_NQ) {\n this._stateInAttributeValueNoQuotes(c);\n } else if (this._state === BEFORE_DECLARATION) {\n\n /*\n\t\t*\tdeclarations\n\t\t*/\n this._stateBeforeDeclaration(c);\n } else if (this._state === IN_DECLARATION) {\n this._stateInDeclaration(c);\n } else if (this._state === IN_PROCESSING_INSTRUCTION) {\n\n /*\n\t\t*\tprocessing instructions\n\t\t*/\n this._stateInProcessingInstruction(c);\n } else if (this._state === BEFORE_COMMENT) {\n\n /*\n\t\t*\tcomments\n\t\t*/\n this._stateBeforeComment(c);\n } else if (this._state === IN_COMMENT) {\n this._stateInComment(c);\n } else if (this._state === AFTER_COMMENT_1) {\n this._stateAfterComment1(c);\n } else if (this._state === AFTER_COMMENT_2) {\n this._stateAfterComment2(c);\n } else if (this._state === BEFORE_CDATA_1) {\n\n /*\n\t\t*\tcdata\n\t\t*/\n this._stateBeforeCdata1(c);\n } else if (this._state === BEFORE_CDATA_2) {\n this._stateBeforeCdata2(c);\n } else if (this._state === BEFORE_CDATA_3) {\n this._stateBeforeCdata3(c);\n } else if (this._state === BEFORE_CDATA_4) {\n this._stateBeforeCdata4(c);\n } else if (this._state === BEFORE_CDATA_5) {\n this._stateBeforeCdata5(c);\n } else if (this._state === BEFORE_CDATA_6) {\n this._stateBeforeCdata6(c);\n } else if (this._state === IN_CDATA) {\n this._stateInCdata(c);\n } else if (this._state === AFTER_CDATA_1) {\n this._stateAfterCdata1(c);\n } else if (this._state === AFTER_CDATA_2) {\n this._stateAfterCdata2(c);\n } else if (this._state === BEFORE_SPECIAL) {\n\n /*\n\t\t* special tags\n\t\t*/\n this._stateBeforeSpecial(c);\n } else if (this._state === BEFORE_SPECIAL_END) {\n this._stateBeforeSpecialEnd(c);\n } else if (this._state === BEFORE_SCRIPT_1) {\n\n /*\n\t\t* script\n\t\t*/\n this._stateBeforeScript1(c);\n } else if (this._state === BEFORE_SCRIPT_2) {\n this._stateBeforeScript2(c);\n } else if (this._state === BEFORE_SCRIPT_3) {\n this._stateBeforeScript3(c);\n } else if (this._state === BEFORE_SCRIPT_4) {\n this._stateBeforeScript4(c);\n } else if (this._state === BEFORE_SCRIPT_5) {\n this._stateBeforeScript5(c);\n } else if (this._state === AFTER_SCRIPT_1) {\n this._stateAfterScript1(c);\n } else if (this._state === AFTER_SCRIPT_2) {\n this._stateAfterScript2(c);\n } else if (this._state === AFTER_SCRIPT_3) {\n this._stateAfterScript3(c);\n } else if (this._state === AFTER_SCRIPT_4) {\n this._stateAfterScript4(c);\n } else if (this._state === AFTER_SCRIPT_5) {\n this._stateAfterScript5(c);\n } else if (this._state === BEFORE_STYLE_1) {\n\n /*\n\t\t* style\n\t\t*/\n this._stateBeforeStyle1(c);\n } else if (this._state === BEFORE_STYLE_2) {\n this._stateBeforeStyle2(c);\n } else if (this._state === BEFORE_STYLE_3) {\n this._stateBeforeStyle3(c);\n } else if (this._state === BEFORE_STYLE_4) {\n this._stateBeforeStyle4(c);\n } else if (this._state === AFTER_STYLE_1) {\n this._stateAfterStyle1(c);\n } else if (this._state === AFTER_STYLE_2) {\n this._stateAfterStyle2(c);\n } else if (this._state === AFTER_STYLE_3) {\n this._stateAfterStyle3(c);\n } else if (this._state === AFTER_STYLE_4) {\n this._stateAfterStyle4(c);\n } else if (this._state === BEFORE_ENTITY) {\n\n /*\n\t\t* entities\n\t\t*/\n this._stateBeforeEntity(c);\n } else if (this._state === BEFORE_NUMERIC_ENTITY) {\n this._stateBeforeNumericEntity(c);\n } else if (this._state === IN_NAMED_ENTITY) {\n this._stateInNamedEntity(c);\n } else if (this._state === IN_NUMERIC_ENTITY) {\n this._stateInNumericEntity(c);\n } else if (this._state === IN_HEX_ENTITY) {\n this._stateInHexEntity(c);\n } else {\n this._cbs.onerror(Error(\"unknown _state\"), this._state);\n }\n\n this._index++;\n }\n\n this._cleanup();\n};\n\nTokenizer.prototype.pause = function() {\n this._running = false;\n};\nTokenizer.prototype.resume = function() {\n this._running = true;\n\n if (this._index < this._buffer.length) {\n this._parse();\n }\n if (this._ended) {\n this._finish();\n }\n};\n\nTokenizer.prototype.end = function(chunk) {\n if (this._ended) this._cbs.onerror(Error(\".end() after done!\"));\n if (chunk) this.write(chunk);\n\n this._ended = true;\n\n if (this._running) this._finish();\n};\n\nTokenizer.prototype._finish = function() {\n //if there is remaining data, emit it in a reasonable way\n if (this._sectionStart < this._index) {\n this._handleTrailingData();\n }\n\n this._cbs.onend();\n};\n\nTokenizer.prototype._handleTrailingData = function() {\n var data = this._buffer.substr(this._sectionStart);\n\n if (\n this._state === IN_CDATA ||\n this._state === AFTER_CDATA_1 ||\n this._state === AFTER_CDATA_2\n ) {\n this._cbs.oncdata(data);\n } else if (\n this._state === IN_COMMENT ||\n this._state === AFTER_COMMENT_1 ||\n this._state === AFTER_COMMENT_2\n ) {\n this._cbs.oncomment(data);\n } else if (this._state === IN_NAMED_ENTITY && !this._xmlMode) {\n this._parseLegacyEntity();\n if (this._sectionStart < this._index) {\n this._state = this._baseState;\n this._handleTrailingData();\n }\n } else if (this._state === IN_NUMERIC_ENTITY && !this._xmlMode) {\n this._decodeNumericEntity(2, 10);\n if (this._sectionStart < this._index) {\n this._state = this._baseState;\n this._handleTrailingData();\n }\n } else if (this._state === IN_HEX_ENTITY && !this._xmlMode) {\n this._decodeNumericEntity(3, 16);\n if (this._sectionStart < this._index) {\n this._state = this._baseState;\n this._handleTrailingData();\n }\n } else if (\n this._state !== IN_TAG_NAME &&\n this._state !== BEFORE_ATTRIBUTE_NAME &&\n this._state !== BEFORE_ATTRIBUTE_VALUE &&\n this._state !== AFTER_ATTRIBUTE_NAME &&\n this._state !== IN_ATTRIBUTE_NAME &&\n this._state !== IN_ATTRIBUTE_VALUE_SQ &&\n this._state !== IN_ATTRIBUTE_VALUE_DQ &&\n this._state !== IN_ATTRIBUTE_VALUE_NQ &&\n this._state !== IN_CLOSING_TAG_NAME\n ) {\n this._cbs.ontext(data);\n }\n //else, ignore remaining data\n //TODO add a way to remove current tag\n};\n\nTokenizer.prototype.reset = function() {\n Tokenizer.call(\n this,\n { xmlMode: this._xmlMode, decodeEntities: this._decodeEntities },\n this._cbs\n );\n};\n\nTokenizer.prototype.getAbsoluteIndex = function() {\n return this._bufferOffset + this._index;\n};\n\nTokenizer.prototype._getSection = function() {\n return this._buffer.substring(this._sectionStart, this._index);\n};\n\nTokenizer.prototype._emitToken = function(name) {\n this._cbs[name](this._getSection());\n this._sectionStart = -1;\n};\n\nTokenizer.prototype._emitPartial = function(value) {\n if (this._baseState !== TEXT) {\n this._cbs.onattribdata(value); //TODO implement the new event\n } else {\n this._cbs.ontext(value);\n }\n};\n","var ElementType = require(\"domelementtype\");\n\nvar re_whitespace = /\\s+/g;\nvar NodePrototype = require(\"./lib/node\");\nvar ElementPrototype = require(\"./lib/element\");\n\nfunction DomHandler(callback, options, elementCB){\n\tif(typeof callback === \"object\"){\n\t\telementCB = options;\n\t\toptions = callback;\n\t\tcallback = null;\n\t} else if(typeof options === \"function\"){\n\t\telementCB = options;\n\t\toptions = defaultOpts;\n\t}\n\tthis._callback = callback;\n\tthis._options = options || defaultOpts;\n\tthis._elementCB = elementCB;\n\tthis.dom = [];\n\tthis._done = false;\n\tthis._tagStack = [];\n\tthis._parser = this._parser || null;\n}\n\n//default options\nvar defaultOpts = {\n\tnormalizeWhitespace: false, //Replace all whitespace with single spaces\n\twithStartIndices: false, //Add startIndex properties to nodes\n\twithEndIndices: false, //Add endIndex properties to nodes\n};\n\nDomHandler.prototype.onparserinit = function(parser){\n\tthis._parser = parser;\n};\n\n//Resets the handler back to starting state\nDomHandler.prototype.onreset = function(){\n\tDomHandler.call(this, this._callback, this._options, this._elementCB);\n};\n\n//Signals the handler that parsing is done\nDomHandler.prototype.onend = function(){\n\tif(this._done) return;\n\tthis._done = true;\n\tthis._parser = null;\n\tthis._handleCallback(null);\n};\n\nDomHandler.prototype._handleCallback =\nDomHandler.prototype.onerror = function(error){\n\tif(typeof this._callback === \"function\"){\n\t\tthis._callback(error, this.dom);\n\t} else {\n\t\tif(error) throw error;\n\t}\n};\n\nDomHandler.prototype.onclosetag = function(){\n\t//if(this._tagStack.pop().name !== name) this._handleCallback(Error(\"Tagname didn't match!\"));\n\t\n\tvar elem = this._tagStack.pop();\n\n\tif(this._options.withEndIndices && elem){\n\t\telem.endIndex = this._parser.endIndex;\n\t}\n\n\tif(this._elementCB) this._elementCB(elem);\n};\n\nDomHandler.prototype._createDomElement = function(properties){\n\tif (!this._options.withDomLvl1) return properties;\n\n\tvar element;\n\tif (properties.type === \"tag\") {\n\t\telement = Object.create(ElementPrototype);\n\t} else {\n\t\telement = Object.create(NodePrototype);\n\t}\n\n\tfor (var key in properties) {\n\t\tif (properties.hasOwnProperty(key)) {\n\t\t\telement[key] = properties[key];\n\t\t}\n\t}\n\n\treturn element;\n};\n\nDomHandler.prototype._addDomElement = function(element){\n\tvar parent = this._tagStack[this._tagStack.length - 1];\n\tvar siblings = parent ? parent.children : this.dom;\n\tvar previousSibling = siblings[siblings.length - 1];\n\n\telement.next = null;\n\n\tif(this._options.withStartIndices){\n\t\telement.startIndex = this._parser.startIndex;\n\t}\n\tif(this._options.withEndIndices){\n\t\telement.endIndex = this._parser.endIndex;\n\t}\n\n\tif(previousSibling){\n\t\telement.prev = previousSibling;\n\t\tpreviousSibling.next = element;\n\t} else {\n\t\telement.prev = null;\n\t}\n\n\tsiblings.push(element);\n\telement.parent = parent || null;\n};\n\nDomHandler.prototype.onopentag = function(name, attribs){\n\tvar properties = {\n\t\ttype: name === \"script\" ? ElementType.Script : name === \"style\" ? ElementType.Style : ElementType.Tag,\n\t\tname: name,\n\t\tattribs: attribs,\n\t\tchildren: []\n\t};\n\n\tvar element = this._createDomElement(properties);\n\n\tthis._addDomElement(element);\n\n\tthis._tagStack.push(element);\n};\n\nDomHandler.prototype.ontext = function(data){\n\t//the ignoreWhitespace is officially dropped, but for now,\n\t//it's an alias for normalizeWhitespace\n\tvar normalize = this._options.normalizeWhitespace || this._options.ignoreWhitespace;\n\n\tvar lastTag;\n\n\tif(!this._tagStack.length && this.dom.length && (lastTag = this.dom[this.dom.length-1]).type === ElementType.Text){\n\t\tif(normalize){\n\t\t\tlastTag.data = (lastTag.data + data).replace(re_whitespace, \" \");\n\t\t} else {\n\t\t\tlastTag.data += data;\n\t\t}\n\t} else {\n\t\tif(\n\t\t\tthis._tagStack.length &&\n\t\t\t(lastTag = this._tagStack[this._tagStack.length - 1]) &&\n\t\t\t(lastTag = lastTag.children[lastTag.children.length - 1]) &&\n\t\t\tlastTag.type === ElementType.Text\n\t\t){\n\t\t\tif(normalize){\n\t\t\t\tlastTag.data = (lastTag.data + data).replace(re_whitespace, \" \");\n\t\t\t} else {\n\t\t\t\tlastTag.data += data;\n\t\t\t}\n\t\t} else {\n\t\t\tif(normalize){\n\t\t\t\tdata = data.replace(re_whitespace, \" \");\n\t\t\t}\n\n\t\t\tvar element = this._createDomElement({\n\t\t\t\tdata: data,\n\t\t\t\ttype: ElementType.Text\n\t\t\t});\n\n\t\t\tthis._addDomElement(element);\n\t\t}\n\t}\n};\n\nDomHandler.prototype.oncomment = function(data){\n\tvar lastTag = this._tagStack[this._tagStack.length - 1];\n\n\tif(lastTag && lastTag.type === ElementType.Comment){\n\t\tlastTag.data += data;\n\t\treturn;\n\t}\n\n\tvar properties = {\n\t\tdata: data,\n\t\ttype: ElementType.Comment\n\t};\n\n\tvar element = this._createDomElement(properties);\n\n\tthis._addDomElement(element);\n\tthis._tagStack.push(element);\n};\n\nDomHandler.prototype.oncdatastart = function(){\n\tvar properties = {\n\t\tchildren: [{\n\t\t\tdata: \"\",\n\t\t\ttype: ElementType.Text\n\t\t}],\n\t\ttype: ElementType.CDATA\n\t};\n\n\tvar element = this._createDomElement(properties);\n\n\tthis._addDomElement(element);\n\tthis._tagStack.push(element);\n};\n\nDomHandler.prototype.oncommentend = DomHandler.prototype.oncdataend = function(){\n\tthis._tagStack.pop();\n};\n\nDomHandler.prototype.onprocessinginstruction = function(name, data){\n\tvar element = this._createDomElement({\n\t\tname: name,\n\t\tdata: data,\n\t\ttype: ElementType.Directive\n\t});\n\n\tthis._addDomElement(element);\n};\n\nmodule.exports = DomHandler;\n","// This object will be used as the prototype for Nodes when creating a\n// DOM-Level-1-compliant structure.\nvar NodePrototype = module.exports = {\n\tget firstChild() {\n\t\tvar children = this.children;\n\t\treturn children && children[0] || null;\n\t},\n\tget lastChild() {\n\t\tvar children = this.children;\n\t\treturn children && children[children.length - 1] || null;\n\t},\n\tget nodeType() {\n\t\treturn nodeTypes[this.type] || nodeTypes.element;\n\t}\n};\n\nvar domLvl1 = {\n\ttagName: \"name\",\n\tchildNodes: \"children\",\n\tparentNode: \"parent\",\n\tpreviousSibling: \"prev\",\n\tnextSibling: \"next\",\n\tnodeValue: \"data\"\n};\n\nvar nodeTypes = {\n\telement: 1,\n\ttext: 3,\n\tcdata: 4,\n\tcomment: 8\n};\n\nObject.keys(domLvl1).forEach(function(key) {\n\tvar shorthand = domLvl1[key];\n\tObject.defineProperty(NodePrototype, key, {\n\t\tget: function() {\n\t\t\treturn this[shorthand] || null;\n\t\t},\n\t\tset: function(val) {\n\t\t\tthis[shorthand] = val;\n\t\t\treturn val;\n\t\t}\n\t});\n});\n","var DomUtils = module.exports;\n\n[\n\trequire(\"./lib/stringify\"),\n\trequire(\"./lib/traversal\"),\n\trequire(\"./lib/manipulation\"),\n\trequire(\"./lib/querying\"),\n\trequire(\"./lib/legacy\"),\n\trequire(\"./lib/helpers\")\n].forEach(function(ext){\n\tObject.keys(ext).forEach(function(key){\n\t\tDomUtils[key] = ext[key].bind(DomUtils);\n\t});\n});\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.decodeHTML = exports.decodeHTMLStrict = exports.decodeXML = void 0;\nvar entities_json_1 = __importDefault(require(\"./maps/entities.json\"));\nvar legacy_json_1 = __importDefault(require(\"./maps/legacy.json\"));\nvar xml_json_1 = __importDefault(require(\"./maps/xml.json\"));\nvar decode_codepoint_1 = __importDefault(require(\"./decode_codepoint\"));\nexports.decodeXML = getStrictDecoder(xml_json_1.default);\nexports.decodeHTMLStrict = getStrictDecoder(entities_json_1.default);\nfunction getStrictDecoder(map) {\n var keys = Object.keys(map).join(\"|\");\n var replace = getReplacer(map);\n keys += \"|#[xX][\\\\da-fA-F]+|#\\\\d+\";\n var re = new RegExp(\"&(?:\" + keys + \");\", \"g\");\n return function (str) { return String(str).replace(re, replace); };\n}\nvar sorter = function (a, b) { return (a < b ? 1 : -1); };\nexports.decodeHTML = (function () {\n var legacy = Object.keys(legacy_json_1.default).sort(sorter);\n var keys = Object.keys(entities_json_1.default).sort(sorter);\n for (var i = 0, j = 0; i < keys.length; i++) {\n if (legacy[j] === keys[i]) {\n keys[i] += \";?\";\n j++;\n }\n else {\n keys[i] += \";\";\n }\n }\n var re = new RegExp(\"&(?:\" + keys.join(\"|\") + \"|#[xX][\\\\da-fA-F]+;?|#\\\\d+;?)\", \"g\");\n var replace = getReplacer(entities_json_1.default);\n function replacer(str) {\n if (str.substr(-1) !== \";\")\n str += \";\";\n return replace(str);\n }\n //TODO consider creating a merged map\n return function (str) { return String(str).replace(re, replacer); };\n})();\nfunction getReplacer(map) {\n return function replace(str) {\n if (str.charAt(1) === \"#\") {\n var secondChar = str.charAt(2);\n if (secondChar === \"X\" || secondChar === \"x\") {\n return decode_codepoint_1.default(parseInt(str.substr(3), 16));\n }\n return decode_codepoint_1.default(parseInt(str.substr(2), 10));\n }\n return map[str.slice(1, -1)];\n };\n}\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.escape = exports.encodeHTML = exports.encodeXML = void 0;\nvar xml_json_1 = __importDefault(require(\"./maps/xml.json\"));\nvar inverseXML = getInverseObj(xml_json_1.default);\nvar xmlReplacer = getInverseReplacer(inverseXML);\nexports.encodeXML = getInverse(inverseXML, xmlReplacer);\nvar entities_json_1 = __importDefault(require(\"./maps/entities.json\"));\nvar inverseHTML = getInverseObj(entities_json_1.default);\nvar htmlReplacer = getInverseReplacer(inverseHTML);\nexports.encodeHTML = getInverse(inverseHTML, htmlReplacer);\nfunction getInverseObj(obj) {\n return Object.keys(obj)\n .sort()\n .reduce(function (inverse, name) {\n inverse[obj[name]] = \"&\" + name + \";\";\n return inverse;\n }, {});\n}\nfunction getInverseReplacer(inverse) {\n var single = [];\n var multiple = [];\n for (var _i = 0, _a = Object.keys(inverse); _i < _a.length; _i++) {\n var k = _a[_i];\n if (k.length === 1) {\n // Add value to single array\n single.push(\"\\\\\" + k);\n }\n else {\n // Add value to multiple array\n multiple.push(k);\n }\n }\n // Add ranges to single characters.\n single.sort();\n for (var start = 0; start < single.length - 1; start++) {\n // Find the end of a run of characters\n var end = start;\n while (end < single.length - 1 &&\n single[end].charCodeAt(1) + 1 === single[end + 1].charCodeAt(1)) {\n end += 1;\n }\n var count = 1 + end - start;\n // We want to replace at least three characters\n if (count < 3)\n continue;\n single.splice(start, count, single[start] + \"-\" + single[end]);\n }\n multiple.unshift(\"[\" + single.join(\"\") + \"]\");\n return new RegExp(multiple.join(\"|\"), \"g\");\n}\nvar reNonASCII = /(?:[\\x80-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])/g;\nfunction singleCharReplacer(c) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return \"&#x\" + c.codePointAt(0).toString(16).toUpperCase() + \";\";\n}\nfunction getInverse(inverse, re) {\n return function (data) {\n return data\n .replace(re, function (name) { return inverse[name]; })\n .replace(reNonASCII, singleCharReplacer);\n };\n}\nvar reXmlChars = getInverseReplacer(inverseXML);\nfunction escape(data) {\n return data\n .replace(reXmlChars, singleCharReplacer)\n .replace(reNonASCII, singleCharReplacer);\n}\nexports.escape = escape;\n","module.exports = Stream;\n\nvar Parser = require(\"./Parser.js\");\nvar WritableStream = require(\"readable-stream\").Writable;\nvar StringDecoder = require(\"string_decoder\").StringDecoder;\nvar Buffer = require(\"buffer\").Buffer;\n\nfunction Stream(cbs, options) {\n var parser = (this._parser = new Parser(cbs, options));\n var decoder = (this._decoder = new StringDecoder());\n\n WritableStream.call(this, { decodeStrings: false });\n\n this.once(\"finish\", function() {\n parser.end(decoder.end());\n });\n}\n\nrequire(\"inherits\")(Stream, WritableStream);\n\nStream.prototype._write = function(chunk, encoding, cb) {\n if (chunk instanceof Buffer) chunk = this._decoder.write(chunk);\n this._parser.write(chunk);\n cb();\n};\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports.default = generatePropsFromAttributes;\n\nvar _htmlAttributesToReact = require('./htmlAttributesToReact');\n\nvar _htmlAttributesToReact2 = _interopRequireDefault(_htmlAttributesToReact);\n\nvar _inlineStyleToObject = require('./inlineStyleToObject');\n\nvar _inlineStyleToObject2 = _interopRequireDefault(_inlineStyleToObject);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Generates props for a React element from an object of HTML attributes\n *\n * @param {Object} attributes The HTML attributes\n * @param {String} key The key to give the react element\n */\nfunction generatePropsFromAttributes(attributes, key) {\n\n // generate props\n var props = _extends({}, (0, _htmlAttributesToReact2.default)(attributes), { key: key });\n\n // if there is an inline/string style prop then convert it to a React style object\n // otherwise, it is invalid and omitted\n if (typeof props.style === 'string' || props.style instanceof String) {\n props.style = (0, _inlineStyleToObject2.default)(props.style);\n } else {\n delete props.style;\n }\n\n return props;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isValidTagOrAttributeName;\nvar VALID_TAG_REGEX = /^[a-zA-Z][a-zA-Z:_\\.\\-\\d]*$/;\n\nvar nameCache = {};\n\nfunction isValidTagOrAttributeName(tagName) {\n if (!nameCache.hasOwnProperty(tagName)) {\n nameCache[tagName] = VALID_TAG_REGEX.test(tagName);\n }\n return nameCache[tagName];\n}","export default function symbolObservablePonyfill(root) {\n\tvar result;\n\tvar Symbol = root.Symbol;\n\n\tif (typeof Symbol === 'function') {\n\t\tif (Symbol.observable) {\n\t\t\tresult = Symbol.observable;\n\t\t} else {\n\t\t\tresult = Symbol('observable');\n\t\t\tSymbol.observable = result;\n\t\t}\n\t} else {\n\t\tresult = '@@observable';\n\t}\n\n\treturn result;\n};\n","\"use strict\";\n\nvar compose = require('redux').compose;\n\nexports.__esModule = true;\nexports.composeWithDevTools = (\n typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ?\n window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ :\n function() {\n if (arguments.length === 0) return undefined;\n if (typeof arguments[0] === 'object') return compose;\n return compose.apply(null, arguments);\n }\n);\n\nexports.devToolsEnhancer = (\n typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION__ ?\n window.__REDUX_DEVTOOLS_EXTENSION__ :\n function() { return function(noop) { return noop; } }\n);\n","function createThunkMiddleware(extraArgument) {\n return function (_ref) {\n var dispatch = _ref.dispatch,\n getState = _ref.getState;\n return function (next) {\n return function (action) {\n if (typeof action === 'function') {\n return action(dispatch, getState, extraArgument);\n }\n\n return next(action);\n };\n };\n };\n}\n\nvar thunk = createThunkMiddleware();\nthunk.withExtraArgument = createThunkMiddleware;\n\nexport default thunk;","// @flow\n'use strict';\n\nvar key = '__global_unique_id__';\n\nmodule.exports = function() {\n return global[key] = (global[key] || 0) + 1;\n};\n","'use strict';\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar React = require('react');\nvar React__default = _interopDefault(React);\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nfunction withSideEffect(reducePropsToState, handleStateChangeOnClient, mapStateOnServer) {\n if (typeof reducePropsToState !== 'function') {\n throw new Error('Expected reducePropsToState to be a function.');\n }\n\n if (typeof handleStateChangeOnClient !== 'function') {\n throw new Error('Expected handleStateChangeOnClient to be a function.');\n }\n\n if (typeof mapStateOnServer !== 'undefined' && typeof mapStateOnServer !== 'function') {\n throw new Error('Expected mapStateOnServer to either be undefined or a function.');\n }\n\n function getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n }\n\n return function wrap(WrappedComponent) {\n if (typeof WrappedComponent !== 'function') {\n throw new Error('Expected WrappedComponent to be a React component.');\n }\n\n var mountedInstances = [];\n var state;\n\n function emitChange() {\n state = reducePropsToState(mountedInstances.map(function (instance) {\n return instance.props;\n }));\n\n if (SideEffect.canUseDOM) {\n handleStateChangeOnClient(state);\n } else if (mapStateOnServer) {\n state = mapStateOnServer(state);\n }\n }\n\n var SideEffect = /*#__PURE__*/function (_PureComponent) {\n _inheritsLoose(SideEffect, _PureComponent);\n\n function SideEffect() {\n return _PureComponent.apply(this, arguments) || this;\n }\n\n // Try to use displayName of wrapped component\n // Expose canUseDOM so tests can monkeypatch it\n SideEffect.peek = function peek() {\n return state;\n };\n\n SideEffect.rewind = function rewind() {\n if (SideEffect.canUseDOM) {\n throw new Error('You may only call rewind() on the server. Call peek() to read the current state.');\n }\n\n var recordedState = state;\n state = undefined;\n mountedInstances = [];\n return recordedState;\n };\n\n var _proto = SideEffect.prototype;\n\n _proto.UNSAFE_componentWillMount = function UNSAFE_componentWillMount() {\n mountedInstances.push(this);\n emitChange();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n emitChange();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n var index = mountedInstances.indexOf(this);\n mountedInstances.splice(index, 1);\n emitChange();\n };\n\n _proto.render = function render() {\n return /*#__PURE__*/React__default.createElement(WrappedComponent, this.props);\n };\n\n return SideEffect;\n }(React.PureComponent);\n\n _defineProperty(SideEffect, \"displayName\", \"SideEffect(\" + getDisplayName(WrappedComponent) + \")\");\n\n _defineProperty(SideEffect, \"canUseDOM\", canUseDOM);\n\n return SideEffect;\n };\n}\n\nmodule.exports = withSideEffect;\n","/* global Map:readonly, Set:readonly, ArrayBuffer:readonly */\n\nvar hasElementType = typeof Element !== 'undefined';\nvar hasMap = typeof Map === 'function';\nvar hasSet = typeof Set === 'function';\nvar hasArrayBuffer = typeof ArrayBuffer === 'function' && !!ArrayBuffer.isView;\n\n// Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js\n\nfunction equal(a, b) {\n // START: fast-deep-equal es6/index.js 3.1.1\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n // START: Modifications:\n // 1. Extra `has &&` helpers in initial condition allow es6 code\n // to co-exist with es5.\n // 2. Replace `for of` with es5 compliant iteration using `for`.\n // Basically, take:\n //\n // ```js\n // for (i of a.entries())\n // if (!b.has(i[0])) return false;\n // ```\n //\n // ... and convert to:\n //\n // ```js\n // it = a.entries();\n // while (!(i = it.next()).done)\n // if (!b.has(i.value[0])) return false;\n // ```\n //\n // **Note**: `i` access switches to `i.value`.\n var it;\n if (hasMap && (a instanceof Map) && (b instanceof Map)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!equal(i.value[1], b.get(i.value[0]))) return false;\n return true;\n }\n\n if (hasSet && (a instanceof Set) && (b instanceof Set)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n return true;\n }\n // END: Modifications\n\n if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (a[i] !== b[i]) return false;\n return true;\n }\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n // END: fast-deep-equal\n\n // START: react-fast-compare\n // custom handling for DOM elements\n if (hasElementType && a instanceof Element) return false;\n\n // custom handling for React/Preact\n for (i = length; i-- !== 0;) {\n if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner\n // Preact-specific: avoid traversing Preact elements' __v and __o\n // __v = $_original / $_vnode\n // __o = $_owner\n // These properties contain circular references and are not needed when\n // comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of elements\n\n continue;\n }\n\n // all other properties should be traversed as usual\n if (!equal(a[keys[i]], b[keys[i]])) return false;\n }\n // END: react-fast-compare\n\n // START: fast-deep-equal\n return true;\n }\n\n return a !== a && b !== b;\n}\n// end fast-deep-equal\n\nmodule.exports = function isEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if (((error.message || '').match(/stack|recursion/i))) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('react-fast-compare cannot handle circular refs');\n return false;\n }\n // some other error. we should definitely know about these\n throw error;\n }\n};\n","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.EXITING = exports.ENTERED = exports.ENTERING = exports.EXITED = exports.UNMOUNTED = void 0;\n\nvar PropTypes = _interopRequireWildcard(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\n\nvar _reactLifecyclesCompat = require(\"react-lifecycles-compat\");\n\nvar _PropTypes = require(\"./utils/PropTypes\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar UNMOUNTED = 'unmounted';\nexports.UNMOUNTED = UNMOUNTED;\nvar EXITED = 'exited';\nexports.EXITED = EXITED;\nvar ENTERING = 'entering';\nexports.ENTERING = ENTERING;\nvar ENTERED = 'entered';\nexports.ENTERED = ENTERED;\nvar EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 0 },\n * entered: { opacity: 1 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * \n * {state => (\n *
    \n * I'm a fade Transition!\n *
    \n * )}\n *
    \n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n *
    \n * \n * {state => (\n * // ...\n * )}\n * \n * \n *
    \n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nexports.EXITING = EXITING;\n\nvar Transition =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context.transitionGroup; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n var _proto = Transition.prototype;\n\n _proto.getChildContext = function getChildContext() {\n return {\n transitionGroup: null // allows for nested Transitions\n\n };\n };\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n }; // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n var node = _reactDom.default.findDOMNode(this);\n\n if (nextStatus === ENTERING) {\n this.performEnter(node, mounting);\n } else {\n this.performExit(node);\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(node, mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context.transitionGroup ? this.context.transitionGroup.isMounting : mounting;\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(node);\n });\n return;\n }\n\n this.props.onEnter(node, appearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(node, appearing);\n\n _this2.onTransitionEnd(node, enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(node, appearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit(node) {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts(); // no exit animation skip right to EXITED\n\n if (!exit) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(node);\n });\n return;\n }\n\n this.props.onExit(node);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(node);\n\n _this3.onTransitionEnd(node, timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(node);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(node, timeout, handler) {\n this.setNextCallback(handler);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n this.props.addEndListener(node, this.nextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\"]); // filter props for Transtition\n\n\n delete childProps.in;\n delete childProps.mountOnEnter;\n delete childProps.unmountOnExit;\n delete childProps.appear;\n delete childProps.enter;\n delete childProps.exit;\n delete childProps.timeout;\n delete childProps.addEndListener;\n delete childProps.onEnter;\n delete childProps.onEntering;\n delete childProps.onEntered;\n delete childProps.onExit;\n delete childProps.onExiting;\n delete childProps.onExited;\n\n if (typeof children === 'function') {\n return children(status, childProps);\n }\n\n var child = _react.default.Children.only(children);\n\n return _react.default.cloneElement(child, childProps);\n };\n\n return Transition;\n}(_react.default.Component);\n\nTransition.contextTypes = {\n transitionGroup: PropTypes.object\n};\nTransition.childContextTypes = {\n transitionGroup: function transitionGroup() {}\n};\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`, `'unmounted'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * \n * {state => (\n * \n * )}\n * \n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * Normally a component is not transitioned if it is shown when the `` component mounts.\n * If you want to transition on the first mount set `appear` to `true`, and the\n * component will transition in as soon as the `` mounts.\n *\n * > Note: there are no specific \"appear\" states. `appear` only adds an additional `enter` transition.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = _PropTypes.timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. **Note:** Timeouts are still used as a fallback if provided.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func // Name the function so it is clearer in the documentation\n\n} : {};\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = 0;\nTransition.EXITED = 1;\nTransition.ENTERING = 2;\nTransition.ENTERED = 3;\nTransition.EXITING = 4;\n\nvar _default = (0, _reactLifecyclesCompat.polyfill)(Transition);\n\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactLifecyclesCompat = require(\"react-lifecycles-compat\");\n\nvar _ChildMapping = require(\"./utils/ChildMapping\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nvar values = Object.values || function (obj) {\n return Object.keys(obj).map(function (k) {\n return obj[k];\n });\n};\n\nvar defaultProps = {\n component: 'div',\n childFactory: function childFactory(child) {\n return child;\n }\n /**\n * The `` component manages a set of transition components\n * (`` and ``) in a list. Like with the transition\n * components, `` is a state machine for managing the mounting\n * and unmounting of components over time.\n *\n * Consider the example below. As items are removed or added to the TodoList the\n * `in` prop is toggled automatically by the ``.\n *\n * Note that `` does not define any animation behavior!\n * Exactly _how_ a list item animates is up to the individual transition\n * component. This means you can mix and match animations across different list\n * items.\n */\n\n};\n\nvar TransitionGroup =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(TransitionGroup, _React$Component);\n\n function TransitionGroup(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n\n var handleExited = _this.handleExited.bind(_assertThisInitialized(_assertThisInitialized(_this))); // Initial children should all be entering, dependent on appear\n\n\n _this.state = {\n handleExited: handleExited,\n firstRender: true\n };\n return _this;\n }\n\n var _proto = TransitionGroup.prototype;\n\n _proto.getChildContext = function getChildContext() {\n return {\n transitionGroup: {\n isMounting: !this.appeared\n }\n };\n };\n\n _proto.componentDidMount = function componentDidMount() {\n this.appeared = true;\n this.mounted = true;\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n var prevChildMapping = _ref.children,\n handleExited = _ref.handleExited,\n firstRender = _ref.firstRender;\n return {\n children: firstRender ? (0, _ChildMapping.getInitialChildMapping)(nextProps, handleExited) : (0, _ChildMapping.getNextChildMapping)(nextProps, prevChildMapping, handleExited),\n firstRender: false\n };\n };\n\n _proto.handleExited = function handleExited(child, node) {\n var currentChildMapping = (0, _ChildMapping.getChildMapping)(this.props.children);\n if (child.key in currentChildMapping) return;\n\n if (child.props.onExited) {\n child.props.onExited(node);\n }\n\n if (this.mounted) {\n this.setState(function (state) {\n var children = _extends({}, state.children);\n\n delete children[child.key];\n return {\n children: children\n };\n });\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n Component = _this$props.component,\n childFactory = _this$props.childFactory,\n props = _objectWithoutPropertiesLoose(_this$props, [\"component\", \"childFactory\"]);\n\n var children = values(this.state.children).map(childFactory);\n delete props.appear;\n delete props.enter;\n delete props.exit;\n\n if (Component === null) {\n return children;\n }\n\n return _react.default.createElement(Component, props, children);\n };\n\n return TransitionGroup;\n}(_react.default.Component);\n\nTransitionGroup.childContextTypes = {\n transitionGroup: _propTypes.default.object.isRequired\n};\nTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * `` renders a `
    ` by default. You can change this\n * behavior by providing a `component` prop.\n * If you use React v16+ and would like to avoid a wrapping `
    ` element\n * you can pass in `component={null}`. This is useful if the wrapping div\n * borks your css styles.\n */\n component: _propTypes.default.any,\n\n /**\n * A set of `` components, that are toggled `in` and out as they\n * leave. the `` will inject specific transition props, so\n * remember to spread them through if you are wrapping the `` as\n * with our `` example.\n *\n * While this component is meant for multiple `Transition` or `CSSTransition`\n * children, sometimes you may want to have a single transition child with\n * content that you want to be transitioned out and in when you change it\n * (e.g. routes, images etc.) In that case you can change the `key` prop of\n * the transition child as you change its content, this will cause\n * `TransitionGroup` to transition the child out and back in.\n */\n children: _propTypes.default.node,\n\n /**\n * A convenience prop that enables or disables appear animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n appear: _propTypes.default.bool,\n\n /**\n * A convenience prop that enables or disables enter animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n enter: _propTypes.default.bool,\n\n /**\n * A convenience prop that enables or disables exit animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n exit: _propTypes.default.bool,\n\n /**\n * You may need to apply reactive updates to a child as it is exiting.\n * This is generally done by using `cloneElement` however in the case of an exiting\n * child the element has already been removed and not accessible to the consumer.\n *\n * If you do need to update a child as it leaves you can provide a `childFactory`\n * to wrap every child, even the ones that are leaving.\n *\n * @type Function(child: ReactElement) -> ReactElement\n */\n childFactory: _propTypes.default.func\n} : {};\nTransitionGroup.defaultProps = defaultProps;\n\nvar _default = (0, _reactLifecyclesCompat.polyfill)(TransitionGroup);\n\nexports.default = _default;\nmodule.exports = exports[\"default\"];","'use strict';\n\nvar React = require('react');\nvar ReactDOM = require('react-dom');\nvar PropTypes = require('prop-types');\nvar className = require('classnames');\nvar debounce = require('lodash.debounce');\nvar isEqual = require('lodash.isequal');\nvar createReactClass = require('create-react-class');\n\nfunction normalizeLineEndings(str) {\n\tif (!str) return str;\n\treturn str.replace(/\\r\\n|\\r/g, '\\n');\n}\n\nvar CodeMirror = createReactClass({\n\tpropTypes: {\n\t\tautoFocus: PropTypes.bool,\n\t\tclassName: PropTypes.any,\n\t\tcodeMirrorInstance: PropTypes.func,\n\t\tdefaultValue: PropTypes.string,\n\t\tname: PropTypes.string,\n\t\tonChange: PropTypes.func,\n\t\tonCursorActivity: PropTypes.func,\n\t\tonFocusChange: PropTypes.func,\n\t\tonScroll: PropTypes.func,\n\t\toptions: PropTypes.object,\n\t\tpath: PropTypes.string,\n\t\tvalue: PropTypes.string,\n\t\tpreserveScrollPosition: PropTypes.bool\n\t},\n\tgetDefaultProps: function getDefaultProps() {\n\t\treturn {\n\t\t\tpreserveScrollPosition: false\n\t\t};\n\t},\n\tgetCodeMirrorInstance: function getCodeMirrorInstance() {\n\t\treturn this.props.codeMirrorInstance || require('codemirror');\n\t},\n\tgetInitialState: function getInitialState() {\n\t\treturn {\n\t\t\tisFocused: false\n\t\t};\n\t},\n\tcomponentWillMount: function componentWillMount() {\n\t\tthis.componentWillReceiveProps = debounce(this.componentWillReceiveProps, 0);\n\t\tif (this.props.path) {\n\t\t\tconsole.error('Warning: react-codemirror: the `path` prop has been changed to `name`');\n\t\t}\n\t},\n\tcomponentDidMount: function componentDidMount() {\n\t\tvar codeMirrorInstance = this.getCodeMirrorInstance();\n\t\tthis.codeMirror = codeMirrorInstance.fromTextArea(this.textareaNode, this.props.options);\n\t\tthis.codeMirror.on('change', this.codemirrorValueChanged);\n\t\tthis.codeMirror.on('cursorActivity', this.cursorActivity);\n\t\tthis.codeMirror.on('focus', this.focusChanged.bind(this, true));\n\t\tthis.codeMirror.on('blur', this.focusChanged.bind(this, false));\n\t\tthis.codeMirror.on('scroll', this.scrollChanged);\n\t\tthis.codeMirror.setValue(this.props.defaultValue || this.props.value || '');\n\t},\n\tcomponentWillUnmount: function componentWillUnmount() {\n\t\t// is there a lighter-weight way to remove the cm instance?\n\t\tif (this.codeMirror) {\n\t\t\tthis.codeMirror.toTextArea();\n\t\t}\n\t},\n\tcomponentWillReceiveProps: function componentWillReceiveProps(nextProps) {\n\t\tif (this.codeMirror && nextProps.value !== undefined && nextProps.value !== this.props.value && normalizeLineEndings(this.codeMirror.getValue()) !== normalizeLineEndings(nextProps.value)) {\n\t\t\tif (this.props.preserveScrollPosition) {\n\t\t\t\tvar prevScrollPosition = this.codeMirror.getScrollInfo();\n\t\t\t\tthis.codeMirror.setValue(nextProps.value);\n\t\t\t\tthis.codeMirror.scrollTo(prevScrollPosition.left, prevScrollPosition.top);\n\t\t\t} else {\n\t\t\t\tthis.codeMirror.setValue(nextProps.value);\n\t\t\t}\n\t\t}\n\t\tif (typeof nextProps.options === 'object') {\n\t\t\tfor (var optionName in nextProps.options) {\n\t\t\t\tif (nextProps.options.hasOwnProperty(optionName)) {\n\t\t\t\t\tthis.setOptionIfChanged(optionName, nextProps.options[optionName]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\tsetOptionIfChanged: function setOptionIfChanged(optionName, newValue) {\n\t\tvar oldValue = this.codeMirror.getOption(optionName);\n\t\tif (!isEqual(oldValue, newValue)) {\n\t\t\tthis.codeMirror.setOption(optionName, newValue);\n\t\t}\n\t},\n\tgetCodeMirror: function getCodeMirror() {\n\t\treturn this.codeMirror;\n\t},\n\tfocus: function focus() {\n\t\tif (this.codeMirror) {\n\t\t\tthis.codeMirror.focus();\n\t\t}\n\t},\n\tfocusChanged: function focusChanged(focused) {\n\t\tthis.setState({\n\t\t\tisFocused: focused\n\t\t});\n\t\tthis.props.onFocusChange && this.props.onFocusChange(focused);\n\t},\n\tcursorActivity: function cursorActivity(cm) {\n\t\tthis.props.onCursorActivity && this.props.onCursorActivity(cm);\n\t},\n\tscrollChanged: function scrollChanged(cm) {\n\t\tthis.props.onScroll && this.props.onScroll(cm.getScrollInfo());\n\t},\n\tcodemirrorValueChanged: function codemirrorValueChanged(doc, change) {\n\t\tif (this.props.onChange && change.origin !== 'setValue') {\n\t\t\tthis.props.onChange(doc.getValue(), change);\n\t\t}\n\t},\n\trender: function render() {\n\t\tvar _this = this;\n\n\t\tvar editorClassName = className('ReactCodeMirror', this.state.isFocused ? 'ReactCodeMirror--focused' : null, this.props.className);\n\t\treturn React.createElement(\n\t\t\t'div',\n\t\t\t{ className: editorClassName },\n\t\t\tReact.createElement('textarea', {\n\t\t\t\tref: function (ref) {\n\t\t\t\t\treturn _this.textareaNode = ref;\n\t\t\t\t},\n\t\t\t\tname: this.props.name || this.props.path,\n\t\t\t\tdefaultValue: this.props.value,\n\t\t\t\tautoComplete: 'off',\n\t\t\t\tautoFocus: this.props.autoFocus\n\t\t\t})\n\t\t);\n\t}\n});\n\nmodule.exports = CodeMirror;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _scrollbar = require('./scrollbar');\n\nvar _scrollbar2 = _interopRequireDefault(_scrollbar);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _scrollbar2.default;\nmodule.exports = exports['default'];","/** @license React v16.10.2\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var h=require(\"object-assign\"),n=\"function\"===typeof Symbol&&Symbol.for,p=n?Symbol.for(\"react.element\"):60103,q=n?Symbol.for(\"react.portal\"):60106,r=n?Symbol.for(\"react.fragment\"):60107,t=n?Symbol.for(\"react.strict_mode\"):60108,u=n?Symbol.for(\"react.profiler\"):60114,v=n?Symbol.for(\"react.provider\"):60109,w=n?Symbol.for(\"react.context\"):60110,x=n?Symbol.for(\"react.forward_ref\"):60112,y=n?Symbol.for(\"react.suspense\"):60113,aa=n?Symbol.for(\"react.suspense_list\"):60120,ba=n?Symbol.for(\"react.memo\"):\n60115,ca=n?Symbol.for(\"react.lazy\"):60116;n&&Symbol.for(\"react.fundamental\");n&&Symbol.for(\"react.responder\");n&&Symbol.for(\"react.scope\");var z=\"function\"===typeof Symbol&&Symbol.iterator;\nfunction A(a){for(var b=a.message,c=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+b,d=1;dP.length&&P.push(a)}\nfunction S(a,b,c,d){var e=typeof a;if(\"undefined\"===e||\"boolean\"===e)a=null;var g=!1;if(null===a)g=!0;else switch(e){case \"string\":case \"number\":g=!0;break;case \"object\":switch(a.$$typeof){case p:case q:g=!0}}if(g)return c(d,a,\"\"===b?\".\"+T(a,0):b),1;g=0;b=\"\"===b?\".\":b+\":\";if(Array.isArray(a))for(var l=0;lb}return!1}function B(a,b,c,d,e,f){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f}var C={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){C[a]=new B(a,0,!1,a,null,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];C[b]=new B(b,1,!1,a[1],null,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){C[a]=new B(a,2,!1,a.toLowerCase(),null,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){C[a]=new B(a,2,!1,a,null,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){C[a]=new B(a,3,!1,a.toLowerCase(),null,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){C[a]=new B(a,3,!0,a,null,!1)});[\"capture\",\"download\"].forEach(function(a){C[a]=new B(a,4,!1,a,null,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){C[a]=new B(a,6,!1,a,null,!1)});[\"rowSpan\",\"start\"].forEach(function(a){C[a]=new B(a,5,!1,a.toLowerCase(),null,!1)});var rb=/[\\-:]([a-z])/g;function sb(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(rb,\nsb);C[b]=new B(b,1,!1,a,null,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(rb,sb);C[b]=new B(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(rb,sb);C[b]=new B(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){C[a]=new B(a,1,!1,a.toLowerCase(),null,!1)});\nC.xlinkHref=new B(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){C[a]=new B(a,1,!1,a.toLowerCase(),null,!0)});function tb(a){switch(typeof a){case \"boolean\":case \"number\":case \"object\":case \"string\":case \"undefined\":return a;default:return\"\"}}\nfunction ub(a,b,c,d){var e=C.hasOwnProperty(b)?C[b]:null;var f=null!==e?0===e.type:d?!1:!(2=b.length))throw t(Error(93));b=b[0]}c=b}null==c&&(c=\"\")}a._wrapperState={initialValue:tb(c)}}\nfunction Mb(a,b){var c=tb(b.value),d=tb(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function Nb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var Ob={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction Pb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function Qb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?Pb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar Rb,Sb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==Ob.svg||\"innerHTML\"in a)a.innerHTML=b;else{Rb=Rb||document.createElement(\"div\");Rb.innerHTML=\"\"+b.valueOf().toString()+\"\";for(b=Rb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction Tb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}function Ub(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var Vb={animationend:Ub(\"Animation\",\"AnimationEnd\"),animationiteration:Ub(\"Animation\",\"AnimationIteration\"),animationstart:Ub(\"Animation\",\"AnimationStart\"),transitionend:Ub(\"Transition\",\"TransitionEnd\")},Wb={},Xb={};\nXa&&(Xb=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete Vb.animationend.animation,delete Vb.animationiteration.animation,delete Vb.animationstart.animation),\"TransitionEvent\"in window||delete Vb.transitionend.transition);function Yb(a){if(Wb[a])return Wb[a];if(!Vb[a])return a;var b=Vb[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Xb)return Wb[a]=b[c];return a}\nvar Zb=Yb(\"animationend\"),$b=Yb(\"animationiteration\"),ac=Yb(\"animationstart\"),bc=Yb(\"transitionend\"),dc=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),ec=!1,fc=[],gc=null,hc=null,ic=null,jc=new Map,kc=new Map,lc=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput close cancel copy cut paste click change contextmenu reset submit\".split(\" \"),\nmc=\"focus blur dragenter dragleave mouseover mouseout pointerover pointerout gotpointercapture lostpointercapture\".split(\" \");function nc(a){var b=oc(a);lc.forEach(function(c){pc(c,a,b)});mc.forEach(function(c){pc(c,a,b)})}function qc(a,b,c,d){return{blockedOn:a,topLevelType:b,eventSystemFlags:c|32,nativeEvent:d}}\nfunction rc(a,b){switch(a){case \"focus\":case \"blur\":gc=null;break;case \"dragenter\":case \"dragleave\":hc=null;break;case \"mouseover\":case \"mouseout\":ic=null;break;case \"pointerover\":case \"pointerout\":jc.delete(b.pointerId);break;case \"gotpointercapture\":case \"lostpointercapture\":kc.delete(b.pointerId)}}function sc(a,b,c,d,e){if(null===a||a.nativeEvent!==e)return qc(b,c,d,e);a.eventSystemFlags|=d;return a}\nfunction tc(a,b,c,d){switch(b){case \"focus\":return gc=sc(gc,a,b,c,d),!0;case \"dragenter\":return hc=sc(hc,a,b,c,d),!0;case \"mouseover\":return ic=sc(ic,a,b,c,d),!0;case \"pointerover\":var e=d.pointerId;jc.set(e,sc(jc.get(e)||null,a,b,c,d));return!0;case \"gotpointercapture\":return e=d.pointerId,kc.set(e,sc(kc.get(e)||null,a,b,c,d)),!0}return!1}function uc(a){if(null!==a.blockedOn)return!1;var b=vc(a.topLevelType,a.eventSystemFlags,a.nativeEvent);return null!==b?(a.blockedOn=b,!1):!0}\nfunction wc(a,b,c){uc(a)&&c.delete(b)}function xc(){for(ec=!1;0this.eventPool.length&&this.eventPool.push(a)}function Oc(a){a.eventPool=[];a.getPooled=Pc;a.release=Qc}var Rc=F.extend({animationName:null,elapsedTime:null,pseudoElement:null}),Sc=F.extend({clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),Tc=F.extend({view:null,detail:null}),Uc=Tc.extend({relatedTarget:null});\nfunction Vc(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}\nvar Wc={Esc:\"Escape\",Spacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},Xc={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",\n116:\"F5\",117:\"F6\",118:\"F7\",119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},Yc={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Zc(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Yc[a])?!!b[a]:!1}function $c(){return Zc}\nvar ad=Tc.extend({key:function(a){if(a.key){var b=Wc[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=Vc(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?Xc[a.keyCode]||\"Unidentified\":\"\"},location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:$c,charCode:function(a){return\"keypress\"===a.type?Vc(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===\na.type?Vc(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),bd=0,cd=0,dd=!1,fd=!1,gd=Tc.extend({screenX:null,screenY:null,clientX:null,clientY:null,pageX:null,pageY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:$c,button:null,buttons:null,relatedTarget:function(a){return a.relatedTarget||(a.fromElement===a.srcElement?a.toElement:a.fromElement)},movementX:function(a){if(\"movementX\"in a)return a.movementX;var b=bd;bd=a.screenX;return dd?\"mousemove\"===a.type?a.screenX-\nb:0:(dd=!0,0)},movementY:function(a){if(\"movementY\"in a)return a.movementY;var b=cd;cd=a.screenY;return fd?\"mousemove\"===a.type?a.screenY-b:0:(fd=!0,0)}}),hd=gd.extend({pointerId:null,width:null,height:null,pressure:null,tangentialPressure:null,tiltX:null,tiltY:null,twist:null,pointerType:null,isPrimary:null}),id=gd.extend({dataTransfer:null}),jd=Tc.extend({touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:$c}),kd=F.extend({propertyName:null,\nelapsedTime:null,pseudoElement:null}),ld=gd.extend({deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in a?-a.wheelDeltaX:0},deltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:null,deltaMode:null}),md=[[\"blur\",\"blur\",0],[\"cancel\",\"cancel\",0],[\"click\",\"click\",0],[\"close\",\"close\",0],[\"contextmenu\",\"contextMenu\",0],[\"copy\",\"copy\",0],[\"cut\",\"cut\",0],[\"auxclick\",\"auxClick\",0],[\"dblclick\",\"doubleClick\",0],[\"dragend\",\"dragEnd\",\n0],[\"dragstart\",\"dragStart\",0],[\"drop\",\"drop\",0],[\"focus\",\"focus\",0],[\"input\",\"input\",0],[\"invalid\",\"invalid\",0],[\"keydown\",\"keyDown\",0],[\"keypress\",\"keyPress\",0],[\"keyup\",\"keyUp\",0],[\"mousedown\",\"mouseDown\",0],[\"mouseup\",\"mouseUp\",0],[\"paste\",\"paste\",0],[\"pause\",\"pause\",0],[\"play\",\"play\",0],[\"pointercancel\",\"pointerCancel\",0],[\"pointerdown\",\"pointerDown\",0],[\"pointerup\",\"pointerUp\",0],[\"ratechange\",\"rateChange\",0],[\"reset\",\"reset\",0],[\"seeked\",\"seeked\",0],[\"submit\",\"submit\",0],[\"touchcancel\",\"touchCancel\",\n0],[\"touchend\",\"touchEnd\",0],[\"touchstart\",\"touchStart\",0],[\"volumechange\",\"volumeChange\",0],[\"drag\",\"drag\",1],[\"dragenter\",\"dragEnter\",1],[\"dragexit\",\"dragExit\",1],[\"dragleave\",\"dragLeave\",1],[\"dragover\",\"dragOver\",1],[\"mousemove\",\"mouseMove\",1],[\"mouseout\",\"mouseOut\",1],[\"mouseover\",\"mouseOver\",1],[\"pointermove\",\"pointerMove\",1],[\"pointerout\",\"pointerOut\",1],[\"pointerover\",\"pointerOver\",1],[\"scroll\",\"scroll\",1],[\"toggle\",\"toggle\",1],[\"touchmove\",\"touchMove\",1],[\"wheel\",\"wheel\",1],[\"abort\",\"abort\",\n2],[Zb,\"animationEnd\",2],[$b,\"animationIteration\",2],[ac,\"animationStart\",2],[\"canplay\",\"canPlay\",2],[\"canplaythrough\",\"canPlayThrough\",2],[\"durationchange\",\"durationChange\",2],[\"emptied\",\"emptied\",2],[\"encrypted\",\"encrypted\",2],[\"ended\",\"ended\",2],[\"error\",\"error\",2],[\"gotpointercapture\",\"gotPointerCapture\",2],[\"load\",\"load\",2],[\"loadeddata\",\"loadedData\",2],[\"loadedmetadata\",\"loadedMetadata\",2],[\"loadstart\",\"loadStart\",2],[\"lostpointercapture\",\"lostPointerCapture\",2],[\"playing\",\"playing\",2],[\"progress\",\n\"progress\",2],[\"seeking\",\"seeking\",2],[\"stalled\",\"stalled\",2],[\"suspend\",\"suspend\",2],[\"timeupdate\",\"timeUpdate\",2],[bc,\"transitionEnd\",2],[\"waiting\",\"waiting\",2]],nd={},od={},pd=0;for(;pd=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Vd(c)}}\nfunction Xd(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Xd(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}function Yd(){for(var a=window,b=Ud();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Ud(a.document)}return b}\nfunction Zd(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}var $d=\"$\",ae=\"/$\",be=\"$?\",ce=\"$!\",de=null,ee=null;function fe(a,b){switch(a){case \"button\":case \"input\":case \"select\":case \"textarea\":return!!b.autoFocus}return!1}\nfunction ge(a,b){return\"textarea\"===a||\"option\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}var he=\"function\"===typeof setTimeout?setTimeout:void 0,ie=\"function\"===typeof clearTimeout?clearTimeout:void 0;function je(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break}return a}\nfunction ke(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(c===$d||c===ce||c===be){if(0===b)return a;b--}else c===ae&&b++}a=a.previousSibling}return null}var le=Math.random().toString(36).slice(2),me=\"__reactInternalInstance$\"+le,ne=\"__reactEventHandlers$\"+le,oe=\"__reactContainere$\"+le;\nfunction Cd(a){var b=a[me];if(b)return b;for(var c=a.parentNode;c;){if(b=c[oe]||c[me]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=ke(a);null!==a;){if(c=a[me])return c;a=ke(a)}return b}a=c;c=a.parentNode}return null}function pe(a){a=a[me]||a[oe];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function qe(a){if(5===a.tag||6===a.tag)return a.stateNode;throw t(Error(33));}function re(a){return a[ne]||null}var se=null,te=null,ue=null;\nfunction ve(){if(ue)return ue;var a,b=te,c=b.length,d,e=\"value\"in se?se.value:se.textContent,f=e.length;for(a=0;a=Ae),De=String.fromCharCode(32),Ee={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:\"blur compositionend keydown keypress keyup mousedown\".split(\" \")},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",\ncaptured:\"onCompositionStartCapture\"},dependencies:\"blur compositionstart keydown keypress keyup mousedown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"blur compositionupdate keydown keypress keyup mousedown\".split(\" \")}},Fe=!1;\nfunction Ge(a,b){switch(a){case \"keyup\":return-1!==ye.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"blur\":return!0;default:return!1}}function He(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var Ie=!1;function Je(a,b){switch(a){case \"compositionend\":return He(b);case \"keypress\":if(32!==b.which)return null;Fe=!0;return De;case \"textInput\":return a=b.data,a===De&&Fe?null:a;default:return null}}\nfunction Ke(a,b){if(Ie)return\"compositionend\"===a||!ze&&Ge(a,b)?(a=ve(),ue=te=se=null,Ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=document.documentMode,kf={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:\"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange\".split(\" \")}},lf=null,mf=null,nf=null,of=!1;\nfunction pf(a,b){var c=b.window===b?b.document:9===b.nodeType?b:b.ownerDocument;if(of||null==lf||lf!==Ud(c))return null;c=lf;\"selectionStart\"in c&&Zd(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset});return nf&&hf(nf,c)?null:(nf=c,a=F.getPooled(kf.select,mf,a,b),a.type=\"select\",a.target=lf,Lc(a),a)}\nvar qf={eventTypes:kf,extractEvents:function(a,b,c,d){var e=d.window===d?d.document:9===d.nodeType?d:d.ownerDocument,f;if(!(f=!e)){a:{e=oc(e);f=ja.onSelect;for(var g=0;gsf||(a.current=rf[sf],rf[sf]=null,sf--)}\nfunction I(a,b){sf++;rf[sf]=a.current;a.current=b}var tf={},J={current:tf},K={current:!1},uf=tf;function vf(a,b){var c=a.type.contextTypes;if(!c)return tf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function N(a){a=a.childContextTypes;return null!==a&&void 0!==a}\nfunction wf(a){H(K,a);H(J,a)}function xf(a){H(K,a);H(J,a)}function zf(a,b,c){if(J.current!==tf)throw t(Error(168));I(J,b,a);I(K,c,a)}function Af(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw t(Error(108),Va(b)||\"Unknown\",e);return n({},c,{},d)}function Bf(a){var b=a.stateNode;b=b&&b.__reactInternalMemoizedMergedChildContext||tf;uf=J.current;I(J,b,a);I(K,K.current,a);return!0}\nfunction Cf(a,b,c){var d=a.stateNode;if(!d)throw t(Error(169));c?(b=Af(a,b,uf),d.__reactInternalMemoizedMergedChildContext=b,H(K,a),H(J,a),I(J,b,a)):H(K,a);I(K,c,a)}\nvar Df=r.unstable_runWithPriority,Ef=r.unstable_scheduleCallback,Ff=r.unstable_cancelCallback,Gf=r.unstable_shouldYield,Hf=r.unstable_requestPaint,If=r.unstable_now,Jf=r.unstable_getCurrentPriorityLevel,Kf=r.unstable_ImmediatePriority,Lf=r.unstable_UserBlockingPriority,Mf=r.unstable_NormalPriority,Nf=r.unstable_LowPriority,Of=r.unstable_IdlePriority,Pf={},Qf=void 0!==Hf?Hf:function(){},Rf=null,Sf=null,Tf=!1,Uf=If(),Vf=1E4>Uf?If:function(){return If()-Uf};\nfunction Wf(){switch(Jf()){case Kf:return 99;case Lf:return 98;case Mf:return 97;case Nf:return 96;case Of:return 95;default:throw t(Error(332));}}function Xf(a){switch(a){case 99:return Kf;case 98:return Lf;case 97:return Mf;case 96:return Nf;case 95:return Of;default:throw t(Error(332));}}function Yf(a,b){a=Xf(a);return Df(a,b)}function Zf(a,b,c){a=Xf(a);return Ef(a,b,c)}function $f(a){null===Rf?(Rf=[a],Sf=Ef(Kf,ag)):Rf.push(a);return Pf}function bg(){if(null!==Sf){var a=Sf;Sf=null;Ff(a)}ag()}\nfunction ag(){if(!Tf&&null!==Rf){Tf=!0;var a=0;try{var b=Rf;Yf(99,function(){for(;a=b&&(mg=!0),a.firstContext=null)}\nfunction ng(a,b){if(gg!==a&&!1!==b&&0!==b){if(\"number\"!==typeof b||1073741823===b)gg=a,b=1073741823;b={context:a,observedBits:b,next:null};if(null===fg){if(null===eg)throw t(Error(308));fg=b;eg.dependencies={expirationTime:0,firstContext:b,responders:null}}else fg=fg.next=b}return a._currentValue}var og=!1;\nfunction pg(a){return{baseState:a,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function qg(a){return{baseState:a.baseState,firstUpdate:a.firstUpdate,lastUpdate:a.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}\nfunction rg(a,b){return{expirationTime:a,suspenseConfig:b,tag:0,payload:null,callback:null,next:null,nextEffect:null}}function sg(a,b){null===a.lastUpdate?a.firstUpdate=a.lastUpdate=b:(a.lastUpdate.next=b,a.lastUpdate=b)}\nfunction tg(a,b){var c=a.alternate;if(null===c){var d=a.updateQueue;var e=null;null===d&&(d=a.updateQueue=pg(a.memoizedState))}else d=a.updateQueue,e=c.updateQueue,null===d?null===e?(d=a.updateQueue=pg(a.memoizedState),e=c.updateQueue=pg(c.memoizedState)):d=a.updateQueue=qg(e):null===e&&(e=c.updateQueue=qg(d));null===e||d===e?sg(d,b):null===d.lastUpdate||null===e.lastUpdate?(sg(d,b),sg(e,b)):(sg(d,b),e.lastUpdate=b)}\nfunction ug(a,b){var c=a.updateQueue;c=null===c?a.updateQueue=pg(a.memoizedState):vg(a,c);null===c.lastCapturedUpdate?c.firstCapturedUpdate=c.lastCapturedUpdate=b:(c.lastCapturedUpdate.next=b,c.lastCapturedUpdate=b)}function vg(a,b){var c=a.alternate;null!==c&&b===c.updateQueue&&(b=a.updateQueue=qg(b));return b}\nfunction wg(a,b,c,d,e,f){switch(c.tag){case 1:return a=c.payload,\"function\"===typeof a?a.call(f,d,e):a;case 3:a.effectTag=a.effectTag&-4097|64;case 0:a=c.payload;e=\"function\"===typeof a?a.call(f,d,e):a;if(null===e||void 0===e)break;return n({},d,e);case 2:og=!0}return d}\nfunction xg(a,b,c,d,e){og=!1;b=vg(a,b);for(var f=b.baseState,g=null,h=0,k=b.firstUpdate,l=f;null!==k;){var m=k.expirationTime;my?(z=q,q=null):z=q.sibling;var p=w(e,q,h[y],k);if(null===p){null===q&&(q=z);break}a&&\nq&&null===p.alternate&&b(e,q);g=f(p,g,y);null===m?l=p:m.sibling=p;m=p;q=z}if(y===h.length)return c(e,q),l;if(null===q){for(;yy?(z=q,q=null):z=q.sibling;var M=w(e,q,p.value,k);if(null===M){null===q&&(q=z);break}a&&q&&null===M.alternate&&b(e,q);g=f(M,g,y);null===m?l=M:m.sibling=M;m=M;q=z}if(p.done)return c(e,q),l;if(null===q){for(;!p.done;y++,p=h.next())p=A(e,p.value,k),null!==p&&(g=f(p,g,y),null===m?l=p:m.sibling=p,m=p);return l}for(q=d(e,q);!p.done;y++,p=h.next())p=L(q,e,y,p.value,k),null!==p&&(a&&null!==\np.alternate&&q.delete(null===p.key?y:p.key),g=f(p,g,y),null===m?l=p:m.sibling=p,m=p);a&&q.forEach(function(a){return b(e,a)});return l}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===Ha&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case Fa:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){if(7===k.tag?f.type===Ha:k.elementType===f.type){c(a,k.sibling);d=e(k,f.type===Ha?f.props.children:f.props,h);d.ref=Og(a,k,f);d.return=a;a=d;break a}c(a,\nk);break}else b(a,k);k=k.sibling}f.type===Ha?(d=Vg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Tg(f.type,f.key,f.props,null,a.mode,h),h.ref=Og(a,d,f),h.return=a,a=h)}return g(a);case Ga:a:{for(k=f.key;null!==d;){if(d.key===k){if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[],h);d.return=a;a=d;break a}c(a,d);break}else b(a,d);d=d.sibling}d=Ug(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\n\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f,h),d.return=a,a=d):(c(a,d),d=Sg(f,a.mode,h),d.return=a,a=d),g(a);if(Ng(f))return wb(a,d,f,h);if(Ta(f))return M(a,d,f,h);l&&Pg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 0:throw a=a.type,t(Error(152),a.displayName||a.name||\"Component\");}return c(a,d)}}var Wg=Qg(!0),Xg=Qg(!1),Yg={},Zg={current:Yg},$g={current:Yg},ah={current:Yg};function bh(a){if(a===Yg)throw t(Error(174));return a}\nfunction ch(a,b){I(ah,b,a);I($g,a,a);I(Zg,Yg,a);var c=b.nodeType;switch(c){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:Qb(null,\"\");break;default:c=8===c?b.parentNode:b,b=c.namespaceURI||null,c=c.tagName,b=Qb(b,c)}H(Zg,a);I(Zg,b,a)}function dh(a){H(Zg,a);H($g,a);H(ah,a)}function eh(a){bh(ah.current);var b=bh(Zg.current);var c=Qb(b,a.type);b!==c&&(I($g,a,a),I(Zg,c,a))}function fh(a){$g.current===a&&(H(Zg,a),H($g,a))}var O={current:0};\nfunction gh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||c.data===be||c.data===ce))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if((b.effectTag&64)!==D)return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}function hh(a,b){return{responder:a,props:b}}\nvar ih=Da.ReactCurrentDispatcher,jh=0,kh=null,P=null,lh=null,mh=null,Q=null,nh=null,oh=0,ph=null,qh=0,rh=!1,sh=null,th=0;function uh(){throw t(Error(321));}function vh(a,b){if(null===b)return!1;for(var c=0;coh&&(oh=m,zg(oh))):(yg(m,k.suspenseConfig),f=k.eagerReducer===a?k.eagerState:a(f,k.action));g=k;k=k.next}while(null!==k&&k!==d);l||(h=g,e=f);ff(f,b.memoizedState)||(mg=!0);b.memoizedState=f;b.baseUpdate=h;b.baseState=e;c.lastRenderedState=f}return[b.memoizedState,c.dispatch]}\nfunction Ih(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};null===ph?(ph={lastEffect:null},ph.lastEffect=a.next=a):(b=ph.lastEffect,null===b?ph.lastEffect=a.next=a:(c=b.next,b.next=a,a.next=c,ph.lastEffect=a));return a}function Jh(a,b,c,d){var e=Eh();qh|=a;e.memoizedState=Ih(b,c,void 0,void 0===d?null:d)}\nfunction Kh(a,b,c,d){var e=Fh();d=void 0===d?null:d;var f=void 0;if(null!==P){var g=P.memoizedState;f=g.destroy;if(null!==d&&vh(d,g.deps)){Ih(0,c,f,d);return}}qh|=a;e.memoizedState=Ih(b,c,f,d)}function Lh(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function Mh(){}\nfunction Nh(a,b,c){if(!(25>th))throw t(Error(301));var d=a.alternate;if(a===kh||null!==d&&d===kh)if(rh=!0,a={expirationTime:jh,suspenseConfig:null,action:c,eagerReducer:null,eagerState:null,next:null},null===sh&&(sh=new Map),c=sh.get(b),void 0===c)sh.set(b,a);else{for(b=c;null!==b.next;)b=b.next;b.next=a}else{var e=Fg(),f=Cg.suspense;e=Gg(e,a,f);f={expirationTime:e,suspenseConfig:f,action:c,eagerReducer:null,eagerState:null,next:null};var g=b.last;if(null===g)f.next=f;else{var h=g.next;null!==h&&\n(f.next=h);g.next=f}b.last=f;if(0===a.expirationTime&&(null===d||0===d.expirationTime)&&(d=b.lastRenderedReducer,null!==d))try{var k=b.lastRenderedState,l=d(k,c);f.eagerReducer=d;f.eagerState=l;if(ff(l,k))return}catch(m){}finally{}Hg(a,e)}}\nvar zh={readContext:ng,useCallback:uh,useContext:uh,useEffect:uh,useImperativeHandle:uh,useLayoutEffect:uh,useMemo:uh,useReducer:uh,useRef:uh,useState:uh,useDebugValue:uh,useResponder:uh},xh={readContext:ng,useCallback:function(a,b){Eh().memoizedState=[a,void 0===b?null:b];return a},useContext:ng,useEffect:function(a,b){return Jh(516,192,a,b)},useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Jh(4,36,Lh.bind(null,b,a),c)},useLayoutEffect:function(a,b){return Jh(4,\n36,a,b)},useMemo:function(a,b){var c=Eh();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=Eh();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a=d.queue={last:null,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};a=a.dispatch=Nh.bind(null,kh,a);return[d.memoizedState,a]},useRef:function(a){var b=Eh();a={current:a};return b.memoizedState=a},useState:function(a){var b=Eh();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={last:null,\ndispatch:null,lastRenderedReducer:Gh,lastRenderedState:a};a=a.dispatch=Nh.bind(null,kh,a);return[b.memoizedState,a]},useDebugValue:Mh,useResponder:hh},yh={readContext:ng,useCallback:function(a,b){var c=Fh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&vh(b,d[1]))return d[0];c.memoizedState=[a,b];return a},useContext:ng,useEffect:function(a,b){return Kh(516,192,a,b)},useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Kh(4,36,Lh.bind(null,b,a),c)},\nuseLayoutEffect:function(a,b){return Kh(4,36,a,b)},useMemo:function(a,b){var c=Fh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&vh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a},useReducer:Hh,useRef:function(){return Fh().memoizedState},useState:function(a){return Hh(Gh,a)},useDebugValue:Mh,useResponder:hh},Oh=null,Ph=null,Qh=!1;\nfunction Rh(a,b){var c=Sh(5,null,null,0);c.elementType=\"DELETED\";c.type=\"DELETED\";c.stateNode=b;c.return=a;c.effectTag=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}function Th(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}}\nfunction Uh(a){if(Qh){var b=Ph;if(b){var c=b;if(!Th(a,b)){b=je(c.nextSibling);if(!b||!Th(a,b)){a.effectTag=a.effectTag&~Ac|E;Qh=!1;Oh=a;return}Rh(Oh,c)}Oh=a;Ph=je(b.firstChild)}else a.effectTag=a.effectTag&~Ac|E,Qh=!1,Oh=a}}function Vh(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;Oh=a}\nfunction Wh(a){if(a!==Oh)return!1;if(!Qh)return Vh(a),Qh=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!ge(b,a.memoizedProps))for(b=Ph;b;)Rh(a,b),b=je(b.nextSibling);Vh(a);if(13===a.tag)if(a=a.memoizedState,a=null!==a?a.dehydrated:null,null===a)a=Ph;else a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(c===ae){if(0===b){a=je(a.nextSibling);break a}b--}else c!==$d&&c!==ce&&c!==be||b++}a=a.nextSibling}a=null}else a=Oh?je(a.stateNode.nextSibling):null;Ph=a;return!0}\nfunction Xh(){Ph=Oh=null;Qh=!1}var Yh=Da.ReactCurrentOwner,mg=!1;function R(a,b,c,d){b.child=null===a?Xg(b,null,c,d):Wg(b,a.child,c,d)}function Zh(a,b,c,d,e){c=c.render;var f=b.ref;lg(b,e);d=wh(a,b,c,d,f,e);if(null!==a&&!mg)return b.updateQueue=a.updateQueue,b.effectTag&=-517,a.expirationTime<=e&&(a.expirationTime=0),$h(a,b,e);b.effectTag|=1;R(a,b,d,e);return b.child}\nfunction ai(a,b,c,d,e,f){if(null===a){var g=c.type;if(\"function\"===typeof g&&!bi(g)&&void 0===g.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=g,ci(a,b,g,d,e,f);a=Tg(c.type,null,d,null,b.mode,f);a.ref=b.ref;a.return=b;return b.child=a}g=a.child;if(eb)&&rj.set(a,b)))}}\nfunction wj(a,b){a.expirationTimea?b:a}\nfunction Z(a){if(0!==a.lastExpiredTime)a.callbackExpirationTime=1073741823,a.callbackPriority=99,a.callbackNode=$f(xj.bind(null,a));else{var b=Aj(a),c=a.callbackNode;if(0===b)null!==c&&(a.callbackNode=null,a.callbackExpirationTime=0,a.callbackPriority=90);else{var d=Fg();1073741823===b?d=99:1===b||2===b?d=95:(d=10*(1073741821-b)-10*(1073741821-d),d=0>=d?99:250>=d?98:5250>=d?97:95);if(null!==c){var e=a.callbackPriority;if(a.callbackExpirationTime===b&&e>=d)return;c!==Pf&&Ff(c)}a.callbackExpirationTime=\nb;a.callbackPriority=d;b=1073741823===b?$f(xj.bind(null,a)):Zf(d,Cj.bind(null,a),{timeout:10*(1073741821-b)-Vf()});a.callbackNode=b}}}\nfunction Cj(a,b){uj=0;if(b)return b=Fg(),Dj(a,b),Z(a),null;var c=Aj(a);if(0!==c){b=a.callbackNode;if((T&(Zi|$i))!==S)throw t(Error(327));Ej();a===U&&c===W||Fj(a,c);if(null!==V){var d=T;T|=Zi;var e=Gj(a);do try{Hj();break}catch(h){Ij(a,h)}while(1);hg();T=d;Wi.current=e;if(X===bj)throw b=hj,Fj(a,c),yj(a,c),Z(a),b;if(null===V)switch(e=a.finishedWork=a.current.alternate,a.finishedExpirationTime=c,Jj(a,c),d=X,U=null,d){case aj:case bj:throw t(Error(345));case cj:if(2!==c){Dj(a,2);break}Kj(a);break;case dj:yj(a,\nc);d=a.lastSuspendedTime;c===d&&(a.nextKnownPendingLevel=Lj(e));if(1073741823===ij&&(e=Mi+nj-Vf(),10=c){a.lastPingedTime=c;Fj(a,c);break}}f=Aj(a);if(0!==f&&f!==c)break;if(0!==d&&d!==c){a.lastPingedTime=d;break}a.timeoutHandle=he(Kj.bind(null,a),e);break}Kj(a);break;case ej:yj(a,c);d=a.lastSuspendedTime;c===d&&(a.nextKnownPendingLevel=Lj(e));if(mj&&(e=a.lastPingedTime,0===e||e>=c)){a.lastPingedTime=c;Fj(a,c);break}e=Aj(a);if(0!==e&&e!==c)break;if(0!==\nd&&d!==c){a.lastPingedTime=d;break}1073741823!==jj?d=10*(1073741821-jj)-Vf():1073741823===ij?d=0:(d=10*(1073741821-ij)-5E3,e=Vf(),c=10*(1073741821-c)-e,d=e-d,0>d&&(d=0),d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*Vi(d/1960))-d,c=d?d=0:(e=g.busyDelayMs|0,f=Vf()-(10*(1073741821-f)-(g.timeoutMs|0||5E3)),d=f<=e?0:e+d-f);\nif(10=b&&(Zf(97,function(){c._onComplete();return null}),X=gj)}function Oj(){if(null!==rj){var a=rj;rj=null;a.forEach(function(a,c){Dj(c,a);Z(c)});bg()}}function Pj(a,b){var c=T;T|=1;try{return a(b)}finally{T=c,T===S&&bg()}}function Qj(a,b,c,d){var e=T;T|=4;try{return Yf(98,a.bind(null,b,c,d))}finally{T=e,T===S&&bg()}}\nfunction Rj(a,b){var c=T;T&=-2;T|=Yi;try{return a(b)}finally{T=c,T===S&&bg()}}\nfunction Fj(a,b){a.finishedWork=null;a.finishedExpirationTime=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,ie(c));if(null!==V)for(c=V.return;null!==c;){var d=c;switch(d.tag){case 1:var e=d.type.childContextTypes;null!==e&&void 0!==e&&wf(d);break;case 3:dh(d);xf(d);break;case 5:fh(d);break;case 4:dh(d);break;case 13:H(O,d);break;case 19:H(O,d);break;case 10:jg(d)}c=c.return}U=a;V=Rg(a.current,null,b);W=b;X=aj;hj=null;jj=ij=1073741823;kj=null;lj=0;mj=!1}\nfunction Ij(a,b){do{try{hg();Ah();if(null===V||null===V.return)return X=bj,hj=b,null;a:{var c=a,d=V.return,e=V,f=b;b=W;e.effectTag|=2048;e.firstEffect=e.lastEffect=null;if(null!==f&&\"object\"===typeof f&&\"function\"===typeof f.then){var g=f,h=0!==(O.current&1),k=d;do{var l;if(l=13===k.tag){var m=k.memoizedState;if(null!==m)l=null!==m.dehydrated?!0:!1;else{var A=k.memoizedProps;l=void 0===A.fallback?!1:!0!==A.unstable_avoidThisFallback?!0:h?!1:!0}}if(l){var w=k.updateQueue;if(null===w){var L=new Set;\nL.add(g);k.updateQueue=L}else w.add(g);if(0===(k.mode&2)){k.effectTag|=64;e.effectTag&=-2981;if(1===e.tag)if(null===e.alternate)e.tag=17;else{var wb=rg(1073741823,null);wb.tag=2;tg(e,wb)}e.expirationTime=1073741823;break a}f=void 0;e=b;var M=c.pingCache;null===M?(M=c.pingCache=new Pi,f=new Set,M.set(g,f)):(f=M.get(g),void 0===f&&(f=new Set,M.set(g,f)));if(!f.has(e)){f.add(e);var q=Sj.bind(null,c,g,e);g.then(q,q)}k.effectTag|=4096;k.expirationTime=b;break a}k=k.return}while(null!==k);f=Error((Va(e.type)||\n\"A React component\")+\" suspended while rendering, but no fallback UI was specified.\\n\\nAdd a component higher in the tree to provide a loading indicator or placeholder to display.\"+Wa(e))}X!==fj&&(X=cj);f=ti(f,e);k=d;do{switch(k.tag){case 3:g=f;k.effectTag|=4096;k.expirationTime=b;var y=Qi(k,g,b);ug(k,y);break a;case 1:g=f;var z=k.type,p=k.stateNode;if((k.effectTag&64)===D&&(\"function\"===typeof z.getDerivedStateFromError||null!==p&&\"function\"===typeof p.componentDidCatch&&\n(null===Ui||!Ui.has(p)))){k.effectTag|=4096;k.expirationTime=b;var u=Ti(k,g,b);ug(k,u);break a}}k=k.return}while(null!==k)}V=Tj(V)}catch(v){b=v;continue}break}while(1)}function Gj(){var a=Wi.current;Wi.current=zh;return null===a?zh:a}function yg(a,b){alj&&(lj=a)}function Mj(){for(;null!==V;)V=Uj(V)}function Hj(){for(;null!==V&&!Gf();)V=Uj(V)}\nfunction Uj(a){var b=Vj(a.alternate,a,W);a.memoizedProps=a.pendingProps;null===b&&(b=Tj(a));Xi.current=null;return b}\nfunction Tj(a){V=a;do{var b=V.alternate;a=V.return;if((V.effectTag&2048)===D){a:{var c=b;b=V;var d=W,e=b.pendingProps;switch(b.tag){case 2:break;case 16:break;case 15:case 0:break;case 1:N(b.type)&&wf(b);break;case 3:dh(b);xf(b);d=b.stateNode;d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null);(null===c||null===c.child)&&Wh(b)&&mi(b);oi(b);break;case 5:fh(b);d=bh(ah.current);var f=b.type;if(null!==c&&null!=b.stateNode)pi(c,b,f,e,d),c.ref!==b.ref&&(b.effectTag|=128);else if(e){var g=\nbh(Zg.current);if(Wh(b)){e=b;f=void 0;c=e.stateNode;var h=e.type,k=e.memoizedProps;c[me]=e;c[ne]=k;switch(h){case \"iframe\":case \"object\":case \"embed\":G(\"load\",c);break;case \"video\":case \"audio\":for(var l=0;l\\x3c/script>\",l=k.removeChild(k.firstChild)):\"string\"===typeof c.is?l=l.createElement(k,{is:c.is}):(l=l.createElement(k),\"select\"===k&&(k=l,c.multiple?k.multiple=!0:c.size&&(k.size=c.size))):l=l.createElementNS(g,k);k=l;k[me]=h;k[ne]=c;c=k;ni(c,b,!1,!1);b.stateNode=c;g=d;var m=Rd(f,e);switch(f){case \"iframe\":case \"object\":case \"embed\":G(\"load\",\nc);d=e;break;case \"video\":case \"audio\":for(d=0;de.tailExpiration&&1e&&(e=c),h>e&&(e=h),f=f.sibling;d.childExpirationTime=e}if(null!==b)return b;null!==a&&(a.effectTag&2048)===D&&(null===a.firstEffect&&(a.firstEffect=V.firstEffect),null!==V.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=V.firstEffect),a.lastEffect=V.lastEffect),1a?b:a}function Kj(a){var b=Wf();Yf(99,Wj.bind(null,a,b));return null}\nfunction Wj(a,b){Ej();if((T&(Zi|$i))!==S)throw t(Error(327));var c=a.finishedWork,d=a.finishedExpirationTime;if(null===c)return null;a.finishedWork=null;a.finishedExpirationTime=0;if(c===a.current)throw t(Error(177));a.callbackNode=null;a.callbackExpirationTime=0;a.callbackPriority=90;a.nextKnownPendingLevel=0;var e=Lj(c);a.firstPendingTime=e;d<=a.lastSuspendedTime?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:d<=a.firstSuspendedTime&&(a.firstSuspendedTime=d-1);d<=a.lastPingedTime&&\n(a.lastPingedTime=0);d<=a.lastExpiredTime&&(a.lastExpiredTime=0);a===U&&(V=U=null,W=0);1h&&(l=h,h=g,g=l),l=Wd(p,g),m=Wd(p,h),l&&m&&(1!==v.rangeCount||v.anchorNode!==l.node||v.anchorOffset!==l.offset||v.focusNode!==m.node||v.focusOffset!==m.offset)&&(u=u.createRange(),u.setStart(l.node,l.offset),v.removeAllRanges(),g>h?(v.addRange(u),v.extend(m.node,m.offset)):(u.setEnd(m.node,m.offset),v.addRange(u))))));u=[];for(v=p;v=v.parentNode;)1===v.nodeType&&u.push({element:v,left:v.scrollLeft,top:v.scrollTop});\"function\"===\ntypeof p.focus&&p.focus();for(p=0;p=c)return ji(a,b,c);I(O,O.current&\n1,b);b=$h(a,b,c);return null!==b?b.sibling:null}I(O,O.current&1,b);break;case 19:d=b.childExpirationTime>=c;if((a.effectTag&64)!==D){if(d)return li(a,b,c);b.effectTag|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null);I(O,O.current,b);if(!d)return null}return $h(a,b,c)}mg=!1}}else mg=!1;b.expirationTime=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=E);a=b.pendingProps;e=vf(b,J.current);lg(b,c);e=wh(null,b,d,a,e,c);b.effectTag|=1;if(\"object\"===\ntypeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;Ah();if(N(d)){var f=!0;Bf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Eg(b,d,g,a);e.updater=Ig;b.stateNode=e;e._reactInternalFiber=b;Mg(b,d,a,c);b=gi(null,b,d,!0,f,c)}else b.tag=0,R(null,b,e,c),b=b.child;return b;case 16:e=b.elementType;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=E);a=b.pendingProps;Ua(e);if(1!==e._status)throw e._result;\ne=e._result;b.type=e;f=b.tag=ck(e);a=cg(e,a);switch(f){case 0:b=di(null,b,e,a,c);break;case 1:b=fi(null,b,e,a,c);break;case 11:b=Zh(null,b,e,a,c);break;case 14:b=ai(null,b,e,cg(e.type,a),d,c);break;default:throw t(Error(306),e,\"\");}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:cg(d,e),di(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:cg(d,e),fi(a,b,d,e,c);case 3:hi(b);d=b.updateQueue;if(null===d)throw t(Error(282));e=b.memoizedState;e=null!==e?e.element:\nnull;xg(b,d,b.pendingProps,null,c);d=b.memoizedState.element;if(d===e)Xh(),b=$h(a,b,c);else{if(e=b.stateNode.hydrate)Ph=je(b.stateNode.containerInfo.firstChild),Oh=b,e=Qh=!0;if(e)for(c=Xg(b,null,d,c),b.child=c;c;)c.effectTag=c.effectTag&~E|Ac,c=c.sibling;else R(a,b,d,c),Xh();b=b.child}return b;case 5:return eh(b),null===a&&Uh(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,ge(d,e)?g=null:null!==f&&ge(d,f)&&(b.effectTag|=16),ei(a,b),b.mode&4&&1!==c&&e.hidden?(b.expirationTime=\nb.childExpirationTime=1,b=null):(R(a,b,g,c),b=b.child),b;case 6:return null===a&&Uh(b),null;case 13:return ji(a,b,c);case 4:return ch(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Wg(b,null,d,c):R(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:cg(d,e),Zh(a,b,d,e,c);case 7:return R(a,b,b.pendingProps,c),b.child;case 8:return R(a,b,b.pendingProps.children,c),b.child;case 12:return R(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;\ne=b.pendingProps;g=b.memoizedProps;f=e.value;ig(b,f);if(null!==g){var h=g.value;f=ff(h,f)?0:(\"function\"===typeof d._calculateChangedBits?d._calculateChangedBits(h,f):1073741823)|0;if(0===f){if(g.children===e.children&&!K.current){b=$h(a,b,c);break a}}else for(h=b.child,null!==h&&(h.return=b);null!==h;){var k=h.dependencies;if(null!==k){g=h.child;for(var l=k.firstContext;null!==l;){if(l.context===d&&0!==(l.observedBits&f)){1===h.tag&&(l=rg(c,null),l.tag=2,tg(h,l));h.expirationTime=b&&a<=b}function yj(a,b){var c=a.firstSuspendedTime,d=a.lastSuspendedTime;cb||0===c)a.lastSuspendedTime=b;b<=a.lastPingedTime&&(a.lastPingedTime=0);b<=a.lastExpiredTime&&(a.lastExpiredTime=0)}\nfunction zj(a,b){b>a.firstPendingTime&&(a.firstPendingTime=b);var c=a.firstSuspendedTime;0!==c&&(b>=c?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:b>=a.lastSuspendedTime&&(a.lastSuspendedTime=b+1),b>a.nextKnownPendingLevel&&(a.nextKnownPendingLevel=b))}function Dj(a,b){var c=a.lastExpiredTime;if(0===c||c>b)a.lastExpiredTime=b}\nfunction gk(a,b,c,d,e,f){var g=b.current;a:if(c){c=c._reactInternalFiber;b:{if(Bc(c)!==c||1!==c.tag)throw t(Error(170));var h=c;do{switch(h.tag){case 3:h=h.stateNode.context;break b;case 1:if(N(h.type)){h=h.stateNode.__reactInternalMemoizedMergedChildContext;break b}}h=h.return}while(null!==h);throw t(Error(171));}if(1===c.tag){var k=c.type;if(N(k)){c=Af(c,k,h);break a}}c=h}else c=tf;null===b.context?b.context=c:b.pendingContext=c;b=f;e=rg(d,e);e.payload={element:a};b=void 0===b?null:b;null!==b&&\n(e.callback=b);tg(g,e);Hg(g,d);return d}function hk(a,b,c,d){var e=b.current,f=Fg(),g=Cg.suspense;e=Gg(f,e,g);return gk(a,b,c,e,g,d)}function ik(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function jk(a,b,c){var d=3=b;)c=d,d=d._next;a._next=d;null!==c&&(c._next=a)}return a};function qk(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}db=Pj;eb=Qj;fb=Nj;gb=function(a,b){var c=T;T|=2;try{return a(b)}finally{T=c,T===S&&bg()}};\nfunction rk(a,b){b||(b=a?9===a.nodeType?a.documentElement:a.firstChild:null,b=!(!b||1!==b.nodeType||!b.hasAttribute(\"data-reactroot\")));if(!b)for(var c;c=a.lastChild;)a.removeChild(c);return new nk(a,0,b?{hydrate:!0}:void 0)}\nfunction sk(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f._internalRoot;if(\"function\"===typeof e){var h=e;e=function(){var a=ik(g);h.call(a)}}hk(b,g,a,e)}else{f=c._reactRootContainer=rk(c,d);g=f._internalRoot;if(\"function\"===typeof e){var k=e;e=function(){var a=ik(g);k.call(a)}}Rj(function(){hk(b,g,a,e)})}return ik(g)}function tk(a,b){var c=2=H};l=function(){};exports.unstable_forceFrameRate=function(a){0>a||125L(n,c))void 0!==r&&0>L(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>L(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function L(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var O=[],P=[],Q=1,R=null,S=3,T=!1,U=!1,V=!1;\nfunction W(a){for(var b=M(P);null!==b;){if(null===b.callback)N(P);else if(b.startTime<=a)N(P),b.sortIndex=b.expirationTime,K(O,b);else break;b=M(P)}}function X(a){V=!1;W(a);if(!U)if(null!==M(O))U=!0,f(Y);else{var b=M(P);null!==b&&g(X,b.startTime-a)}}\nfunction Y(a,b){U=!1;V&&(V=!1,h());T=!0;var c=S;try{W(b);for(R=M(O);null!==R&&(!(R.expirationTime>b)||a&&!k());){var d=R.callback;if(null!==d){R.callback=null;S=R.priorityLevel;var e=d(R.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?R.callback=e:R===M(O)&&N(O);W(b)}else N(O);R=M(O)}if(null!==R)var m=!0;else{var n=M(P);null!==n&&g(X,n.startTime-b);m=!1}return m}finally{R=null,S=c,T=!1}}\nfunction Z(a){switch(a){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1E4;default:return 5E3}}var aa=l;exports.unstable_ImmediatePriority=1;exports.unstable_UserBlockingPriority=2;exports.unstable_NormalPriority=3;exports.unstable_IdlePriority=5;exports.unstable_LowPriority=4;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=S;S=a;try{return b()}finally{S=c}};\nexports.unstable_next=function(a){switch(S){case 1:case 2:case 3:var b=3;break;default:b=S}var c=S;S=b;try{return a()}finally{S=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();if(\"object\"===typeof c&&null!==c){var e=c.delay;e=\"number\"===typeof e&&0d?(a.sortIndex=e,K(P,a),null===M(O)&&a===M(P)&&(V?h():V=!0,g(X,e-d))):(a.sortIndex=c,K(O,a),U||T||(U=!0,f(Y)));return a};exports.unstable_cancelCallback=function(a){a.callback=null};\nexports.unstable_wrapCallback=function(a){var b=S;return function(){var c=S;S=b;try{return a.apply(this,arguments)}finally{S=c}}};exports.unstable_getCurrentPriorityLevel=function(){return S};exports.unstable_shouldYield=function(){var a=exports.unstable_now();W(a);var b=M(O);return b!==R&&null!==R&&null!==b&&null!==b.callback&&b.startTime<=a&&b.expirationTime result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","module.exports = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n","var scope = (typeof global !== \"undefined\" && global) ||\n (typeof self !== \"undefined\" && self) ||\n window;\nvar apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n this._clearFn.call(scope, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n clearTimeout(item._idleTimeoutId);\n\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\n\n// setimmediate attaches itself to the global object\nrequire(\"setimmediate\");\n// On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\nexports.setImmediate = (typeof self !== \"undefined\" && self.setImmediate) ||\n (typeof global !== \"undefined\" && global.setImmediate) ||\n (this && this.setImmediate);\nexports.clearImmediate = (typeof self !== \"undefined\" && self.clearImmediate) ||\n (typeof global !== \"undefined\" && global.clearImmediate) ||\n (this && this.clearImmediate);\n","(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n }\n // Copy function arguments\n var args = new Array(arguments.length - 1);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n }\n // Store and register the task\n var task = { callback: callback, args: args };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n switch (args.length) {\n case 0:\n callback();\n break;\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function(handle) {\n process.nextTick(function () { runIfPresent(handle); });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function() {\n postMessageIsAsynchronous = false;\n };\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n var onGlobalMessage = function(event) {\n if (event.source === global &&\n typeof event.data === \"string\" &&\n event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function(event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n registerImmediate = function(handle) {\n // Create a \ No newline at end of file +Vesta
    \ No newline at end of file diff --git a/web/static/js/main.a9be926e.chunk.js b/web/static/js/main.a9be926e.chunk.js new file mode 100644 index 000000000..65a7b4b0a --- /dev/null +++ b/web/static/js/main.a9be926e.chunk.js @@ -0,0 +1,2 @@ +(this["webpackJsonpreact-control-panel"]=this["webpackJsonpreact-control-panel"]||[]).push([[0],Array(48).concat([function(e,t,a){},,,,,,,,,,,,,,,,,function(e,t,a){},,,,,,function(e,t,a){},,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,a){e.exports=a(302)},,,,,,,,,function(e,t,a){},,function(e,t,a){},function(e,t,a){},function(e,t,a){},,,,function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},,function(e,t,a){},,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,a){},,,,,,function(e,t,a){},function(e,t,a){},,,,,function(e,t,a){},function(e,t,a){},function(e,t,a){},,,,,,,,,,,,,,,,,,,,,,,,,function(e,t){},,,,,,,,,,,,,,,,,,function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},,,function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){"use strict";a.r(t);var n=a(0),c=a.n(n),r=a(31),l=a.n(r),o=a(2),s=a(87),i=a(32),u=a(1),m={focusedElement:"",activeElement:"",adminMenuTabs:["/list/user/","/list/web/","/list/dns/","/list/mail/","/list/db/","/list/cron/","/list/backup/","/list/package/","/list/ip/","/list/rrd/","/list/stats/","/list/log/","/list/updates/","/list/firewall/","/list/directory/","/softaculous/","/list/server/"],userMenuTabs:["/list/user/","/list/web/","/list/dns/","/list/mail/","/list/db/","/list/cron/","/list/backup/","/list/stats/","/list/log/","/list/directory/","/softaculous/"]},d=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:m,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"ADD_FOCUSED_ELEMENT":case"REMOVE_FOCUSED_ELEMENT":return Object(u.a)(Object(u.a)({},e),{},{focusedElement:t.value});case"ADD_ACTIVE_ELEMENT":case"REMOVE_ACTIVE_ELEMENT":return Object(u.a)(Object(u.a)({},e),{},{activeElement:t.value});default:return e}},E={controlPanelFocusedElement:""},p=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:E,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"ADD_CPANEL_FOCUSED_ELEMENT":return Object(u.a)(Object(u.a)({},e),{},{controlPanelFocusedElement:t.value});case"REMOVE_CPANEL_FOCUSED_ELEMENT":return Object(u.a)(Object(u.a)({},e),{},{controlPanelFocusedElement:""});default:return e}},v={notifications:[]},f=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:v,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"ADD_NOTIFICATIONS":case"REMOVE_NOTIFICATIONS":return Object(u.a)(Object(u.a)({},e),{},{notifications:t.value});default:return e}},b={user:{}},h=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:b,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"REFRESH_COUNTERS":return Object(u.a)(Object(u.a)({},e),{},{user:t.value.user});default:return e}},g={session:{}},O=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:g,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"SET_USER_SESSION":return Object(u.a)(Object(u.a)({},e),{},{session:t.value});default:return e}},N={token:"",error:"",i18n:{},userName:""},j=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:N,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"LOGIN":case"LOGOUT":case"LOGGED_OUT_AS":case"CHECK_AUTH":return Object(u.a)(Object(u.a)({},e),{},{token:t.value.token,userName:t.value.userName,i18n:t.value.i18n||{},error:t.value.error});default:return e}},y={panel:{}},k=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:y,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"REFRESH_PANEL":return Object(u.a)(Object(u.a)({},e),{},{panel:t.value.panel});default:return e}},_=Object(i.combineReducers)({mainNavigation:d,controlPanelContent:p,notifications:f,menuCounters:h,userSession:O,session:j,panel:k}),S=a(88);a(105);var w=a(17),A=a(3),C=a(19),D=a.n(C),M=a(15),F=a(30),x=a(25),T=a(26),L=a(28),U=a(27),I=a(9),P=(a(107),function(){return c.a.createElement("div",{className:"spinner-wrapper"},c.a.createElement("div",{className:"progress"},c.a.createElement("div",{className:"progress-bar progress-bar-striped progress-bar-animated",role:"progressbar","aria-valuenow":"100","aria-valuemin":"0","aria-valuemax":"100",style:{width:"100%"}})))}),R=a(16),V=(a(108),function(e){var t,a=Object(o.d)((function(e){return e.session})).i18n,n=function(e,t,a){a.isActive&&a.changeSorting(e,t)},r=function(e){return"Type"===e?a.type:"Size"===e?a.size:"Date"===e?a.date:"Name"===e?a.name:void 0};return c.a.createElement("div",{class:"btn-group"},(t=e.sorting,"descending"===e.order?c.a.createElement("button",{type:"button",className:"btn btn-secondary","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},r(t),c.a.createElement("span",{className:"arrow-down"},"\u2193")):c.a.createElement("button",{type:"button",className:"btn btn-secondary","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},r(t),c.a.createElement("span",null,"\u2191"))),c.a.createElement("div",{class:"dropdown-menu"},c.a.createElement("ul",{className:"dropdown-list"},c.a.createElement("li",null,c.a.createElement("span",{className:"Type"===e.sorting&&"descending"===e.order?"dropdown-item active":"dropdown-item",onClick:function(){return n("Type","descending",e)}},a.type,c.a.createElement("span",{className:"arrow-down"},"\u2193")),c.a.createElement("span",{className:"Type"===e.sorting&&"ascending"===e.order?"dropdown-item active":"dropdown-item",onClick:function(){return n("Type","ascending",e)}},c.a.createElement("span",null,"\u2191"))),c.a.createElement("li",null,c.a.createElement("span",{className:"Size"===e.sorting&&"descending"===e.order?"dropdown-item active":"dropdown-item",onClick:function(){return n("Size","descending",e)}},a.size,c.a.createElement("span",{className:"arrow-down"},"\u2193")),c.a.createElement("span",{className:"Size"===e.sorting&&"ascending"===e.order?"dropdown-item active":"dropdown-item",onClick:function(){return n("Size","ascending",e)}},c.a.createElement("span",null,"\u2191"))),c.a.createElement("li",null,c.a.createElement("span",{className:"Date"===e.sorting&&"descending"===e.order?"dropdown-item active":"dropdown-item",onClick:function(){return n("Date","descending",e)}},a.date,c.a.createElement("span",{className:"arrow-down"},"\u2193")),c.a.createElement("span",{className:"Date"===e.sorting&&"ascending"===e.order?"dropdown-item active":"dropdown-item",onClick:function(){return n("Date","ascending",e)}},c.a.createElement("span",null,"\u2191"))),c.a.createElement("li",null,c.a.createElement("span",{className:"Name"===e.sorting&&"descending"===e.order?"dropdown-item active":"dropdown-item",onClick:function(){return n("Name","descending",e)}},a.name,c.a.createElement("span",{className:"arrow-down"},"\u2193")),c.a.createElement("span",{className:"Name"===e.sorting&&"ascending"===e.order?"dropdown-item active":"dropdown-item",onClick:function(){return n("Name","ascending",e)}},c.a.createElement("span",null,"\u2191"))))))}),B=(a(109),function(e){var t=e.path,a=e.isActive,r=e.className,l=e.openDirectory,s=e.changeSorting,i=e.sorting,u=e.order,m=Object(o.d)((function(e){return e.menuCounters})).user,d=Object(R.g)();Object(n.useEffect)((function(){if(!m)return d.push("/login")}),[m]);var E=function(e){var n=t.split("/");if(a&&void 0!==e){var c=n.splice(0,e+4).join("/");l(c)}};return c.a.createElement("div",{className:r},c.a.createElement("div",{className:"clickable-wrapper"},c.a.createElement("span",{className:"clickable-path"},c.a.createElement("span",{className:"clickable",onClick:function(){return l(m.HOME)}},m.HOME),function(){var e=t.split("/");if(e.splice(0,3),t!==m.HOME)return e.map((function(e,t){return c.a.createElement("span",{className:"clickable",key:t,onClick:function(){return E(t)}},"\xa0/\xa0",e)}))}())),c.a.createElement(V,{changeSorting:s,sorting:i,order:u,isActive:a}))}),W=a(4),q=a(37),H=(a(113),a(43)),K=a.n(H),J=function(e){Object(L.a)(a,e);var t=Object(U.a)(a);function a(){var e;Object(x.a)(this,a);for(var n=arguments.length,r=new Array(n),l=0;l0&&void 0!==arguments[0]?arguments[0]:new Date,t=arguments.length>1?arguments[1]:void 0,a=K()(e).year(),n=K()().year();return a===n?t:a},e.glyph=function(){var t=e.props.data,a=t.type,n=t.name;return"d"===a?c.a.createElement(W.a,{icon:"folder-open",className:"folder-open"}):e.isFile(a)?e.isArchive(n)?c.a.createElement(W.a,{icon:"book",className:"archive"}):n.match(/png|jpg|jpeg|gif/g)?c.a.createElement(W.a,{icon:"image",className:"image"}):null!==n.match(".mp4")?c.a.createElement(W.a,{icon:"download",className:"download"}):n.match(".txt")?c.a.createElement(W.a,{icon:"file-alt",className:"file-alt"}):n.match(".js")?c.a.createElement(W.a,{icon:q.c,className:"js"}):n.match(".html")?c.a.createElement(W.a,{icon:q.b,className:"html5"}):n.match(".php")?c.a.createElement(W.a,{icon:q.d,className:"php"}):n.match(/.scss/i)?c.a.createElement(W.a,{icon:q.e,className:"sass"}):n.match(/.css/i)?c.a.createElement(W.a,{icon:q.a,className:"css3"}):c.a.createElement(W.a,{icon:"file",className:"file"}):"l"===a?c.a.createElement(W.a,{icon:"download",className:"download"}):void 0},e}return Object(T.a)(a,[{key:"isArchive",value:function(e){return e.match(/zip|tgz|tar.gz|gzip|tbz|tar.bz|gz|zip|tar|rar/g)}},{key:"isFile",value:function(e){return"f"===e}},{key:"render",value:function(){var e=this,t=this.props.data,a=t.name,n=t.owner,r=t.permissions,l=t.size,o=t.date,s=t.time;return c.a.createElement("li",{className:this.className(),onClick:this.selectRow,id:a},c.a.createElement("span",{className:"marker"}),this.glyph(),c.a.createElement("span",{className:"fName"},c.a.createElement("span",{className:"name",onClick:function(t){return e.openItem(t)}},0===this.props.cursor?"..":a)),c.a.createElement("span",{className:"fPermissions"},r),c.a.createElement("span",{className:"fOwner"},n),c.a.createElement("span",{className:"fSize"},this.sizeFormatter(l)),c.a.createElement("span",{className:"fDate"},this.dateFormatter(o)),c.a.createElement("span",{className:"fTime"},this.timeFormatter(o,s)))}}]),a}(n.Component);var z=Object(o.b)((function(e){return{session:e.session}}))(Object(R.i)(J)),Y=(a(114),function(e){Object(L.a)(a,e);var t=Object(U.a)(a);function a(e){var n;return Object(x.a)(this,a),(n=t.call(this,e)).UNSAFE_componentWillMount=function(){localStorage.getItem("".concat(n.props.list,"Sorting"))&&localStorage.getItem("".concat(n.props.list,"Order"))&&n.setState({sortingType:localStorage.getItem("".concat(n.props.list,"Sorting")),orderType:localStorage.getItem("".concat(n.props.list,"Order"))})},n.componentDidMount=function(){document.addEventListener("keydown",n.handleLiSelection),document.addEventListener("keydown",n.moveBackOnButton)},n.componentWillUnmount=function(){document.removeEventListener("keydown",n.handleLiSelection),document.removeEventListener("keydown",n.moveBackOnButton)},n.cacheSorting=function(){localStorage.setItem("".concat(n.props.list,"Sorting"),n.state.sortingType),localStorage.setItem("".concat(n.props.list,"Order"),n.state.orderType)},n.moveBackOnButton=function(e){8===e.keyCode&&!n.props.modalVisible&&n.props.isActive&&n.moveBack()},n.moveBack=function(){n.isHomeDirectory()||n.props.moveBack()},n.isHomeDirectory=function(){return n.props.path===n.props.rootDir},n.toggleActiveList=function(){var e=n.props,t=e.history,a=e.path,c=e.list,r=e.onClick,l=e.changePathAfterToggle;e.isActive||(r(c),l(a),t.push({pathname:"/list/directory/",search:"?path=".concat(a)}),n.cacheActiveWindowAndPaths(),n.passData())},n.cacheActiveWindowAndPaths=function(){localStorage.setItem("activeWindow",n.props.list),localStorage.setItem("".concat(n.props.list,"ListPath"),n.props.path),localStorage.setItem("".concat(n.props.list,"ListPath"),n.props.path)},n.isSelected=function(e){return-1!==n.state.itemsSelected.indexOf(e)},n.handleLiSelection=function(e){var t=n.props,a=t.isActive,c=t.modalVisible,r=t.changePath,l=t.path,o=n.state.cursor,s=n.getDataBySortingType().listing;if(a&&!c){if(40===e.keyCode){if(o===s.length-1)return;if(e.shiftKey){var i=s[o].name;n.addToSelection(i)}n.setState({cursor:o+1}),n.passData(),r(l)}if(38===e.keyCode){if(0===o)return;if(e.shiftKey){var u=s[o-1].name;n.addToSelection(u)}n.setState({cursor:o-1}),n.passData(),r(l)}}},n.resetData=function(){n.setState({cursor:0,itemsSelected:[]})},n.passData=function(){var e=n.props.passData,t=n.getDataBySortingType(),a=t.firstItem,c=t.listing;if(0===n.state.cursor){var r=a.name,l=a.permissions,o=a.type;e(n.state.cursor,r,l,o)}else{var s=c[n.state.cursor-1],i=s.name,u=s.permissions,m=s.type;e(n.state.cursor,i,u,m)}},n.openDirectory=function(e){var t=n.props,a=t.history,c=t.path,r=t.addToPath,l=t.openDirectory;a.push({pathname:"/list/directory/",search:"?path=".concat(c,"/").concat(e)}),r(e),l(),n.setState({cursor:0})},n.openCertainDirectory=function(e){var t=n.props,a=t.history,c=t.openCertainDirectory,r=t.changePath;n.isHomeDirectory()||(a.push({pathname:"/list/directory/",search:"?path=".concat(e)}),r(e),c())},n.changeSorting=function(e,t){n.setState({sortingType:e,orderType:t},(function(){return n.cacheSorting()}))},n.sortByType=function(e,t){return"descending"===n.state.orderType&&""!==e.name?e.type.localeCompare(t.type):"ascending"===n.state.orderType&&""!==t.name?t.type.localeCompare(e.type):void 0},n.sortBySize=function(e,t){return"descending"===n.state.orderType&&""!==e.name?e.size-t.size:"ascending"===n.state.orderType&&""!==t.name?t.size-e.size:void 0},n.sortByDate=function(e,t){return"descending"===n.state.orderType&&""!==e.name?new Date(e.date)-new Date(t.date):"ascending"===n.state.orderType&&""!==e.name?new Date(t.date)-new Date(e.date):void 0},n.sortByName=function(e,t){return"descending"===n.state.orderType&&""!==e.name?e.name.localeCompare(t.name):"ascending"===n.state.orderType&&""!==t.name?t.name.localeCompare(e.name):void 0},n.sortData=function(e,t){switch(n.state.sortingType){case"Type":return n.sortByType(e,t);case"Size":return n.sortBySize(e,t);case"Date":return n.sortByDate(e,t);case"Name":return n.sortByName(e,t);default:return n.sortByType(e,t)}},n.getDataBySortingType=function(){var e,t=[];return n.props.data.listing.forEach((function(a){""===a.name&&"d"===a.type?e=a:t.push(a)})),t="Type"!==n.state.sortingType?[].concat(Object(I.a)(t.filter((function(e){return"d"===e.type})).sort((function(e,t){return n.sortByName(e,t)}))),Object(I.a)(t.filter((function(e){return"f"===e.type})).sort((function(e,t){return n.sortData(e,t)})))):t.sort((function(e,t){return n.sortData(e,t)})),{firstItem:e,listing:t}},n.rows=function(){var e=n.props,t=e.isActive,a=e.modalVisible,r=e.path,l=e.download,o=n.state.cursor,s=n.getDataBySortingType(),i=s.listing,u=s.firstItem;if(i.length||u)return c.a.createElement(c.a.Fragment,null,c.a.createElement(z,{selectOnClick:function(e,t,a,c){n.setState({cursor:e}),n.props.passData(e,t,a,c)},openDirectory:n.moveBack,modalVisible:a,activeRow:0===o,isActiveList:t,cursor:0,data:u,path:r}),i.map((function(e,s){return c.a.createElement(z,{key:s+1,selectOnClick:function(e,t,a,c){n.setState({cursor:e}),n.props.passData(e,t,a,c)},selectMultiple:function(){return n.addToSelection(e.name)},selected:n.isSelected(e.name),openDirectory:n.openDirectory,modalVisible:a,activeRow:s+1===o,isActiveList:t,download:l,cursor:s+1,data:e,path:r})})))},n.state={orderType:"descending",sortingType:"Type",itemsSelected:[],listingItems:[],cursor:0},n}return Object(T.a)(a,[{key:"addToSelection",value:function(e){var t=this.state.itemsSelected,a=Object(I.a)(t),n=t.indexOf(e);if(-1!==n)a.splice(n,1);else{if(""===e)return;a.push(e)}this.setState({itemsSelected:a}),this.props.passSelection(a)}},{key:"render",value:function(){var e=this.props,t=e.isActive,a=e.path,n=e.loading;return c.a.createElement("div",{className:t?"list active":"list",onClick:this.toggleActiveList},c.a.createElement(B,{className:t?"active-path":"path",openDirectory:this.openCertainDirectory,changeSorting:this.changeSorting,sorting:this.state.sortingType,order:this.state.orderType,isActive:t,path:a}),c.a.createElement("div",{className:"list-container"},c.a.createElement("ul",null,n&&t?c.a.createElement(P,null):this.rows())))}}]),a}(n.Component)),G=(a(115),function(e){return c.a.createElement("div",{class:"progress upload",style:{overflow:"0"!==e.progress?"visible":"hidden"}},c.a.createElement("div",{class:"progress-bar",role:"progressbar",style:{width:"".concat(e.progress,"%")},"aria-valuenow":e.progress,"aria-valuemin":"0","aria-valuemax":"100"}))}),Q=a(35),X=(a(116),function(e){var t=Object(o.d)((function(e){return e.session})).i18n;Object(n.useEffect)((function(){return window.addEventListener("keyup",a),function(){return window.removeEventListener("keyup",a)}}),[e.reference]);var a=function(t){var a=document.querySelector("input:focus")||document.querySelector("textarea:focus");72!==t.keyCode||a||e.toggleHotkeys()};return c.a.createElement("div",{className:"hotkeys-list hide",ref:e.reference},c.a.createElement("div",{className:"head"},c.a.createElement("div",{className:"name"},t.Shortcuts),c.a.createElement("div",{className:"close",onClick:function(){return e.toggleHotkeys()}},c.a.createElement(W.a,{icon:"times"}))),c.a.createElement("div",{className:"body"},c.a.createElement("ul",null,c.a.createElement("li",null,c.a.createElement("span",{className:"name"},"u"),c.a.createElement("span",{className:"description"},t.Upload)),c.a.createElement("li",null,c.a.createElement("span",{className:"name"},"n"),c.a.createElement("span",{className:"description"},t["New File"])),c.a.createElement("li",null,c.a.createElement("span",{className:"name"},"F6"),c.a.createElement("span",{className:"description"},t["New Folder"])),c.a.createElement("li",null,c.a.createElement("span",{className:"name"},"d"),c.a.createElement("span",{className:"description"},t.Download)),c.a.createElement("li",{className:"space-top"},c.a.createElement("span",{className:"name"},"F2 / Shift + F6"),c.a.createElement("span",{className:"description"},t.Rename)),c.a.createElement("li",null,c.a.createElement("span",{className:"name"},"m"),c.a.createElement("span",{className:"description"},t.Move)),c.a.createElement("li",null,c.a.createElement("span",{className:"name"},"F5"),c.a.createElement("span",{className:"description"},t.Copy)),c.a.createElement("li",null,c.a.createElement("span",{className:"name"},"F8 / Del"),c.a.createElement("span",{className:"description"},t.Delete)),c.a.createElement("li",null,c.a.createElement("span",{className:"name"},"F2"),c.a.createElement("span",{className:"description"},t["Save File (in text editor)"])),c.a.createElement("li",null,c.a.createElement("span",{className:"name"},"h"),c.a.createElement("span",{className:"description"},t["Display/Close shortcuts"])),c.a.createElement("li",null,c.a.createElement("span",{className:"name"},"Esc"),c.a.createElement("span",{className:"description"},t["Close Popup / Cancel"])),c.a.createElement("li",null,c.a.createElement("span",{className:"name"},"F10"),c.a.createElement("span",{className:"description"},t["Close Preview / Editor"]))),c.a.createElement("ul",null,c.a.createElement("li",null,c.a.createElement("span",{className:"name"},"\u2191"),c.a.createElement("span",{className:"description"},t["Move Cursor Up"])),c.a.createElement("li",null,c.a.createElement("span",{className:"name"},"\u2193"),c.a.createElement("span",{className:"description"},t["Move Cursor Down"])),c.a.createElement("li",null,c.a.createElement("span",{className:"name"},"\u2190"),c.a.createElement("span",{className:"description"},t["Switch to Left Tab"])),c.a.createElement("li",null,c.a.createElement("span",{className:"name"},"\u2192"),c.a.createElement("span",{className:"description"},t["Switch to Right Tab"])),c.a.createElement("li",null,c.a.createElement("span",{className:"name"},"a"),c.a.createElement("span",{className:"description"},t.Archive)),c.a.createElement("li",null,c.a.createElement("span",{className:"name"},"Enter"),c.a.createElement("span",{className:"description"},t["Open File / Enter Directory"])),c.a.createElement("li",null,c.a.createElement("span",{className:"name"},"F3"),c.a.createElement("span",{className:"description"},t["Edit File"])),c.a.createElement("li",null,c.a.createElement("span",{className:"name"},"Backspace"),c.a.createElement("span",{className:"description"},t["Go to Parent Directory"])),c.a.createElement("li",null,c.a.createElement("span",{className:"name"},"Ctr + Click"),c.a.createElement("span",{className:"description"},t["Add File to the Current Selection"])),c.a.createElement("li",null,c.a.createElement("span",{className:"name"},"Shift + Cursor up/down"),c.a.createElement("span",{className:"description"},t["Select Bunch of Files"])))))}),Z=function(e){var t=Object(n.useState)(null),a=Object(A.a)(t,2),r=a[0],l=a[1],s=Object(o.d)((function(e){return e.session})).i18n,i=Object(n.useState)(null!==r&&!r.length),u=Object(A.a)(i,2),m=u[0],d=u[1];return c.a.createElement("div",{className:"modal-content"},c.a.createElement("div",{className:"modal-header"},c.a.createElement("h3",{className:"modal-title"},s["Create file"])),c.a.createElement("div",{className:"modal-body"},c.a.createElement("input",{type:"text",onChange:function(e){l(e.target.value)},ref:e.reference}),m&&c.a.createElement("small",{className:"error"},s["File name cannot be empty"])),c.a.createElement("div",{className:"modal-footer"},c.a.createElement("button",{type:"button",className:"btn btn-danger mr-auto",onClick:function(){e.close()}},s.Cancel),c.a.createElement("button",{type:"button",className:"btn btn-primary",onClick:function(){r?e.save():d(!0)}},s.Create)))},$=function(e){var t=Object(n.useState)(null),a=Object(A.a)(t,2),r=a[0],l=a[1],s=Object(o.d)((function(e){return e.session})).i18n,i=Object(n.useState)(null!==r&&!r.length),u=Object(A.a)(i,2),m=u[0],d=u[1];return c.a.createElement("div",{className:"modal-content"},c.a.createElement("div",{className:"modal-header"},c.a.createElement("h3",{className:"modal-title directory"},s["Create directory"])),c.a.createElement("div",{className:"modal-body"},c.a.createElement("input",{type:"text",onChange:function(e){l(e.target.value)},ref:e.reference}),m&&c.a.createElement("small",{className:"error"},s["Directory name cannot be empty"])),c.a.createElement("div",{className:"modal-footer"},c.a.createElement("button",{type:"button",className:"btn btn-danger mr-auto",onClick:function(){e.close()}},s.Cancel),c.a.createElement("button",{type:"button",className:"btn btn-primary",onClick:function(){r?e.save():d(!0)}},s.Create)))},ee=function(e){var t=Object(o.d)((function(e){return e.session})).i18n;return c.a.createElement("div",{className:"modal-content rename"},c.a.createElement("div",{className:"modal-header"},c.a.createElement("h3",{className:"modal-title rename"},t.Rename," ",c.a.createElement("span",{className:"quot"},'"',e.fName,'"'))),c.a.createElement("div",{className:"modal-body"},c.a.createElement("input",{type:"text",autoFocus:!0,defaultValue:e.fName,onChange:e.onChange,ref:e.reference})),c.a.createElement("div",{className:"modal-footer"},c.a.createElement("button",{type:"button",className:"btn btn-danger mr-auto",onClick:e.close},t.Cancel),c.a.createElement("button",{type:"button",className:"btn btn-primary",onClick:e.save},t.Rename)))},te=function(e){var t=Object(o.d)((function(e){return e.session})).i18n;return c.a.createElement("div",{className:"modal-content delete"},c.a.createElement("div",{className:"modal-header"},e.items>0?c.a.createElement("h3",null,t["Delete items"]," ",c.a.createElement("span",{className:"quot"},"(",e.items,")")," ?"):c.a.createElement("h3",null,t["Are you sure you want to delete"]," ",c.a.createElement("span",{className:"quot"},'"',e.fName,'"'),"?")),c.a.createElement("div",{className:"modal-footer lower"},c.a.createElement("button",{type:"button",className:"btn btn-danger mr-auto",onClick:e.close},t.Cancel),c.a.createElement("button",{type:"button",className:"btn btn-primary",onClick:e.save,autoFocus:!0},t.Delete)))},ae=function(e){var t=Object(o.d)((function(e){return e.session})).i18n;return c.a.createElement("div",{className:"modal-content nothing-selected"},c.a.createElement("div",{className:"header"},e.notAvailable?c.a.createElement("h3",null,t["Directory download not available in current version"]):c.a.createElement("h3",null,t["No file selected"])),c.a.createElement("div",{className:"modal-footer"},c.a.createElement("button",{type:"button",className:"btn btn-danger mr-auto",onClick:e.close},t.Close)))},ne=a(46),ce=a.n(ne),re={owner:{read:0,write:0,execute:0},group:{read:0,write:0,execute:0},others:{read:0,write:0,execute:0}},le=function(e){Object(L.a)(a,e);var t=Object(U.a)(a);function a(e){var n;return Object(x.a)(this,a),(n=t.call(this,e)).decodeSingleNumber=function(e){var t=parseInt(e,0);return{read:n.inArray(t,[4,5,6,7])?4:0,write:n.inArray(t,[2,3,6,7])?2:0,execute:n.inArray(t,[1,3,5,7])?1:0}},n.onChangeForm=function(e){var t=e.target,a=t.name.split("_"),c=Object(A.a)(a,2),r=c[0],l=c[1];n.setState({permissions:Object(u.a)(Object(u.a)({},n.state.permissions),{},Object(M.a)({},r,Object(u.a)(Object(u.a)({},n.state.permissions[r]),{},Object(M.a)({},l,t.checked?t.value:0))))},(function(e){n.inputRef.value=n.encode(),n.props.changePermissions(n.inputRef.value)}))},n.handleInputChange=function(e){var t=e.target.value;if(!n.isValid(t))return n.setState({inputInvalid:!0});n.setState({permissions:n.decode(t),inputInvalid:!1}),n.props.changePermissions(n.inputRef.value)},n.state={permissions:n.decode(n.props.permissions)||re,inputInvalid:!1},n}return Object(T.a)(a,[{key:"inArray",value:function(e,t){return!!~t.indexOf(e)}},{key:"isValid",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return 3===e.length&&"000"!==e&&!e.match(/[A-Za-z]/)&&void 0===e.split("").find((function(e){return parseInt(e,0)<0||parseInt(e,0)>7}))}},{key:"decode",value:function(e){if(!this.isValid(e))return null;var t=e.split("").map(this.decodeSingleNumber);return{owner:t[0],group:t[1],others:t[2]}}},{key:"encode",value:function(){var e=this;return["owner","group","others"].reduce((function(t,a){var n,c=e.state.permissions[a];return t+(n=c,Object.values(n).map((function(e){return parseInt(e,0)})).reduce((function(e,t){return e+t}),0))}),"")}},{key:"render",value:function(){var e=this,t=this.props.session.i18n,a=this.state.inputInvalid,n=this.props,r=n.close,l=n.save,o=n.fName,s=ce()({"form-control total":!0,error:a});return c.a.createElement("div",{className:"modal-content permissions"},c.a.createElement("div",{className:"modal-header"},c.a.createElement("h3",{className:"modal-title perms"},t["Change Rights"]," ",c.a.createElement("span",{className:"quot"},'"',o,'"'))),c.a.createElement("form",{name:"form",onChange:this.onChangeForm},c.a.createElement("div",null,c.a.createElement("label",null,c.a.createElement("input",{type:"checkbox",name:"owner_read",value:"4",checked:!!this.state.permissions.owner.read,id:"read"}),t["read by owner"]),c.a.createElement("label",null,c.a.createElement("input",{type:"checkbox",name:"owner_write",value:"2",checked:!!this.state.permissions.owner.write}),t["write by owner"]),c.a.createElement("label",null,c.a.createElement("input",{type:"checkbox",name:"owner_execute",value:"1",checked:!!this.state.permissions.owner.execute}),t["execute/search by owner"])),c.a.createElement("div",null,c.a.createElement("label",null,c.a.createElement("input",{type:"checkbox",name:"group_read",value:"4",checked:!!this.state.permissions.group.read,id:"read"}),t["read by group"]),c.a.createElement("label",null,c.a.createElement("input",{type:"checkbox",name:"group_write",value:"2",checked:!!this.state.permissions.group.write}),t["write by group"]),c.a.createElement("label",null,c.a.createElement("input",{type:"checkbox",name:"group_execute",value:"1",checked:!!this.state.permissions.group.execute}),t["execute/search by group"])),c.a.createElement("div",null,c.a.createElement("label",null,c.a.createElement("input",{type:"checkbox",name:"others_read",value:"4",checked:!!this.state.permissions.others.read,id:"read"}),t["read by others"]),c.a.createElement("label",null,c.a.createElement("input",{type:"checkbox",name:"others_write",value:"2",checked:!!this.state.permissions.others.write}),t["write by others"]),c.a.createElement("label",null,c.a.createElement("input",{type:"checkbox",name:"others_execute",value:"1",checked:!!this.state.permissions.others.execute}),t["execute/search by others"]))),c.a.createElement("input",{type:"text",className:s,defaultValue:this.encode(),ref:function(t){return e.inputRef=t},onChange:this.handleInputChange,maxLength:"3"}),c.a.createElement("div",{className:"modal-footer"},c.a.createElement("button",{type:"button",className:"btn btn-danger mr-auto",onClick:r},t.Cancel),c.a.createElement("button",{type:"button",className:"btn btn-primary",onClick:l,disabled:a},t.OK)))}}]),a}(n.Component);var oe=Object(o.b)((function(e){return{session:e.session}}))(le),se=function(e){var t=Object(o.d)((function(e){return e.session})).i18n;return c.a.createElement("div",{className:"modal-content"},c.a.createElement("div",{className:"modal-header"},e.items>0?c.a.createElement("h3",{className:"modal-title"},t["Move files"]," ",c.a.createElement("span",{className:"quot"},"(",e.items,")")," ",t.into,":"):c.a.createElement("h3",{className:"modal-title rename"},t.Move," ",c.a.createElement("span",{className:"quot"},'"',e.fName,'"')," ",t.into,":")),c.a.createElement("div",{className:"modal-body"},c.a.createElement("input",{type:"text",autoFocus:!0,defaultValue:e.path,onChange:e.onChange,ref:e.reference})),c.a.createElement("div",{className:"modal-footer"},c.a.createElement("button",{type:"button",className:"btn btn-danger mr-auto",onClick:e.close},t.Cancel),c.a.createElement("button",{type:"button",className:"btn btn-primary",onClick:e.save},t.Move)))},ie=function(e){var t=Object(o.d)((function(e){return e.session})).i18n;return c.a.createElement("div",{className:"modal-content"},c.a.createElement("div",{className:"modal-header"},e.items>0?c.a.createElement("h3",{className:"modal-title"},t.Compress," ",c.a.createElement("span",{className:"quot"},"(",e.items,")"),"?"):c.a.createElement("h3",{className:"modal-title rename"},t.Compress," ",c.a.createElement("span",{className:"quot"},'"',e.fName,'"'),"?")),c.a.createElement("div",{className:"modal-body"},c.a.createElement("input",{type:"text",autoFocus:!0,defaultValue:"".concat(e.path,"/").concat(e.fName,".tar.gz"),onBlur:e.onChange,ref:e.reference})),c.a.createElement("div",{className:"modal-footer"},c.a.createElement("button",{type:"button",className:"btn btn-danger mr-auto",onClick:e.close},t.Cancel),c.a.createElement("button",{type:"button",className:"btn btn-primary",onClick:e.save},t.Compress)))},ue=function(e){var t=Object(o.d)((function(e){return e.session})).i18n;return c.a.createElement("div",{className:"modal-content"},c.a.createElement("div",{className:"modal-header"},c.a.createElement("h3",{className:"modal-title rename"},t.Extract," ",c.a.createElement("span",{className:"quot"},'"',e.fName,'"'),t.into)),c.a.createElement("div",{className:"modal-body"},c.a.createElement("input",{type:"text",autoFocus:!0,defaultValue:e.path,onBlur:e.onChange,ref:e.reference})),c.a.createElement("div",{className:"modal-footer"},c.a.createElement("button",{type:"button",className:"btn btn-danger mr-auto",onClick:e.close},t.Cancel),c.a.createElement("button",{type:"button",className:"btn btn-primary",onClick:e.save},t.Extract)))},me=function(e){var t=Object(o.d)((function(e){return e.session})).i18n;return c.a.createElement("div",{className:"modal-content"},c.a.createElement("div",{className:"modal-header"},e.items>0?c.a.createElement("h3",{className:"modal-title"},t["Copy files"]," ",c.a.createElement("span",{className:"quot"},"(",e.items,")")," ",t.into,":"):c.a.createElement("h3",{className:"modal-title rename"},t.Copy," ",c.a.createElement("span",{className:"quot"},'"',e.fName,'"')," ",t.into,":")),c.a.createElement("div",{className:"modal-body"},c.a.createElement("input",{type:"text",autoFocus:!0,defaultValue:e.path,onChange:e.onChange,ref:e.reference})),c.a.createElement("div",{className:"modal-footer"},c.a.createElement("button",{type:"button",className:"btn btn-danger mr-auto",onClick:e.close},t.Cancel),c.a.createElement("button",{type:"button",className:"btn btn-primary",onClick:e.save},t.Copy)))},de=function(e){return c.a.createElement("div",{className:"modal-content replace"},c.a.createElement("div",{className:"modal-header"},e.files.length>1?c.a.createElement("div",null,c.a.createElement("h3",null,"These files already exist"),e.files.map((function(e){return c.a.createElement("span",{className:"quot"},'"',e.name,'" ')}))):c.a.createElement("div",null,c.a.createElement("h3",null,"This file already exists"),c.a.createElement("span",{className:"quot"},'"',e.files[0].name,'"'))),c.a.createElement("div",{className:"modal-footer"},c.a.createElement("button",{type:"button",className:"btn btn-primary mr-auto",onClick:e.close},"Cancel"),c.a.createElement("button",{type:"button",className:"btn btn-danger",onClick:function(){return e.replace(e.files)}},"Overwrite")))},Ee=(a(48),function(e){Object(n.useEffect)((function(){return window.addEventListener("click",s),document.addEventListener("keydown",t),function(){window.removeEventListener("click",s),document.removeEventListener("keydown",t)}}),[]);var t=function(e){27===e.keyCode?o():13===e.keyCode&&a()},a=function(){e.onClick(),e.onClose()},r=function(t){e.onChangePermissions(t)},l=function(t){e.onChangeValue(t.target.value)},o=function(){e.onClose()},s=function(t){var a=document.getElementById("modal");t.target===a&&e.onClose()};return c.a.createElement("div",null,c.a.createElement("div",{className:"modal",id:"modal"},function(){var t=e.type,n=e.reference,s=e.fName,i=e.permissions,u=e.items,m=e.path,d=e.files,E=e.notAvailable;switch(t){case"Copy":return c.a.createElement(me,{close:o,save:a,reference:n,onChange:l,name:t,fName:s,items:u,path:m});case"Move":return c.a.createElement(se,{close:o,save:a,reference:n,onChange:l,name:t,fName:s,items:u,path:m});case"Permissions":return c.a.createElement(oe,{close:o,save:a,changePermissions:r,fName:s,permissions:i});case"Extract":return c.a.createElement(ue,{close:o,save:a,reference:n,onChange:l,name:t,fName:s,path:m});case"Archive":return c.a.createElement(ie,{close:o,save:a,reference:n,onChange:l,items:u,name:t,fName:s,path:m});case"Rename":return c.a.createElement(ee,{close:o,save:a,reference:n,onChange:l,name:t,fName:s});case"Add directory":return c.a.createElement($,{close:o,save:a,reference:n});case"Delete":return c.a.createElement(te,{close:o,save:a,fName:s,items:u});case"Add file":return c.a.createElement(Z,{close:o,save:a,reference:n});case"Replace":return c.a.createElement(de,{close:o,replace:function(t){return a=t,e.onClick(a),void e.onClose();var a},files:d});case"Nothing selected":return c.a.createElement(ae,{close:o,notAvailable:E})}}()))}),pe=(a(117),a(118),a(5)),ve=function(e){var t=Object(o.d)((function(e){return e.session})).i18n,a=Object(n.useRef)(),r=Object(n.useCallback)((function(e){return b(e)}),[e]);Object(n.useEffect)((function(){return document.addEventListener("keydown",r),function(){return document.removeEventListener("keydown",r)}}),[r]);var l=function(){e.openModal("Add file")},s=function(){e.openModal("Add directory")},i=function(){var t=e.selection,a=e.openModal,n=e.cursor;0===t.length?a(0===n?"Nothing selected":"Delete"):a("Delete",t.length)},u=function(){console.log(e),0===e.cursor?e.openModal("Nothing selected"):e.openModal("Rename")},m=function(){0===e.cursor?e.openModal("Nothing selected"):e.openModal("Permissions")},d=function(){var t=e.selection,a=e.openModal,n=e.cursor;0===t.length?a(0===n?"Nothing selected":"Move"):a("Move",t.length)},E=function(){var t=e.selection,a=e.openModal,n=e.cursor;0===t.length?a(0===n?"Nothing selected":"Archive"):a("Archive",t.length)},p=function(){0===e.cursor?e.openModal("Nothing selected"):e.openModal("Extract")},v=function(){var t=e.selection,a=e.openModal,n=e.cursor;0===t.length?a(0===n?"Nothing selected":"Copy"):a("Copy",t.length)},f=function(){0===e.cursor?e.openModal("Nothing selected"):"d"===e.itemType?e.openModal("Nothing selected",null,!0):e.download()},b=function(t){t.stopPropagation();var n=document.querySelector("input:focus")||document.querySelector("textarea:focus");if(!e.modalVisible&&!n){if(t.shiftKey&&118===t.keyCode)return t.preventDefault(),void u();switch(t.keyCode){case 85:return t.preventDefault(),a.current.click();case 78:return t.preventDefault(),l();case 118:return t.preventDefault(),s();case 68:return t.preventDefault(),f();case 113:return t.preventDefault(),u();case 77:return t.preventDefault(),d();case 115:return t.preventDefault(),v();case 65:return t.preventDefault(),E();case 119:case 46:return t.preventDefault(),i();case 114:return t.preventDefault(),m()}}},h=e.name.match(/.zip|.tgz|.tar.gz|.gzip|.tbz|.tar.bz|.gz|.zip|.tar|.rar/g);return c.a.createElement("div",{className:"menu"},c.a.createElement("div",{className:"logo"},c.a.createElement(pe.b,{to:"/"},c.a.createElement("img",{src:"../../images/logo.png",alt:"Logo"}))),c.a.createElement("div",{className:"btn-group",role:"group","aria-label":"First group"},c.a.createElement("input",{type:"file",className:"upload",multiple:!0,onChange:function(t){0!==t.target.files.length&&e.upload(t.target.files)},ref:a}),c.a.createElement("button",{type:"button",className:"btn btn-light",id:"upload",onClick:function(){return a.current.click()}},t.UPLOAD),c.a.createElement("button",{type:"button",className:"btn btn-light big",onClick:l},t["NEW FILE"]),c.a.createElement("button",{type:"button",className:"btn btn-light small",onClick:l,title:t["NEW FILE"]},c.a.createElement(W.a,{icon:"file",className:"icon file"})),c.a.createElement("button",{type:"button",className:"btn btn-light big",onClick:s},t["NEW DIR"]),c.a.createElement("button",{type:"button",className:"btn btn-light small",onClick:s,title:t["NEW DIR"]},c.a.createElement(W.a,{icon:"folder",className:"icon folder-close"})),c.a.createElement("button",{type:"button",className:"btn btn-light big",onClick:f},t.DOWNLOAD),c.a.createElement("button",{type:"button",className:"btn btn-light small",onClick:f,title:t.DOWNLOAD},c.a.createElement(W.a,{icon:"download",className:"icon download"})),c.a.createElement("button",{type:"button",className:"btn btn-light big",onClick:u},t.RENAME),c.a.createElement("button",{type:"button",className:"btn btn-light small",onClick:u,title:t.RENAME},c.a.createElement(W.a,{icon:"italic",className:"icon italic"})),c.a.createElement("button",{type:"button",className:"btn btn-light big",onClick:m},t.RIGHTS),c.a.createElement("button",{type:"button",className:"btn btn-light small",onClick:m,title:t.RIGHTS},c.a.createElement(W.a,{icon:"user",className:"icon user"})),c.a.createElement("button",{type:"button",className:"btn btn-light big",onClick:v},t.COPY),c.a.createElement("button",{type:"button",className:"btn btn-light small",onClick:v,title:t.COPY},c.a.createElement(W.a,{icon:"copy",className:"icon copy"})),c.a.createElement("button",{type:"button",className:"btn btn-light big",onClick:d},t.MOVE),c.a.createElement("button",{type:"button",className:"btn btn-light small",onClick:d,title:t.MOVE},c.a.createElement(W.a,{icon:"paste",className:"icon paste"})),h?null:c.a.createElement("button",{type:"button",className:"btn btn-light big",onClick:E},t.ARCHIVE),h?null:c.a.createElement("button",{type:"button",className:"btn btn-light small",onClick:E,title:t.ARCHIVE},c.a.createElement(W.a,{icon:"book",className:"icon book"})),h?c.a.createElement("button",{type:"button",className:"btn btn-light big",onClick:p},t.EXTRACT):null,h?c.a.createElement("button",{type:"button",className:"btn btn-light small",onClick:p,title:t.EXTRACT},c.a.createElement(W.a,{icon:"box-open",className:"icon open"})):null,c.a.createElement("button",{type:"button",className:"btn btn-light big delete",onClick:i},t.DELETE),c.a.createElement("button",{type:"button",className:"btn btn-light small",onClick:i,title:t.DELETE},c.a.createElement(W.a,{icon:"trash",className:"icon trash"}))))},fe=a(6),be=a.n(fe),he=a(13),ge=a.n(he),Oe=window.location.origin+"/file_manager/fm_api.php?";function Ne(e){return be.a.get(e)}function je(e,t){return be.a.get("".concat(e,"dir=").concat(ke(t),"&action=cd"))}function ye(e){return be.a.get("".concat(Oe,"dir=%2F").concat(e,"&action=cd"))}function ke(e){return e.split("/").join("%2F")}function _e(e,t,a){if(!a.length)return!1;var n=a.map((function(a){return Ne("".concat(e,"item=").concat(t,"%2F").concat(a,"&dir=").concat(t,"&action=delete_files")).then((function(){}))}));return Promise.all(n)}function Se(e,t,a,n){if(!n.length)return!1;var c=n.map((function(n){return Ne("".concat(e,"item=").concat(t,"%2F").concat(n,"&target_name=").concat(a,"&action=move_file")).then((function(){}))}));return Promise.all(c)}function we(e,t,a,n){if(!n.length)return!1;var c=n.map((function(n){return Ne("".concat(e,"item=").concat(t,"%2F").concat(n,"&filename=").concat(n,"&dir=").concat(t,"&dir_target=").concat(a,"&action=copy_file")).then((function(){}))}));return Promise.all(c)}var Ae=a(8),Ce=(a(65),window.location.origin+"/file_manager/fm_api.php?"),De=function(e){Object(L.a)(a,e);var t=Object(U.a)(a);function a(e){var n;return Object(x.a)(this,a),(n=t.call(this,e)).UNSAFE_componentWillMount=function(){if(!n.props.session.userName)return n.props.history.push("/login");!function(e,t,a){var n=ge.a.parse(t.location.search,{ignoreQueryPrefix:!0});if(n.path)return localStorage.setItem("activeWindow","left"),localStorage.setItem("leftListPath",n.path),void localStorage.setItem("rightListPath",n.path);if(null===localStorage.getItem("lastUser")||e!==localStorage.getItem("lastUser"))return localStorage.setItem("lastUser",e),localStorage.setItem("activeWindow","left"),localStorage.setItem("leftListPath",a),void localStorage.setItem("rightListPath",a);if(null===localStorage.getItem("activeWindow")||null===localStorage.getItem("leftListPath")||null===localStorage.getItem("rightListPath")){var c=t.location.search.substring(6).split("/");localStorage.setItem("activeWindow","left"),localStorage.setItem("leftListPath",c),localStorage.setItem("rightListPath",a)}}(n.state.currentUser,n.props.history,n.props.menuCounters.user.HOME);var e="left"===localStorage.getItem("activeWindow")?localStorage.getItem("leftListPath"):"right"===localStorage.getItem("activeWindow")?localStorage.getItem("rightListPath"):void 0;n.setState({currentPath:e,currentUser:n.props.menuCounters.user.HOME,leftList:Object(u.a)(Object(u.a)({},n.state.leftList),{},{path:n.props.menuCounters.user.HOME}),rightList:Object(u.a)(Object(u.a)({},n.state.rightList),{},{path:n.props.menuCounters.user.HOME})}),n.changeDirectoryOnLoading()},n.componentDidMount=function(){window.addEventListener("keydown",n.switchActiveList),window.addEventListener("keydown",n.toggleActiveListOnTab),document.addEventListener("keydown",n.hotkeysListener),localStorage.getItem("activeWindow")&&n.setState({activeWindow:localStorage.getItem("activeWindow")})},n.componentWillUnmount=function(){window.removeEventListener("keydown",n.switchActiveList),window.removeEventListener("keydown",n.toggleActiveListOnTab),document.removeEventListener("keydown",n.hotkeysListener)},n.cachePaths=function(){localStorage.setItem("activeWindow",n.state.activeWindow),localStorage.setItem("leftListPath",n.state.leftList.path),localStorage.setItem("rightListPath",n.state.rightList.path)},n.setStateAsync=function(e){return new Promise((function(t){return n.setState(e,t)}))},n.changeDirectoryOnLoading=Object(F.a)(D.a.mark((function e(){return D.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return["leftList","rightList"].map(function(){var e=Object(F.a)(D.a.mark((function e(t){var a,c,r;return D.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,l=Ce,o="".concat(t,"Path"),be.a.get("".concat(l,"dir=").concat(ke(localStorage.getItem(o)),"&action=cd"));case 2:return a=e.sent,c=localStorage.getItem("".concat(t,"Path")),r=a.data.listing,e.next=7,n.setStateAsync(Object(M.a)({},t,{files:{listing:r},path:c}));case 7:case"end":return e.stop()}var l,o}),e)})));return function(t){return e.apply(this,arguments)}}()),e.next=3,n.setStateAsync({loading:!1});case 3:case"end":return e.stop()}}),e)}))),n.changeDirectory=function(){var e=n.state,t=e.leftList,a=e.rightList;Promise.all([je(Ce,t.path),je(Ce,a.path)]).then((function(e){var c=Object(A.a)(e,2),r=c[0],l=c[1],o=r.data.listing,s=l.data.listing;n.setState({leftList:Object(u.a)(Object(u.a)({},t),{},{files:{listing:o}}),rightList:Object(u.a)(Object(u.a)({},a),{},{files:{listing:s}}),loading:!1}),n.leftList.resetData(),n.rightList.resetData()}))},n.toggleActiveListOnTab=function(e){var t=n.state,a=t.activeWindow,c=t.rightList,r=t.leftList,l=t.currentPath;n.state.modalVisible||9===e.keyCode&&(e.preventDefault(),"left"===a?(n.setState({activeWindow:"right",currentPath:c.path}),n.rightList.passData()):(n.setState({activeWindow:"left",currentPath:r.path}),n.leftList.passData()),n.changeQuery(l),n.cachePaths())},n.passSelection=function(e){n.setState({itemsSelected:e})},n.toggleActiveList=function(e){n.setState({activeWindow:e})},n.switchActiveList=function(e){n.state.modalVisible||(39===e.keyCode?(n.setState({activeWindow:"right",currentPath:n.state.rightList.path}),n.changeQuery(n.state.currentPath),n.rightList.passData(),n.cachePaths()):37===e.keyCode&&(n.setState({activeWindow:"left",currentPath:n.state.leftList.path}),n.changeQuery(n.state.currentPath),n.leftList.passData(),n.cachePaths()))},n.validateAction=function(){var e=Object(F.a)(D.a.mark((function e(t){var a;return D.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,n.setStateAsync({loading:!0});case 2:return e.next=4,Ne(t);case 4:(a=e.sent).data.result?n.changeDirectory():n.showError(a.data.message);case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),n.showError=function(e){Q.b.error(e,{position:"top-center",autoClose:3e3,hideProgressBar:!1,closeOnClick:!0,pauseOnHover:!0,draggable:!0}),n.setState({loading:!1})},n.download=function(){var e=n.state,t=e.cursor,a=e.currentPath,c=e.itemName;0!==t&&window.open("/api/v1/download/file/?path="+a+"/"+c)},n.checkExistingFileName=function(e){var t=n.state,a=t.activeWindow,c=t.leftList,r=t.rightList,l=function(e,t,a,n){for(var c=[],r=[],l=[],o=0;o0)){e.next=11;break}return e.next=4,n.setStateAsync({loading:!0});case 4:return e.next=6,_e(Ce,ke(r),a);case 6:return e.next=8,n.setStateAsync({itemsSelected:[]});case 8:n.changeDirectory(),e.next=12;break;case 11:n.validateAction("".concat(Ce,"item=").concat(ke(r),"%2F").concat(c,"&dir=").concat(ke(r),"&action=delete_files"));case 12:case"end":return e.stop()}}),e)}))),n.newFile=function(){var e=n.inputElement.value;n.validateAction("".concat(Ce,"filename=").concat(e,"&dir=").concat(ke(n.state.currentPath),"&action=create_file"))},n.newDir=function(){var e=n.inputElement.value;n.validateAction("".concat(Ce,"dirname=").concat(e,"&dir=").concat(ke(n.state.currentPath),"&action=create_dir"))},n.onRename=function(){var e=n.state,t=e.modalInputValue,a=e.itemType,c=e.itemName,r=e.currentPath,l=t;"f"===a?n.validateAction("".concat(Ce,"item=").concat(c,"&target_name=").concat(l,"&dir=").concat(ke(r),"&action=rename_file")):"d"===a&&n.validateAction("".concat(Ce,"item=").concat(c,"&target_name=").concat(l,"&dir=").concat(ke(r),"%2F&action=rename_directory"))},n.onChangePermissions=function(){var e=n.state.modalInputValue;n.validateAction("".concat(Ce,"dir=").concat(ke(n.state.currentPath),"%2F&item=").concat(n.state.itemName,"&permissions=").concat(e,"&action=chmod_item")),n.setState({itemPermissions:e})},n.archiveItem=function(){var e=n.inputElement.value;n.state.itemsSelected.length>0?n.setState({loading:!0},(function(){for(var t=[],a=0;a0)){e.next=12;break}return e.next=5,n.setStateAsync({loading:!0});case 5:return e.next=7,Se(Ce,ke(a),l,c);case 7:return e.next=9,n.setStateAsync({itemsSelected:[]});case 9:n.changeDirectory(),e.next=13;break;case 12:n.validateAction("".concat(Ce,"item=").concat(a,"%2F").concat(r,"&target_name=").concat(l,"&action=move_file"));case 13:case"end":return e.stop()}}),e)}))),n.copyItem=Object(F.a)(D.a.mark((function e(){var t,a,c,r,l;return D.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=n.state,a=t.currentPath,c=t.itemsSelected,r=t.itemName,l=n.inputElement.value,!(c.length>0)){e.next=12;break}return e.next=5,n.setStateAsync({loading:!0});case 5:return e.next=7,we(Ce,ke(a),l,c);case 7:return e.next=9,n.setStateAsync({itemsSelected:[]});case 9:n.changeDirectory(),e.next=13;break;case 12:n.validateAction("".concat(Ce,"item=").concat(a,"%2F").concat(r,"&filename=").concat(r,"&dir=").concat(a,"&dir_target=").concat(l,"&action=copy_file"));case 13:case"end":return e.stop()}}),e)}))),n.changeQuery=function(e){n.props.history.push({pathname:"/list/directory/",search:"?path=".concat(e)})},n.openDirectory=function(){n.setState({loading:!0},(function(){n.changeDirectory(),n.cachePaths()}))},n.openCertainDirectory=function(){n.setState({loading:!0},(function(){n.changeDirectory(),n.cachePaths()}))},n.moveBack=function(){var e,t=n.state.activeWindow,a=Object(u.a)({},n.state["".concat(t,"List")]);a.path=a.path.substring(0,a.path.lastIndexOf("/")),n.setState((e={},Object(M.a)(e,"".concat(t,"List"),a),Object(M.a)(e,"currentPath",a.path),e)),n.props.history.push({search:"?path=".concat(a.path)}),n.openDirectory()},n.addToPath=function(e){var t,a=n.state.activeWindow,c=Object(u.a)({},n.state["".concat(a,"List")]),r=c.path;c.path="".concat(r,"/").concat(e),n.setState((t={},Object(M.a)(t,"".concat(a,"List"),c),Object(M.a)(t,"currentPath",c.path),t))},n.changeInputValue=function(e){n.setState({modalInputValue:e})},n.changePathAfterToggle=function(e){n.setState({currentPath:e})},n.changePath=function(e){"left"===n.state.activeWindow?n.setState({leftList:{files:Object(u.a)({},n.state.leftList.files),path:e},currentPath:e}):n.setState({rightList:{files:Object(u.a)({},n.state.rightList.files),path:e},currentPath:e})},n.passData=function(e,t,a,c){n.setState({cursor:e,itemName:t,itemPermissions:a,itemType:c})},n.closeModal=function(){n.setState({modalVisible:!1})},n.hotkeysListener=function(e){n.state.modalVisible||72===e.keyCode&&n.hotkeys()},n.hotkeys=function(){"inactive"===n.state.hotkeysPanel?n.setState({hotkeysPanel:"active"}):n.setState({hotkeysPanel:"inactive"})},n.modal=function(e,t,a){var r=n.state,l=r.modalVisible,o=r.itemName,s=r.itemPermissions,i=r.currentPath;switch(e){case"Copy":return n.setState({modalWindow:c.a.createElement(Ee,{modalVisible:l,type:e,fName:o,path:i,onClick:n.copyItem,items:t,onClose:n.closeModal,onChangeValue:n.changeInputValue,reference:function(e){return n.inputElement=e}}),modalVisible:!0});case"Move":return n.setState({modalWindow:c.a.createElement(Ee,{modalVisible:l,type:e,fName:o,path:i,onClick:n.moveItem,items:t,onClose:n.closeModal,onChangeValue:n.changeInputValue,reference:function(e){return n.inputElement=e}}),modalVisible:!0});case"Extract":return n.setState({modalWindow:c.a.createElement(Ee,{modalVisible:l,type:e,fName:o,onClick:n.extractItem,onClose:n.closeModal,onChangeValue:n.changeInputValue,path:i,reference:function(e){return n.inputElement=e}}),modalVisible:!0});case"Archive":return n.setState({modalWindow:c.a.createElement(Ee,{modalVisible:l,type:e,fName:o,onClick:n.archiveItem,items:t,onClose:n.closeModal,onChangeValue:n.changeInputValue,path:i,reference:function(e){return n.inputElement=e}}),modalVisible:!0});case"Permissions":return n.setState({modalWindow:c.a.createElement(Ee,{modalVisible:l,type:e,fName:o,onClick:n.onChangePermissions,onClose:n.closeModal,onChangePermissions:n.changeInputValue,permissions:s}),modalVisible:!0});case"Rename":return n.setState({modalWindow:c.a.createElement(Ee,{modalVisible:l,type:e,fName:o,onChangeValue:n.changeInputValue,onClick:n.onRename,onClose:n.closeModal,reference:function(e){return n.inputElement=e}}),modalVisible:!0});case"Add directory":return n.setState({modalWindow:c.a.createElement(Ee,{modalVisible:l,type:e,onClick:n.newDir,onClose:n.closeModal,reference:function(e){return n.inputElement=e}}),modalVisible:!0});case"Add file":return n.setState({modalWindow:c.a.createElement(Ee,{modalVisible:l,type:e,onClick:n.newFile,onClose:n.closeModal,reference:function(e){return n.inputElement=e}}),modalVisible:!0});case"Delete":return n.setState({modalWindow:c.a.createElement(Ee,{modalVisible:l,type:e,fName:o,onClick:n.onDelete,onClose:n.closeModal,items:t}),modalVisible:!0});case"Nothing selected":return n.setState({modalWindow:c.a.createElement(Ee,{modalVisible:l,notAvailable:a,type:e,onClose:n.closeModal,onClick:n.closeModal}),modalVisible:!0});case"Replace":return n.setState({modalWindow:c.a.createElement(Ee,{modalVisible:l,type:e,files:t,onClick:function(e){return n.replaceFiles(e)},onClose:n.closeModal}),modalVisible:!0})}},n.state={leftList:{path:"",files:{listing:[]}},rightList:{path:"",files:{listing:[]}},currentPath:"",currentUser:"",activeWindow:"left",modalWindow:null,modalVisible:!1,cursor:0,itemName:"",itemPermissions:"",itemType:"",itemsSelected:[],modalInputValue:"",uploadPercent:"0",loading:!1},n}return Object(T.a)(a,[{key:"render",value:function(){var e=this,t=this.state,a=t.activeWindow,n=t.modalWindow,r=t.modalVisible,l=t.itemsSelected,o=t.itemName,s=t.loading,i=t.uploadPercent,u=t.itemType;return c.a.createElement("div",{className:"window"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,this.props.session.i18n["File Manager"])),"0"!==i&&c.a.createElement(G,{progress:i}),c.a.createElement(Q.a,null),c.a.createElement(ve,{onDelete:this.onDeleteFileHandler,modalVisible:r,download:this.download,openModal:this.modal,selection:l,itemType:u,upload:this.checkExistingFileName,cursor:this.state.cursor,name:o}),c.a.createElement("div",{className:"lists-container"},this.props.session.userName&&["left","right"].map((function(t){return c.a.createElement(Y,{changePathAfterToggle:e.changePathAfterToggle,openCertainDirectory:e.openCertainDirectory,isActive:a===t,openDirectory:e.openDirectory,passSelection:e.passSelection,data:e.state["".concat(t,"List")].files,onClick:e.toggleActiveList,changePath:e.changePath,modalVisible:r,addToPath:e.addToPath,cursor:e.state.cursor,passData:e.passData,rootDir:e.props.menuCounters.user.HOME,ref:function(a){return e["".concat(t,"List")]=a},download:e.download,moveBack:e.moveBack,path:e.state["".concat(t,"List")].path,history:e.props.history,loading:s,list:t})})),c.a.createElement("div",{className:"fixed-buttons fm"},c.a.createElement("div",{className:"hotkey-button"},c.a.createElement("button",{onClick:function(){return e.hotkeysList.classList.toggle("hide")}},c.a.createElement(W.a,{icon:"ellipsis-h"})))),c.a.createElement(X,{reference:function(t){return e.hotkeysList=t},toggleHotkeys:function(){return e.hotkeysList.classList.toggle("hide")}})),r&&n)}}]),a}(n.Component);var Me=Object(o.b)((function(e){return{session:e.session,menuCounters:e.menuCounters}}))(Object(R.i)(De)),Fe=a(94),xe=a.n(Fe),Te=(a(146),a(147),a(67),a(148),a(150),a(70),a(69),function(e){var t=e.close,a=e.name,r=Object(o.d)((function(e){return e.session})).i18n,l=Object(R.g)(),s=Object(n.useState)({code:"",loading:!1}),i=Object(A.a)(s,2),m=i[0],d=i[1];Object(n.useEffect)((function(){document.addEventListener("keydown",v);var e="".concat(l.location.search.substring(6,l.location.search.lastIndexOf("/")),"/").concat(a);return d(Object(u.a)(Object(u.a)({},m),{},{loading:!0})),E(e).then((function(t){t.data.result?be.a.get("".concat(window.location.origin,"/api/v1/edit/file/?path=").concat(p(e))).then((function(e){if(e.data.error)return b(t.data.error);d(Object(u.a)(Object(u.a)({},m),{},{code:e.data.content,loading:!1}))})).catch((function(e){return console.error(e)})):console.error("Something went wrong with file type!")})).catch((function(e){return console.error(e)})),function(){document.removeEventListener("keydown",v)}}),[]);var E=function(e){return be.a.get("".concat(window.location.origin,"/file_manager/fm_api.php?dir=").concat(e,"&action=check_file_type"))},p=function(e){return e.split("/").join("%2F")},v=function(e){113===e.keyCode&&f()},f=function(){var e=new FormData,t=l.location.search.substring(6,l.location.search.lastIndexOf("/"));e.append("save","Save"),e.append("contents",m.code),d(Object(u.a)(Object(u.a)({},m),{},{loading:!0})),be.a.post("".concat(window.location.origin,"/api/v1/edit/file/?path=").concat(t,"%2F").concat(a),e).then((function(e){e.data.error?b(e.data.error):b("Saved successfully!"),d(Object(u.a)(Object(u.a)({},m),{},{loading:!1}))})).catch((function(e){return console.error(e)}))},b=function(e){Q.b.success(e,{position:"top-center",autoClose:3e3,hideProgressBar:!1,closeOnClick:!0,pauseOnHover:!0,draggable:!0})},h={mode:function(){switch(a.split(".").pop()){case"js":case"jsx":return"javascript";case"php":return"php";case"css":case"scss":return"css";case"html":return"htmlmixed";default:return"markdown"}}(),lineNumbers:!0};return c.a.createElement("div",{className:"editor"},c.a.createElement(Q.a,null),c.a.createElement("div",{className:"panel-editor"},c.a.createElement("button",{type:"button",className:"btn btn-primary",onClick:f},r.Save),c.a.createElement("button",{type:"button",className:"btn btn-danger",onClick:t},r.Close)),m.loading?c.a.createElement(P,null):c.a.createElement(xe.a,{value:m.code,onChange:function(e){d(Object(u.a)(Object(u.a)({},m),{},{code:e}))},options:h,autoFocus:!0}))}),Le=(a(152),function(e){Object(L.a)(a,e);var t=Object(U.a)(a);function a(){var e;Object(x.a)(this,a);for(var n=arguments.length,r=new Array(n),l=0;l0){var e=new Date(a),t=e.getDate(),n=e.getMonth(),r=e.getFullYear();return c.a.createElement("div",{className:"date"},t," \xa0 ",["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][n]," \xa0 ",r)}}(),c.a.createElement("div",{className:"time"},r),c.a.createElement("div",{className:"status uppercase"},o)),s)}),Xe=(a(159),function(e){var t=Object(n.useState)(185),a=Object(A.a)(t,2),r=a[0],l=a[1];Object(n.useEffect)((function(){return window.addEventListener("resize",o),document.addEventListener("scroll",s),function(){window.removeEventListener("resize",o),document.removeEventListener("scroll",s)}}),[]);var o=function(){document.documentElement.clientWidth<900?l(95):l(185)},s=function(){if(document.documentElement.clientWidth>900){var e=window.scrollY,t=Math.max(95,185-e);l(t)}};return c.a.createElement("div",{className:function(){var t=e.className;return"justify-right"===t?95===r?"toolbar t-shadow "+t:"toolbar "+t:95===r?"toolbar t-shadow":"toolbar"}(),style:function(){if(!e.mobile)return document.documentElement.clientWidth>900?{marginTop:r}:{marginTop:33}}(),id:"v-toolbar"},e.children)}),Ze=(a(160),window.location.origin),$e=function(){var e="/api/v1/login/index.php",t=He();return t&&(e+="?token=".concat(t)),be.a.get("".concat(Ze).concat(e))},et=function(){return function(e,t){return new Promise((function(t,a){$e().then((function(a){var n=a.data,c=n.data,r=n.token,l=n.panel;r&&qe(r),e({type:"REFRESH_COUNTERS",value:{user:c}}),e({type:"REFRESH_PANEL",value:{panel:l}}),t(r)})).catch((function(e){a(),console.error(e)}))}))}},tt=a(10),at=a.n(tt),nt=function(){var e=localStorage.getItem("token"),t=Object(o.d)((function(e){return e.session})).i18n,a=Object(R.g)(),r=Object(o.c)(),l=Object(n.useState)(""),s=Object(A.a)(l,2),i=s[0],m=s[1],d=Object(n.useState)(""),E=Object(A.a)(d,2),p=E[0],v=E[1],f=Object(n.useState)({data:{},loading:!1,dedicated:!1}),b=Object(A.a)(f,2),h=b[0],g=b[1];Object(n.useEffect)((function(){var e=ge.a.parse(a.location.search,{ignoreQueryPrefix:!0}).ip;r(Be("/list/ip/")),r({type:"REMOVE_FOCUSED_ELEMENT",value:""}),e&&(g(Object(u.a)(Object(u.a)({},h),{},{loading:!0})),O(e))}),[]);var O=function(e){(function(e){return be.a.get(Ke+"/api/v1/edit/ip/index.php",{params:{ip:e,token:He()}})})(e).then((function(e){g(Object(u.a)(Object(u.a)({},h),{},{data:e.data,dedicated:!e.data.dedicated,loading:!1}))})).catch((function(e){g(Object(u.a)(Object(u.a)({},h),{},{loading:!1})),console.error(e)}))},N=function(t){t.preventDefault();var a,n={},c=Object(We.a)(new FormData(t.target).entries());try{for(c.s();!(a=c.n()).done;){var l=Object(A.a)(a.value,2),o=l[0],s=l[1];n[o]=s}}catch(i){c.e(i)}finally{c.f()}n.token=e,n.save="save",n.v_ip=h.data.ip,0!==Object.keys(n).length&&n.constructor===Object&&(g(Object(u.a)(Object(u.a)({},h),{},{loading:!0})),function(e,t){var a=new FormData;for(var n in e)a.append(n,e[n]);return be.a.post(Ke+"/api/v1/edit/ip/index.php",a,{params:{ip:t,token:He()}})}(n,h.data.ip).then((function(e){if(200===e.status){var t=e.data,a=t.error_msg,n=t.ok_msg;a?(m(a),v("")):r(et()).then((function(){m(""),v(n)}))}})).then((function(){return O(h.data.ip)})).catch((function(e){return console.error(e)})))};return c.a.createElement("div",{className:"edit-template edit-ip"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(t.IP))),c.a.createElement(Xe,{mobile:!1},c.a.createElement("div",null),c.a.createElement("div",{className:"search-toolbar-name"},t["Editing IP Address"]),c.a.createElement("div",{className:"error"},c.a.createElement("span",{className:"error-message"},i?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):""," ",i)),c.a.createElement("div",{className:"success"},c.a.createElement("span",{className:"ok-message"},p?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):""," ",c.a.createElement("span",null,at()(p))))),c.a.createElement(Qe,{date:h.data.date,time:h.data.time,status:h.data.status},h.loading?c.a.createElement(P,null):c.a.createElement("form",{onSubmit:function(e){return N(e)},id:"edit-ip"},c.a.createElement(ze,{id:"type",name:"v_ip",title:t["IP address"],value:h.data.ip,disabled:!0}),c.a.createElement(ze,{id:"type",name:"v_netmask",title:t.Netmask,value:h.data.netmask,disabled:!0}),c.a.createElement(ze,{id:"type",name:"v_interface",title:t.Interface,value:h.data.interface,disabled:!0}),c.a.createElement(Ye,{onChange:function(e){g(Object(u.a)(Object(u.a)({},h),{},{dedicated:e}))},name:"v_shared",id:"shared",title:t.Shared,defaultChecked:h.dedicated}),!h.dedicated&&c.a.createElement("div",{className:"dedicated-form-group"},c.a.createElement(Je,{options:h.data.users,selected:h.data.owner,title:t["Assigned user"],name:"v_owner",id:"owner"})),c.a.createElement(ze,{id:"type",name:"v_name",title:t["Assigned domain"],value:h.data.name,optionalTitle:t.optional}),c.a.createElement(ze,{id:"type",name:"v_nat",title:t["NAT IP association"],value:h.data.nat,optionalTitle:t.optional}),c.a.createElement("div",{className:"buttons-wrapper"},c.a.createElement("button",{type:"submit",className:"add"},t.Save),c.a.createElement("button",{type:"button",className:"back",onClick:function(){return a.push("/list/ip/")}},t.Back)))))},ct=(a(203),function(e){var t=localStorage.getItem("token"),a=Object(o.d)((function(e){return e.session})),r=a.i18n,l=a.userName,s=Object(o.c)(),i=Object(R.g)(),m=Object(n.useState)({loading:!1,dedicated:!0,okMessage:"",errorMessage:"",interfaces:[],users:[]}),d=Object(A.a)(m,2),E=d[0],p=d[1];Object(n.useEffect)((function(){s(Be("/list/ip/")),s({type:"REMOVE_FOCUSED_ELEMENT",value:""}),p(Object(u.a)(Object(u.a)({},E),{},{loading:!0})),f()}),[]);var v=function(e){e.preventDefault();var t,a={},n=Object(We.a)(new FormData(e.target).entries());try{for(n.s();!(t=n.n()).done;){var c=Object(A.a)(t.value,2),r=c[0],l=c[1];a[r]=l}}catch(o){n.e(o)}finally{n.f()}0!==Object.keys(a).length&&a.constructor===Object&&(p(Object(u.a)(Object(u.a)({},E),{},{loading:!0})),function(e){var t=new FormData;for(var a in e)t.append(a,e[a]);return be.a.post(Ke+"/api/v1/add/ip/index.php",t)}(a).then((function(e){if(200===e.status){var t=e.data,a=t.error_msg,n=t.ok_msg;a?p(Object(u.a)(Object(u.a)({},E),{},{errorMessage:a,okMessage:n,loading:!1})):s(et()).then((function(){p(Object(u.a)(Object(u.a)({},E),{},{okMessage:n,errorMessage:"",loading:!1}))}))}})).catch((function(e){return console.error(e)})))},f=function(){be.a.get(Ke+"/api/v1/add/ip/index.php").then((function(e){p(Object(u.a)(Object(u.a)({},E),{},{interfaces:e.data.interfaces,users:e.data.users,loading:!1}))})).catch((function(e){return console.error(e)}))};return c.a.createElement("div",{className:"edit-template add-ip"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(r.IP))),c.a.createElement(Xe,{mobile:!1},c.a.createElement("div",null),c.a.createElement("div",{className:"search-toolbar-name"},r["Adding Package"]),c.a.createElement("div",{className:"error"},c.a.createElement("span",{className:"error-message"},E.errorMessage?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):"",E.errorMessage)),c.a.createElement("div",{className:"success"},c.a.createElement("span",{className:"ok-message"},E.okMessage?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):"",c.a.createElement("span",null,at()(E.okMessage))))),c.a.createElement(Qe,null,E.loading?c.a.createElement(P,null):c.a.createElement("form",{onSubmit:function(e){return v(e)}},c.a.createElement("input",{type:"hidden",name:"ok",value:"add"}),c.a.createElement("input",{type:"hidden",name:"v_owner",value:l}),c.a.createElement("input",{type:"hidden",name:"token",value:t}),c.a.createElement(ze,{name:"v_ip",id:"ipAddress",title:r["IP address"]}),c.a.createElement(ze,{name:"v_netmask",id:"netmask",title:r.Netmask}),c.a.createElement(Je,{options:E.interfaces,name:"v_interface",id:"interfaces",title:r.Interface}),c.a.createElement(Ye,{onChange:function(e){p(Object(u.a)(Object(u.a)({},E),{},{dedicated:e}))},name:"v_shared",id:"shared",title:r.Shared,defaultChecked:E.dedicated}),E.dedicated?null:c.a.createElement("div",{className:"assigned-user"},c.a.createElement(Je,{options:E.users,name:"v_owner",id:"users",title:r["Assigned user"]})),c.a.createElement(ze,{name:"v_name",id:"name",title:r["Assigned domain"],optionalTitle:r.optional}),c.a.createElement(ze,{name:"v_nat",id:"nat",title:r["NAT IP association"],optionalTitle:r.optional}),c.a.createElement("div",{className:"buttons-wrapper"},c.a.createElement("button",{type:"submit",className:"add"},r.Add),c.a.createElement("button",{type:"button",className:"back",onClick:function(){return i.push("/list/ip/")}},r.Back)))))}),rt=function(e){var t=e.id,a=e.name,n=e.defaultValue,r=void 0===n?"":n,l=e.title,o=e.optionalTitle,s=void 0===o?"":o,i=e.rows,u=void 0===i?"3":i,m=e.disabled,d=void 0!==m&&m,E=Object(w.a)(e,["id","name","defaultValue","title","optionalTitle","rows","disabled"]);return c.a.createElement("div",{className:"form-group"},c.a.createElement("label",{className:"label-wrapper",htmlFor:t},l,c.a.createElement("span",null,s)),c.a.createElement("textarea",Object.assign({className:"form-control",id:t,rows:u,name:a,readOnly:d,defaultValue:r},E)))},lt=window.location.origin,ot=function(e){return be.a.get(lt+e,{params:{token:He()}})},st=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",a=new FormData;for(var n in e)a.append(n,e[n]);return be.a.post(lt+"/api/v1/edit/server/".concat(t,"/index.php"),a,{params:{token:He()}})},it=function(e){return be.a.get("".concat(lt,"/api/v1/edit/server/").concat(e,"/index.php"))},ut=["apache2","clamd","cron","crond","exim","exim4","fail2ban","iptables","mariadb","mysqld","named","php-fpm","php5-fpm","proftpd","spamassassin","spamd","vsftpd"],mt=(a(204),function(e){var t=localStorage.getItem("token"),a=Object(o.d)((function(e){return e.session})).i18n,r=Object(R.g)(),l=Object(o.c)(),s=Object(n.useState)(""),i=Object(A.a)(s,2),m=i[0],d=i[1],E=Object(n.useState)(""),p=Object(A.a)(E,2),v=p[0],f=p[1],b=Object(n.useState)(!0),h=Object(A.a)(b,2),g=h[0],O=h[1],N=Object(n.useState)({data:{},loading:!1,basicOptions:!0,advancedOptions:!1}),j=Object(A.a)(N,2),y=j[0],k=j[1];Object(n.useEffect)((function(){l(Be("/list/server/")),l({type:"REMOVE_FOCUSED_ELEMENT",value:""}),k(Object(u.a)(Object(u.a)({},y),{},{loading:!0})),_()}),[]);var _=function(){it("nginx").then((function(e){k(Object(u.a)(Object(u.a)({},y),{},{data:e.data,loading:!1}))})).catch((function(e){k(Object(u.a)(Object(u.a)({},y),{},{loading:!1})),console.error(e)}))},S=function(){k(Object(u.a)(Object(u.a)({},y),{},{advancedOptions:!y.advancedOptions,basicOptions:!y.basicOptions}))},w=function(e){var t=e.id,a=e.value;if(a){var n=new RegExp("(".concat(t,")(.+)(").concat(y.data[t],")"),"gm"),c=y.data.config.replace(n,"$1$2".concat(a));k(Object(u.a)(Object(u.a)({},y),{},{data:Object(u.a)(Object(u.a)({},y.data),{},Object(M.a)({config:c},t,a))}))}};return c.a.createElement("div",{className:"edit-template edit-nginx"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(a.SERVER))),c.a.createElement(Xe,{mobile:!1},c.a.createElement("div",null),c.a.createElement("div",{className:"search-toolbar-name"},a["Configuring Server"]," / ",y.data.service_name),c.a.createElement("div",{className:"link"},c.a.createElement(pe.b,{to:"/edit/server/php"},a.Configure," php.ini")),c.a.createElement("div",{className:"error"},c.a.createElement("span",{className:"error-message"},m?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):""," ",m)),c.a.createElement("div",{className:"success"},c.a.createElement("span",{className:"ok-message"},v?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):""," ",c.a.createElement("span",null,at()(v))))),c.a.createElement(Qe,null,y.loading?c.a.createElement(P,null):c.a.createElement("form",{onSubmit:function(e){return function(e){e.preventDefault();var t,a={},n=Object(We.a)(new FormData(e.target).entries());try{for(n.s();!(t=n.n()).done;){var c=Object(A.a)(t.value,2),r=c[0],l=c[1];a[r]=l}}catch(o){n.e(o)}finally{n.f()}0!==Object.keys(a).length&&a.constructor===Object&&(k(Object(u.a)(Object(u.a)({},y),{},{loading:!0})),a.v_config=y.data.config,a.v_restart=g?"yes":"no",st(a,"/nginx").then((function(e){if(200===e.status){var t=e.data,a=t.error_msg,n=t.ok_msg;a?(d(a),f("")):(d(""),f(n))}})).then((function(){return _()})).catch((function(e){return console.error(e)})))}(e)},id:"edit-mail"},c.a.createElement("input",{type:"hidden",name:"save",value:"save"}),c.a.createElement("input",{type:"hidden",name:"token",value:t}),!y.basicOptions&&c.a.createElement("button",{type:"button",onClick:function(){return S()}},a["Basic options"],y.basicOptions?c.a.createElement(W.a,{icon:"caret-up"}):c.a.createElement(W.a,{icon:"caret-down"})),y.basicOptions&&c.a.createElement(c.a.Fragment,null,c.a.createElement(ze,{id:"worker_processes",title:"worker_processes",name:"v_worker_processes",onChange:function(e){return w(e.target)},value:y.data.worker_processes}),c.a.createElement(ze,{id:"worker_connections",title:"worker_connections",name:"v_worker_connections",onChange:function(e){return w(e.target)},value:y.data.worker_connections}),c.a.createElement(ze,{id:"client_max_body_size",title:"client_max_body_size",name:"v_client_max_body_size",onChange:function(e){return w(e.target)},value:y.data.client_max_body_size}),c.a.createElement(ze,{id:"send_timeout",title:"send_timeout",name:"v_send_timeout",onChange:function(e){return w(e.target)},value:y.data.send_timeout}),c.a.createElement(ze,{id:"proxy_connect_timeout",title:"proxy_connect_timeout",name:"v_proxy_connect_timeout",onChange:function(e){return w(e.target)},value:y.data.proxy_connect_timeout}),c.a.createElement(ze,{id:"proxy_send_timeout",title:"proxy_send_timeout",name:"v_proxy_send_timeout",onChange:function(e){return w(e.target)},value:y.data.proxy_send_timeout}),c.a.createElement(ze,{id:"proxy_read_timeout",title:"proxy_read_timeout",name:"v_proxy_read_timeout",onChange:function(e){return w(e.target)},value:y.data.proxy_read_timeout}),c.a.createElement(ze,{id:"gzip",title:"gzip",name:"v_gzip",onChange:function(e){return w(e.target)},value:y.data.gzip}),c.a.createElement(ze,{id:"gzip_comp_level",title:"gzip_comp_level",name:"v_gzip_comp_level",onChange:function(e){return w(e.target)},value:y.data.gzip_comp_level}),c.a.createElement(ze,{id:"charset",title:"charset",name:"v_charset",onChange:function(e){return w(e.target)},value:y.data.charset})),!y.advancedOptions&&c.a.createElement("button",{type:"button",onClick:function(){return S()}},a["Advanced options"],y.advancedOptions?c.a.createElement(W.a,{icon:"caret-up"}):c.a.createElement(W.a,{icon:"caret-down"})),c.a.createElement("br",null),c.a.createElement("br",null),y.advancedOptions&&c.a.createElement(c.a.Fragment,null,c.a.createElement(rt,{defaultValue:y.data.config,title:y.data.config_path,onChange:function(e){return k(Object(u.a)(Object(u.a)({},y),{},{data:Object(u.a)(Object(u.a)({},y.data),{},{config:e.target.value})}))},name:"v_config",id:"v_config",rows:"25"}),c.a.createElement("br",null),c.a.createElement(Ye,{title:a.restart,defaultChecked:!0,onChange:function(e){return O(e)},name:"v_restart",id:"restart"})),c.a.createElement("div",{className:"buttons-wrapper"},c.a.createElement("button",{type:"submit",className:"add"},a.Save),c.a.createElement("button",{type:"button",className:"back",onClick:function(){return r.push("/list/server/")}},a.Back)))))}),dt=(a(205),function(){var e=localStorage.getItem("token"),t=Object(o.d)((function(e){return e.session})).i18n,a=Object(R.g)(),r=Object(o.c)(),l=Object(n.useState)(""),s=Object(A.a)(l,2),i=s[0],m=s[1],d=Object(n.useState)(""),E=Object(A.a)(d,2),p=E[0],v=E[1],f=Object(n.useState)({data:{},loading:!1}),b=Object(A.a)(f,2),h=b[0],g=b[1];Object(n.useEffect)((function(){r(Be("/list/server/")),r({type:"REMOVE_FOCUSED_ELEMENT",value:""}),g(Object(u.a)(Object(u.a)({},h),{},{loading:!0})),O()}),[]);var O=function(){it("postgresql").then((function(e){e.data.config||a.push("/list/server"),g(Object(u.a)(Object(u.a)({},h),{},{data:e.data,loading:!1}))})).catch((function(e){g(Object(u.a)(Object(u.a)({},h),{},{loading:!1})),console.error(e)}))};return c.a.createElement("div",{className:"edit-template edit-pgsql"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(t.SERVER))),c.a.createElement(Xe,{mobile:!1},c.a.createElement("div",null),c.a.createElement("div",{className:"search-toolbar-name"},t["Configuring Server"]," / ",h.data.service_name),c.a.createElement("div",{className:"error"},c.a.createElement("span",{className:"error-message"},i?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):""," ",i)),c.a.createElement("div",{className:"success"},c.a.createElement("span",{className:"ok-message"},p?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):""," ",c.a.createElement("span",null,at()(p))))),c.a.createElement(Qe,null,h.loading?c.a.createElement(P,null):c.a.createElement("form",{onSubmit:function(e){return function(e){e.preventDefault();var t,a={},n=Object(We.a)(new FormData(e.target).entries());try{for(n.s();!(t=n.n()).done;){var c=Object(A.a)(t.value,2),r=c[0],l=c[1];a[r]=l}}catch(o){n.e(o)}finally{n.f()}0!==Object.keys(a).length&&a.constructor===Object&&(g(Object(u.a)(Object(u.a)({},h),{},{loading:!0})),st(a,"/postgresql").then((function(e){if(200===e.status){var t=e.data,a=t.error_msg,n=t.ok_msg;m(a||""),v(n||"")}})).then((function(){return O()})).catch((function(e){return console.error(e)})))}(e)},id:"edit-pgsql"},c.a.createElement("input",{type:"hidden",name:"save",value:"save"}),c.a.createElement("input",{type:"hidden",name:"token",value:e}),c.a.createElement(rt,{defaultValue:h.data.options,title:h.data.options_path,name:"v_options",id:"v_options",rows:"10"}),c.a.createElement("br",null),c.a.createElement(rt,{defaultValue:h.data.config,title:h.data.config_path,name:"v_config",id:"v_config",rows:"10"}),c.a.createElement("br",null),c.a.createElement(Ye,{title:t.restart,defaultChecked:!0,name:"v_restart",id:"restart"}),c.a.createElement("div",{className:"buttons-wrapper"},c.a.createElement("button",{type:"submit",className:"add"},t.Save),c.a.createElement("button",{type:"button",className:"back",onClick:function(){return a.push("/list/server/")}},t.Back)))))}),Et=window.location.origin,pt=(a(206),function(){var e=localStorage.getItem("token"),t=Object(o.d)((function(e){return e.session})).i18n,a=Object(R.g)(),r=Object(o.c)(),l=Object(n.useState)(""),s=Object(A.a)(l,2),i=s[0],m=s[1],d=Object(n.useState)(""),E=Object(A.a)(d,2),p=E[0],v=E[1],f=Object(n.useState)({data:{},loading:!1}),b=Object(A.a)(f,2),h=b[0],g=b[1];Object(n.useEffect)((function(){r(Be("/list/backup/")),r({type:"REMOVE_FOCUSED_ELEMENT",value:""}),g(Object(u.a)(Object(u.a)({},h),{},{loading:!0})),O()}),[]);var O=function(){be.a.get(Et+"".concat("/api/v1/edit/backup/exclusions/index.php")).then((function(e){g(Object(u.a)(Object(u.a)({},h),{},{data:e.data,loading:!1}))})).catch((function(e){return console.error(e)}))},N=function(t){t.preventDefault();var a,n={},c=Object(We.a)(new FormData(t.target).entries());try{for(c.s();!(a=c.n()).done;){var r=Object(A.a)(a.value,2),l=r[0],o=r[1];n[l]=o}}catch(s){c.e(s)}finally{c.f()}n.token=e,n.save="save",0!==Object.keys(n).length&&n.constructor===Object&&(g(Object(u.a)(Object(u.a)({},h),{},{loading:!0})),function(e){var t=new FormData;for(var a in e)t.append(a,e[a]);return be.a.post(Et+"/api/v1/edit/backup/exclusions/index.php",t,{params:{token:He()}})}(n).then((function(e){if(200===e.status){var t=e.data,a=t.error_msg,n=t.ok_msg;m(a||""),v(n||"")}})).then((function(){return O()})).catch((function(e){return console.error(e)})))};return c.a.createElement("div",{className:"edit-template edit-backup-exclusions"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(t.BACKUP))),c.a.createElement(Xe,{mobile:!1},c.a.createElement("div",null),c.a.createElement("div",{className:"search-toolbar-name"},t["Editing Backup Exclusions"]),c.a.createElement("div",{className:"error"},c.a.createElement("span",{className:"error-message"},i?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):""," ",i)),c.a.createElement("div",{className:"success"},c.a.createElement("span",{className:"ok-message"},p?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):""," ",c.a.createElement("span",null,at()(p))))),c.a.createElement(Qe,null,h.loading?c.a.createElement(P,null):c.a.createElement("form",{onSubmit:function(e){return N(e)},id:"edit-backup-exclusions"},c.a.createElement(rt,{title:t["Web Domains"],defaultValue:h.data.web,name:"v_web",id:"v_web"}),c.a.createElement(rt,{title:t["Mail Domains"],defaultValue:h.data.mail,name:"v_mail",id:"v_mail"}),c.a.createElement(rt,{title:t.Databases,defaultValue:h.data.db,name:"v_db",id:"v_db"}),c.a.createElement(rt,{title:t["User Directories"],defaultValue:h.data.userdir,name:"v_userdir",id:"v_userdir"}),c.a.createElement("div",{className:"buttons-wrapper"},c.a.createElement("button",{type:"submit",className:"add"},t.Save),c.a.createElement("button",{type:"button",className:"back",onClick:function(){return a.push("/list/backup/exclusions")}},t.Back)))))}),vt=function(e){return{type:"ADD_CPANEL_FOCUSED_ELEMENT",value:e}},ft=(a(207),function(e){var t=Object(o.d)((function(e){return e.session})).i18n,a={usersList:[t.Date,t.Username,t.Disk,t.Bandwidth,t.Starred],webList:[t.Date,t.Domain,t["IP Addresses"],t.Disk,t.Bandwidth,t.Starred],dnsList:[t.Date,t.Expire,t.Domain,t["IP Addresses"],t.Records,t.Starred],mailList:[t.Date,t.Domain,t.Accounts,t.Disk,t.Starred],mailAccountList:[t.Date,t.Accounts,t.Disk,t.Starred],dbList:[t.Date,t.Database,t.Disk,t.User,t.Host,t.Starred],cronList:[t.Date,t.Command,t.Starred],packagesList:[t.Date,t["Package Name"],t.Starred],internetProtocolsList:[t.Date,t.IP,t.Netmask,t.Interface,t.Domain,t.Owner,t.Starred],firewallList:[t.Action,t.Protocol,t.Port,t["IP Addresses"],t.Comment,t.Starred],searchList:[t.Date,t.Name,t.Starred]},n=function(t,a){e.changeSorting(t,a)},r=function(t,a){return e.sorting===t&&e.order===a?"dropdown-item active":"dropdown-item"};return c.a.createElement("div",{className:"btn-group"},c.a.createElement("button",{className:"btn btn-sm btn-outline-secondary dropdown-toggle",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},t["sort by"],": ",c.a.createElement("b",null,e.sorting),"descending"===e.order?c.a.createElement("span",{className:"arrow-down"},"\u2193"):c.a.createElement("span",null,"\u2191")),c.a.createElement("div",{className:"dropdown-menu"},c.a.createElement("ul",{className:"dropdown-list"},function(){var t=e.list;return a[t].map((function(e,t){return c.a.createElement("li",{key:t},c.a.createElement("span",{className:r(e,"descending"),onClick:function(){return n(e,"descending")}},e,c.a.createElement("span",{className:"arrow-down"},"\u2193")),c.a.createElement("span",{className:r(e,"ascending"),onClick:function(){return n(e,"ascending")}},c.a.createElement("span",null,"\u2191")))}))}())))}),bt=(a(208),function(e){var t=Object(n.useState)(""),a=Object(A.a)(t,2),r=a[0],l=a[1],o=Object(n.useRef)(null),s=function(){if(r&&""!==r)return e.handleSearchTerm(r)};Object(n.useEffect)((function(){return window.addEventListener("keyup",i),function(){return window.removeEventListener("keyup",i)}}),[]);var i=function(e){if(70===e.keyCode)return o.current.focus()};return c.a.createElement("form",{onSubmit:function(e){e.preventDefault(),r&&s()}},c.a.createElement("div",{className:"search-input-form"},c.a.createElement("input",{type:"text",className:"form-control",onChange:function(e){return l(e.target.value)},ref:o}),c.a.createElement("button",{className:"btn btn-outline-secondary",type:"submit",onClick:function(){return s()}},c.a.createElement(W.a,{icon:"search"}))))}),ht=window.location.origin,gt=function(e,t){return be.a.get(ht+"/api/v1/add/favorite/index.php",{params:{v_unit_id:e,v_section:t}})},Ot=function(e,t){return be.a.get(ht+"/api/v1/delete/favorite/index.php",{params:{v_unit_id:e,v_section:t}})},Nt=(a(209),function(e){var t=Object(o.d)((function(e){return e.session})).i18n,a=Object(n.useState)({starred:!1}),r=Object(A.a)(a,2),l=r[0],s=r[1];Object(n.useEffect)((function(){e.hasOwnProperty("starred")&&s(Object(u.a)(Object(u.a)({},l),{},{starred:Boolean(e.starred)}))}),[e.starred]);var i=function(){e.checkItem()};return c.a.createElement("div",{className:function(){var t=l.starred,a=e.checked,n=e.outdated,c=e.suspended,r=e.stopped,o="list-item";return a&&(o+=" toggled"),t&&(o+=" starred"),n&&(o+=" outdated"),(c||r)&&(o+=" suspended"),e.focused&&(o+=" focused"),e.sysInfo&&(o+=" sys-info"),o}(),id:e.id},c.a.createElement(Ge,{className:"l-col w-14"},function(e){if(e){var t=new Date(e),a=t.getDate(),n=t.getMonth()+1,r=t.getFullYear();return c.a.createElement("div",{className:"date"},a," \xa0 ",["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][n-1]," \xa0 ",r)}}(e.date),c.a.createElement("div",{className:"text-status"},c.a.createElement("div",{className:"checkbox"},c.a.createElement("input",{type:"checkbox",onChange:i,checked:e.checked})),e.leftNameText),c.a.createElement("div",{className:"star"},c.a.createElement("div",{className:"checkbox"},c.a.createElement("input",{type:"checkbox",onChange:i,checked:e.checked})),c.a.createElement("div",{onClick:function(){s(Object(u.a)(Object(u.a)({},l),{},{starred:!l.starred})),e.toggleFav(!l.starred)}},c.a.createElement(W.a,{icon:"star"}))),e.suspended&&c.a.createElement("div",{className:"suspended"},t.suspended),e.stopped&&c.a.createElement("div",{className:"stopped"},t.stopped)),e.children)}),jt=(a(210),function(e){var t=e.data,a=Object(o.d)((function(e){return e.session})).i18n;return c.a.createElement(Nt,{id:t.NAME,focused:t.FOCUSED,checked:t.isChecked,date:t.DATE,starred:t.STARRED,toggleFav:function(a){a?e.toggleFav(t.NAME,"add"):e.toggleFav(t.NAME,"delete")},checkItem:function(){e.checkItem(t.NAME)}},c.a.createElement(Ge,{className:"r-col w-85"},c.a.createElement("div",{className:"name"},t.NAT?c.a.createElement(c.a.Fragment,null,t.NAT," ",c.a.createElement(W.a,{icon:"long-arrow-alt-right"})," ",t.NAME):t.NAME),c.a.createElement("br",null),c.a.createElement("div",{className:"stats"},c.a.createElement(Ge,{className:"c-1 w-35"},c.a.createElement("div",{className:"ip"},c.a.createElement("span",{className:"stat"},t.NETMASK)),c.a.createElement("div",{className:"soa"},c.a.createElement("span",{className:"stat"},t.INTERFACE))),c.a.createElement(Ge,{className:"c-2 w-30"},c.a.createElement("div",null,a.Domains,": ",c.a.createElement("span",{className:"stat"},t.U_WEB_DOMAINS)),c.a.createElement("div",null,a.Status,": ",c.a.createElement("span",{className:"stat"},t.STATUS))),c.a.createElement(Ge,{className:"c-3 w-35"},c.a.createElement("div",null,a.Owner,": ",c.a.createElement("span",{className:"stat"},t.OWNER)),c.a.createElement("div",null,a.Users,": ",c.a.createElement("span",{className:"stat"},t.U_SYS_USERS.replace(/,/g,", ")))))),c.a.createElement("div",{className:"actions"},c.a.createElement("div",null,c.a.createElement(pe.b,{className:"link-edit",to:"/edit/ip/?ip=".concat(t.NAME)},a.edit,t.FOCUSED?c.a.createElement("span",{className:"shortcut-button html-unicode"},"\u21a9"):c.a.createElement(W.a,{icon:"pen"}))),c.a.createElement("div",null,c.a.createElement("button",{className:"link-delete",onClick:function(){e.handleModal(t.delete_conf,"/api/v1/delete/ip/?ip=".concat(t.NAME))}},a.Delete,t.FOCUSED?c.a.createElement("span",{className:"shortcut-button del"},"Del"):c.a.createElement(W.a,{icon:"times"})))))}),yt=(a(211),function(e){var t=e.showLeftMenu,a=e.list,n=e.name,r=e.href,l=e.onClick,o=void 0===l?function(){}:l,s=function(){return"server"===a?c.a.createElement(W.a,{icon:"cog"}):"backup-details"===a?c.a.createElement(W.a,{icon:"play"}):c.a.createElement(W.a,{icon:"plus"})};return c.a.createElement("div",{className:t?"server"===a?"l-menu server-icon":"backup-details"===a?"l-menu backup-details-icon":"l-menu":"l-menu none"},r?c.a.createElement(pe.b,{to:r},s(),c.a.createElement("span",{className:"add"},n)):c.a.createElement("button",{onClick:o},s(),c.a.createElement("span",{className:"add"},n)))});a(212);var kt=function(e){var t=Object(o.d)((function(e){return e.session})).i18n;return c.a.createElement("div",{className:"input-group-prepend"},c.a.createElement("div",{className:"input-group-text"},c.a.createElement("input",{type:"checkbox",onChange:function(t){return function(e,t){e.toggleAll(t.target.checked)}(e,t)},"aria-label":"Checkbox for following text input",id:"checkbox",checked:e.toggled})),c.a.createElement("span",{className:"input-group-text"},c.a.createElement("label",{htmlFor:"checkbox"},t["toggle all"])))},_t=(a(213),function(e){var t=e.cronReports,a=Object(w.a)(e,["cronReports"]),r=Object(o.d)((function(e){return e.session})).i18n,l=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{usersList:[{value:"rebuild",name:e.rebuild},{value:"rebuild web",name:e["rebuild web"]},{value:"rebuild dns",name:e["rebuild dns"]},{value:"rebuild mail",name:e["rebuild mail"]},{value:"rebuild db",name:e["rebuild db"]},{value:"rebuild cron",name:e["rebuild cron"]},{value:"update counters",name:e["update counters"]},{value:"suspend",name:e.suspend},{value:"unsuspend",name:e.unsuspend},{value:"delete",name:e.delete}],webList:[{value:"suspend",name:e.suspend},{value:"unsuspend",name:e.unsuspend},{value:"delete",name:e.delete}],dnsList:[{value:"suspend",name:e.suspend},{value:"unsuspend",name:e.unsuspend},{value:"delete",name:e.delete}],mailList:[{value:"suspend",name:e.suspend},{value:"unsuspend",name:e.unsuspend},{value:"delete",name:e.delete}],dbList:[{value:"suspend",name:e.suspend},{value:"unsuspend",name:e.unsuspend},{value:"delete",name:e.delete}],cronList:[{value:"add-cron-reports",name:e["turn on notifications"]},{value:"delete-cron-reports",name:e["turn off notifications"]},{value:"suspend",name:e.suspend},{value:"unsuspend",name:e.unsuspend},{value:"delete",name:e.delete}],backupList:[{value:"delete",name:e.delete}],packagesList:[{value:"delete",name:e.delete}],internetProtocolsList:[{value:"reread IP",name:e["reread IP"]},{value:"delete",name:e.delete}],updatesList:[{value:"update",name:e.update}],firewallList:[{value:"suspend",name:e.suspend},{value:"unsuspend",name:e.unsuspend},{value:"delete",name:e.delete}],serverList:[{value:"stop",name:e.stop},{value:"start",name:e.start},{value:"restart",name:e.restart}],backupDetailList:[{value:"restore",name:e.restore}],banList:[{value:"delete",name:e.delete}]}}(r),s=Object(n.useState)({usersList:l.usersList,webList:l.webList,dnsList:l.dnsList,mailList:l.mailList,dbList:l.dbList,cronList:l.cronList,backupList:l.backupList,packagesList:l.packagesList,internetProtocolsList:l.internetProtocolsList,statisticsList:[],updatesList:l.updatesList,firewallList:l.firewallList,serverList:l.serverList,backupDetailList:l.backupDetailList,banList:l.banList,selected:""}),i=Object(A.a)(s,2),m=i[0],d=i[1];Object(n.useEffect)((function(){var e=a.list;d(Object(u.a)(Object(u.a)({},m),{},{list:e}))}),[]);var E=function(){return"statisticsList"===a.list?r["show per user"]:r["apply to selected"]};return c.a.createElement("div",{className:"select-wrapper"},c.a.createElement("select",{className:"custom-select",id:"inputGroupSelect04",onChange:function(e){d(Object(u.a)(Object(u.a)({},m),{},{selected:e.target.value}))}},c.a.createElement("option",{defaultValue:E(),value:E()},"statisticsList"===a.list?r["show per user"]:r["apply to selected"]),function(){var e=a.list,n=m[e];return"cronList"===e&&(n=t?n.filter((function(e,t){return 0!==t})):n.filter((function(e,t){return 1!==t}))),"statisticsList"===e?a.users.map((function(e,t){return c.a.createElement("option",{key:t,value:e},e)})):n.map((function(e,t){return c.a.createElement("option",{key:t,value:e.value},e.name)}))}()),c.a.createElement("div",{className:"input-group-append"},c.a.createElement("button",{className:"btn btn-outline-secondary",type:"button",onClick:function(){a.bulkAction(m.selected),d(Object(u.a)(Object(u.a)({},m),{},{selected:""}))}},c.a.createElement(W.a,{icon:"angle-right"}))))}),St=(a(214),function(e){var t=e.show,a=e.text,n=e.onSave,r=e.onCancel,l=e.showSaveButton,s=void 0===l||l,i=e.showCancelButton,u=void 0===i||i,m=Object(o.d)((function(e){return e.session})).i18n;return c.a.createElement("div",null,c.a.createElement("div",{className:"modal fade ".concat(t?"show":""),id:"c-panel-modal",tabindex:"-1",role:"dialog","aria-labelledby":"exampleModalLabel","aria-hidden":"true",style:{display:t?"block":"none"}},c.a.createElement("div",{className:"modal-dialog",role:"document"},c.a.createElement("div",{className:"modal-content"},c.a.createElement("div",{className:"modal-header"},c.a.createElement("h5",{className:"modal-title",id:"exampleModalLabel"},m.Confirmation),c.a.createElement("button",{type:"button",onClick:function(){return r()},className:"close","data-dismiss":"modal","aria-label":"Close"},c.a.createElement("span",{"aria-hidden":"true"},"\xd7"))),c.a.createElement("div",{className:"modal-body"},a),c.a.createElement("div",{className:"modal-footer"},u?c.a.createElement("button",{onClick:function(){return r()},type:"button",className:"btn btn-secondary","data-dismiss":"modal"},m.Cancel):"",s?c.a.createElement("button",{onClick:function(){return n()},type:"button",className:"btn btn-primary"},m.OK):"")))))}),wt=(a(215),function(e){var t=Object(o.d)((function(e){return e.session})).i18n,a=Object(o.d)((function(e){return e.controlPanelContent})).controlPanelFocusedElement,r=Object(o.d)((function(e){return e.mainNavigation})).focusedElement,l=Object(o.c)(),s=Object(n.useState)(!1),i=Object(A.a)(s,2),m=i[0],d=i[1],E=Object(n.useState)({text:"",visible:!1,actionUrl:""}),p=Object(A.a)(E,2),v=p[0],f=p[1],b=Object(n.useState)({internetProtocols:[],ipFav:[],toggledAll:!1,sorting:t.Date,order:"descending",selection:[],totalAmount:""}),h=Object(A.a)(b,2),g=h[0],O=h[1];Object(n.useEffect)((function(){return l(Be("/list/ip/")),l({type:"REMOVE_FOCUSED_ELEMENT",value:""}),l({type:"REMOVE_CPANEL_FOCUSED_ELEMENT",value:""}),C().then((function(){return d(!1)})),function(){l({type:"REMOVE_CPANEL_FOCUSED_ELEMENT",value:""})}}),[]),Object(n.useEffect)((function(){return window.addEventListener("keydown",N),window.addEventListener("keydown",_),function(){window.removeEventListener("keydown",N),window.removeEventListener("keydown",_)}}),[a,r,g.internetProtocols]);var N=function(e){38!==e.keyCode&&40!==e.keyCode||r&&l({type:"REMOVE_FOCUSED_ELEMENT",value:""}),38===e.keyCode?(e.preventDefault(),k()):40===e.keyCode&&(e.preventDefault(),y())},j=function(e){e[0].FOCUSED=e[0].NAME,O(Object(u.a)(Object(u.a)({},g),{},{internetProtocols:e})),l(vt(e[0].NAME))},y=function(){var e=Object(I.a)(g.internetProtocols);if(""!==a){var t=e.findIndex((function(e){return e.NAME===a}));if(t!==e.length-1){var n=e[t+1];e[t].FOCUSED="",n.FOCUSED=n.NAME,document.getElementById(n.NAME).scrollIntoView({behavior:"smooth",block:"center"}),O(Object(u.a)(Object(u.a)({},g),{},{internetProtocols:e})),l(vt(n.NAME))}}else j(e)},k=function(){var e=Object(I.a)(g.internetProtocols);if(""!==a){var t=e.findIndex((function(e){return e.NAME===a}));if(0!==t){var n=e[t-1];e[t].FOCUSED="",n.FOCUSED=n.NAME,document.getElementById(n.NAME).scrollIntoView({behavior:"smooth",block:"center"}),O(Object(u.a)(Object(u.a)({},g),{},{internetProtocols:e})),l(vt(n.NAME))}}else j(e)},_=function(e){var t=document.querySelector("input:focus")||document.querySelector("textarea:focus");if(a&&!t)switch(e.keyCode){case 8:return w();case 13:return S()}},S=function(){e.history.push("/edit/ip/?ip=".concat(a))},w=function(){var e=g.internetProtocols.filter((function(e){return e.NAME===a}))[0];U(e.delete_conf,"/api/v1/delete/ip/?ip=".concat(a))},C=function(){return d(!0),new Promise((function(e,t){be.a.get(Ke+"/api/v1/list/ip/index.php").then((function(t){O(Object(u.a)(Object(u.a)({},g),{},{internetProtocols:D(t.data.data),ipFav:t.data.ipFav,selection:[],totalAmount:t.data.totalAmount,toggledAll:!1})),e()})).catch((function(e){return console.error(e)}))}))},D=function(e){var t=[];for(var n in e)e[n].NAME=n,e[n].FOCUSED=a===n,t.push(e[n]);return t},M=function(e){var t=g.selection,a=g.internetProtocols,n=Object(I.a)(t),c=a,r=n.indexOf(e),l=c.findIndex((function(t){return t.NAME===e}));c[l].isChecked=!c[l].isChecked,-1!==r?n.splice(r,1):n.push(e),O(Object(u.a)(Object(u.a)({},g),{},{internetProtocols:c,selection:n}))},F=function(e){var t=g.order,a=g.sorting,n=x(a);return"descending"===t?e.sort((function(e,t){return e[n]t[n]?1:t[n]>e[n]?-1:0}))},x=function(e){var a=t.Date,n=t.IP,c=t.Domains,r=t.Netmask,l=t.Interface,o=t.Owner,s=t.Starred;switch(e){case a:return"DATE";case n:return"IP";case r:return"NETMASK";case l:return"INTERFACE";case c:return"U_WEB_DOMAINS";case o:return"OWNER";case s:return"STARRED"}},T=function(e,t){var a=g.ipFav;"add"===t?(a[e]=1,gt(e,"ip").then((function(){O(Object(u.a)(Object(u.a)({},g),{},{ipFav:a}))})).catch((function(e){console.error(e)}))):(a[e]=void 0,Ot(e,"ip").then((function(){O(Object(u.a)(Object(u.a)({},g),{},{ipFav:a}))})).catch((function(e){console.error(e)})))},L=function(e){var t=Object(I.a)(g.internetProtocols);if(e){var a=[],n=t.map((function(e){return a.push(e.NAME),e.isChecked=!0,e}));O(Object(u.a)(Object(u.a)({},g),{},{internetProtocols:n,selection:a,toggledAll:e}))}else{var c=t.map((function(e){return e.isChecked=!1,e}));O(Object(u.a)(Object(u.a)({},g),{},{internetProtocols:c,selection:[],toggledAll:e}))}},U=function(e,t){f(Object(u.a)(Object(u.a)({},v),{},{visible:!0,text:e,actionUrl:t}))},R=function(){l(et()).then((function(){return d(!1)}))},V=function(){f(Object(u.a)(Object(u.a)({},v),{},{visible:!1,text:"",actionUrl:""}))};return c.a.createElement("div",{className:"internetProtocols"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(t.IP))),c.a.createElement(Xe,{mobile:!1},c.a.createElement(yt,{name:t["Add IP"],href:"/add/ip/",showLeftMenu:!0}),c.a.createElement("div",{className:"r-menu"},c.a.createElement("div",{className:"input-group input-group-sm"},c.a.createElement(kt,{toggleAll:L,toggled:g.toggledAll}),c.a.createElement(_t,{list:"internetProtocolsList",bulkAction:function(e){var t=g.selection;t.length&&e&&(d(!0),function(e,t){var a=new FormData;return a.append("action",e),a.append("token",He()),t.forEach((function(e){a.append("ip[]",e)})),be.a.post(Ke+"/api/v1/bulk/ip/",a)}(e,t).then((function(e){200===e.status&&(L(!1),C().then((function(){return R()})))})).catch((function(e){return console.error(e)})))}}),c.a.createElement(ft,{changeSorting:function(e,t){O(Object(u.a)(Object(u.a)({},g),{},{sorting:e,order:t}))},sorting:g.sorting,order:g.order,list:"internetProtocolsList"}),c.a.createElement(bt,{handleSearchTerm:function(t){return e.changeSearchTerm(t)}})))),c.a.createElement("div",{className:"ip-wrapper"},m?c.a.createElement(P,null):c.a.createElement(c.a.Fragment,null,function(){var e=g.internetProtocols,t=Object(u.a)({},g.ipFav),n=[];return e.forEach((function(e){e.FOCUSED=a===e.NAME,t[e.NAME]?e.STARRED=t[e.NAME]:e.STARRED=0,n.push(e)})),F(n).map((function(e,t){return c.a.createElement(jt,{data:e,key:t,toggleFav:T,checkItem:M,handleModal:U})}))}(),c.a.createElement("div",{className:"total"},g.totalAmount))),c.a.createElement(St,{onSave:function(){if(!v.actionUrl)return V();var e;V(),d(!0),(e=v.actionUrl,be.a.get(Ke+e,{params:{token:He()}})).then((function(e){if(e.data.error)return d(!1),U(e.data.error,"");C().then((function(){return R()}))})).catch((function(e){d(!1),console.error(e)}))},onCancel:V,show:v.visible,text:v.text}))}),At=window.location.origin,Ct="/api/v1/generate/ssl/index.php",Dt=function(e){return e?be.a.get(At+Ct,{params:{domain:e}}):be.a.get(At+Ct)},Mt=function(e){var t=e.defaultValue,a=e.onChange,r=void 0===a?function(){}:a,l=e.id,s=e.name,i=e.title,m=e.showGenerationButton,d=void 0===m||m,E=Object(w.a)(e,["defaultValue","onChange","id","name","title","showGenerationButton"]),p=Object(o.d)((function(e){return e.session})).i18n,v=Object(n.useState)({hidePassword:!1,generatedPassword:""}),f=Object(A.a)(v,2),b=f[0],h=f[1];Object(n.useEffect)((function(){t&&!b.generatedPassword&&h(Object(u.a)(Object(u.a)({},b),{},{generatedPassword:t}))}),[t]);var g=function(e){h(Object(u.a)(Object(u.a)({},b),{},{generatedPassword:e})),r(e)};return c.a.createElement("div",{className:"form-group"},c.a.createElement("label",{htmlFor:"password"},i||p.Password,d&&c.a.createElement(c.a.Fragment,null," / ",c.a.createElement("button",{type:"button",className:"generate-password",onClick:function(){return function(){for(var e="0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz",t="",a=0;a<10;a++){var n=Math.floor(Math.random()*e.length);t+=e.substr(n,1)}h(Object(u.a)(Object(u.a)({},b),{},{generatedPassword:t})),r(t)}()}},p.Generate))),c.a.createElement("div",{className:"password-wrapper"},c.a.createElement("input",Object.assign({type:b.hidePassword?"password":"text",className:"form-control",id:"password_".concat(l),name:s,value:b.generatedPassword,onChange:function(e){return g(e.target.value)}},E)),c.a.createElement("button",{type:"button",onClick:function(){h(Object(u.a)(Object(u.a)({},b),{},{hidePassword:!b.hidePassword}))}},b.hidePassword?c.a.createElement("span",{className:"eye-slash"},c.a.createElement(W.a,{icon:"eye-slash"})):c.a.createElement("span",{className:"eye"},c.a.createElement(W.a,{icon:"eye"})))))},Ft=(a(216),function(e){e.domain;var t=e.data,a=void 0===t?{}:t,r=e.onDeleteAdditionalFtp,l=e.prefixI18N,s=e.prePath,i=e.checked,m=(Object(w.a)(e,["domain","data","onDeleteAdditionalFtp","prefixI18N","prePath","checked"]),Object(o.d)((function(e){return e.session}))),d=m.i18n,E=m.userName,p=Object(n.useState)({username:a.v_ftp_user||"",path:a.v_ftp_path||""}),v=Object(A.a)(p,2),f=v[0],b=v[1];return function(){var e;return a.deleted?0===a.is_new?c.a.createElement(c.a.Fragment,null,c.a.createElement("input",{type:"hidden",name:"v_ftp_user[".concat(a.id,"][delete]"),value:"1"}),c.a.createElement("input",{type:"hidden",name:"v_ftp_user[".concat(a.id,"][is_new]"),value:a.is_new}),c.a.createElement("input",{type:"hidden",name:"v_ftp_user[".concat(a.id,"][v_ftp_user]"),value:a.v_ftp_user}),c.a.createElement("input",{type:"hidden",name:"v_ftp_user[".concat(a.id,"][v_ftp_password]"),value:a.v_ftp_password}),c.a.createElement("input",{type:"hidden",name:"v_ftp_user[".concat(a.id,"][v_ftp_path]"),value:a.v_ftp_path}),c.a.createElement("input",{type:"hidden",name:"v_ftp_user[".concat(a.id,"][v_ftp_pre_path]"),value:s})):c.a.createElement(c.a.Fragment,null):i?c.a.createElement("div",{className:"additional-ftp"},c.a.createElement("div",{className:"title"},c.a.createElement("input",{type:"hidden",name:"v_ftp_user[".concat(a.id,"][v_ftp_user]"),value:a.v_ftp_user}),c.a.createElement("input",{type:"hidden",name:"v_ftp_user[".concat(a.id,"][delete]"),value:"0"}),c.a.createElement("input",{type:"hidden",name:"v_ftp_user[".concat(a.id,"][is_new]"),value:a.is_new}),c.a.createElement("span",{className:"data.indexed-name"},d.FTP," #",a.id+1),c.a.createElement("span",null,"\xa0",c.a.createElement("button",{type:"button",onClick:function(){return r(a.id)}},"(",null!==(e=d.Delete)&&void 0!==e?e:"Delete",")"))),c.a.createElement("div",{className:"form-transform"},c.a.createElement("div",{className:"form-group username"},c.a.createElement("label",{htmlFor:"ftp_user_".concat(a.id)},d.Username),c.a.createElement("span",{className:"prefix-note"},l),c.a.createElement("div",{className:"input-wrapper"},c.a.createElement("input",{defaultValue:f.username,onChange:function(e){return b(Object(u.a)(Object(u.a)({},f),{},{username:e.target.value}))},type:"text",disabled:a.v_ftp_user,className:"form-control",id:"ftp_user_".concat(a.id),name:"v_ftp_user[".concat(a.id,"][v_ftp_user]")}),c.a.createElement("span",null,a.v_ftp_user?a.v_ftp_user:"".concat(E,"_").concat(f.username)))),c.a.createElement(Mt,{name:"v_ftp_user[".concat(a.id,"][v_ftp_password]"),id:a.id}),c.a.createElement("div",{className:"form-group"},c.a.createElement("input",{type:"hidden",name:"v_ftp_pre_path",value:s}),c.a.createElement("input",{type:"hidden",name:"v_ftp_user[".concat(a.id,"][v_ftp_path_prev]"),value:a.v_ftp_path}),c.a.createElement("label",{htmlFor:"path".concat(a.id)},d.Path),c.a.createElement("input",{type:"text",value:f.path,onChange:function(e){return b(Object(u.a)(Object(u.a)({},f),{},{path:0!==e.target.value.indexOf("/")?"/".concat(e.target.value):e.target.value}))},className:"form-control",id:"path".concat(a.id),name:"v_ftp_user[".concat(a.id,"][v_ftp_path]")}),c.a.createElement("span",{className:"path-note"},s,f.path)),1===a.is_new&&c.a.createElement("div",{className:"form-group"},c.a.createElement("label",{htmlFor:"sendLoginCredentialsToEmailAddress_".concat(a.id)},d["Send login credentials to email address"]),c.a.createElement("input",{type:"email",className:"form-control",id:"sendLoginCredentialsToEmailAddress_".concat(a.id),defaultValue:a.v_ftp_email,name:"v_ftp_user[".concat(a.id,"][v_ftp_email]")})))):c.a.createElement(c.a.Fragment,null)}()}),xt=(a(217),function(e){var t,a=e.checked,r=e.ftps,l=e.unCheckAdditionalFtpBox,s=e.prefixI18N,i=e.ftpUserPrePath,m=e.domain,d=(Object(w.a)(e,["checked","ftps","unCheckAdditionalFtpBox","prefixI18N","ftpUserPrePath","domain"]),Object(o.d)((function(e){return e.session})).i18n),E=Object(n.useState)({additionalFtp:[]}),p=Object(A.a)(E,2),v=p[0],f=p[1];Object(n.useEffect)((function(){if(r){var e=r.map((function(e,t){return e.deleted=!a,e.id=t,e}));f(Object(u.a)(Object(u.a)({},v),{},{additionalFtp:e}))}}),[a,r]);var b=function(e){var t=[];v.additionalFtp.forEach((function(a){a.id===e&&(a.deleted=!0),t.push(a)})),t.length||l(),f(Object(u.a)(Object(u.a)({},v),{},{additionalFtp:t}))};return c.a.createElement("div",null,v.additionalFtp.map((function(e){return c.a.createElement(Ft,{key:e.id,prefixI18N:s,data:e,checked:a,prePath:i,domain:m,onDeleteAdditionalFtp:function(e){return b(e)}})})),a&&c.a.createElement("button",{type:"button",onClick:function(){return function(){var e=v.additionalFtp.length,t=Object(I.a)(v.additionalFtp);t.push({id:e,deleted:!1,is_new:1}),f(Object(u.a)(Object(u.a)({},v),{},{additionalFtp:t}))}()}},null!==(t=d["Add one more FTP Account"])&&void 0!==t?t:"Add"))}),Tt=(a(218),function(e){var t=Object(o.d)((function(e){return e.session})).i18n,a=Object(n.useState)(!1),r=Object(A.a)(a,2),l=r[0],s=r[1];return c.a.createElement("div",{className:"ssl-support"},c.a.createElement("div",{className:"form-group"},c.a.createElement("div",{className:"checkbox-wrapper"},c.a.createElement("input",{type:"checkbox",name:"v_letsencrypt",id:"lets-encrypt",checked:l,onChange:function(){return s(!l)}}),c.a.createElement("label",{htmlFor:"lets-encrypt"},t["Lets Encrypt Support"])),c.a.createElement("span",{className:"lets-encrypt-span"},l?t["Your certificate will be automatically issued in 5 minutes"]:null)),c.a.createElement("input",{type:"hidden",value:"same",name:"v_ssl_home"}),c.a.createElement(rt,{id:"ssl-certificate",name:"v_ssl_crt",title:t["SSL Certificate"],disabled:l,optionalTitle:c.a.createElement(c.a.Fragment,null,"/ ",c.a.createElement("button",{type:"button",onClick:function(){return e.setModalVisible(!0)},className:"generate-csr"},t["Generate CSR"]))}),c.a.createElement("div",{class:"form-group"},c.a.createElement("label",{htmlFor:"aliases"},t["SSL Key"]),c.a.createElement("textarea",{class:"form-control",id:"ssl_key",rows:"3",name:"v_ssl_key",defaultValue:e.sslKey,disabled:l})),c.a.createElement("div",{class:"form-group"},c.a.createElement("label",{htmlFor:"aliases"},t["SSL Certificate Authority / Intermediate"]),c.a.createElement("textarea",{class:"form-control",id:"ssl_ca",rows:"3",name:"v_ssl_ca",disabled:l})))}),Lt=(a(219),function(e){var t=e.prefixI18N,a=e.prePath,r=Object(w.a)(e,["prefixI18N","prePath"]),l=Object(o.d)((function(e){return e.session})).i18n,s=Object(n.useState)({sslSupport:!1,additionalFtp:!1,statisticsAuthCheckbox:!1,statisticsAuth:!1}),i=Object(A.a)(s,2),m=i[0],d=i[1];Object(n.useEffect)((function(){var e="www.".concat(r.domain);d(Object(u.a)(Object(u.a)({},m),{},{aliases:e}))}),[r.domain]);return c.a.createElement("div",{style:{transform:"translateX(3rem)"}},c.a.createElement("div",{className:"form-group"},c.a.createElement("div",{className:"checkbox-wrapper"},c.a.createElement("input",{type:"checkbox",name:"v_ssl",id:"ssl-support",checked:m.sslSupport,onChange:function(){return d(Object(u.a)(Object(u.a)({},m),{},{sslSupport:!m.sslSupport}))}}),c.a.createElement("label",{htmlFor:"ssl-support"},l["SSL Support"]))),function(){if(m.sslSupport)return c.a.createElement(Tt,{sslCertificate:r.sslCertificate,sslKey:r.sslKey,setModalVisible:function(e){return r.setModalVisible(e)}})}(),c.a.createElement("div",{class:"form-group"},c.a.createElement("label",{htmlFor:"web-stats"},l["Web Statistics"]),c.a.createElement("select",{class:"form-control",id:"web-stats",name:"v_stats",onChange:function(e){return t=e.target.value,void d("none"!==t?Object(u.a)(Object(u.a)({},m),{},{statisticsAuth:!0}):Object(u.a)(Object(u.a)({},m),{},{statisticsAuth:!1,statisticsAuthCheckbox:!1}));var t}},r.webStats.map((function(e){return c.a.createElement("option",{value:e},e)})))),c.a.createElement("div",{className:"form-group statistics-authorization ".concat(m.statisticsAuth?"show":"hide")},c.a.createElement("div",{className:"checkbox-wrapper"},c.a.createElement("input",{type:"checkbox",name:"v_stats_auth",id:"stats-auth",checked:m.statisticsAuthCheckbox,onChange:function(){return d(Object(u.a)(Object(u.a)({},m),{},{statisticsAuthCheckbox:!m.statisticsAuthCheckbox}))}}),c.a.createElement("label",{htmlFor:"stats-auth"},l["Statistics Authorization"]))),c.a.createElement("div",{className:m.statisticsAuthCheckbox?"show web-stats-wrapper":"hide"},c.a.createElement("div",{className:"form-group"},c.a.createElement("label",{htmlFor:"stats-user"},l.Username),c.a.createElement("input",{type:"text",className:"form-control",id:"stats-user",name:"v_stats_user"})),c.a.createElement(Mt,{name:"v_stats_password"})),c.a.createElement(Ye,{onChange:function(e){return d(Object(u.a)(Object(u.a)({},m),{},{additionalFtp:e}))},name:"v_ftp",id:"add-ftp",checked:m.additionalFtp,title:l["Additional FTP Account"]}),c.a.createElement(xt,{checked:m.additionalFtp,prefixI18N:t,ftps:[{id:1,deleted:!1,is_new:1}],ftpUserPrePath:a,unCheckAdditionalFtpBox:function(){return d(Object(u.a)(Object(u.a)({},m),{},{additionalFtp:!1}))}}))}),Ut=(a(220),function(e){var t=localStorage.getItem("token"),a=Object(o.d)((function(e){return e.session})).i18n,r=(Object(R.g)(),Object(o.c)()),l=Object(n.useState)(""),s=Object(A.a)(l,2),i=s[0],m=s[1],d=Object(n.useState)(""),E=Object(A.a)(d,2),p=E[0],v=E[1],f=Object(n.useState)({data:{},generatedData:{},loading:!1,domain:""}),b=Object(A.a)(f,2),h=b[0],g=b[1];Object(n.useEffect)((function(){var t=e.domain;r(Be("/list/web/")),r({type:"REMOVE_FOCUSED_ELEMENT",value:""}),t?O(t):O()}),[]);var O=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";Dt(e).then((function(t){g(Object(u.a)(Object(u.a)({},h),{},{domain:e,generatedData:{},data:t.data,loading:!1}))})).catch((function(e){g(Object(u.a)(Object(u.a)({},h),{},{loading:!1})),console.error(e)}))},N=function(e){e.preventDefault();var t,a={},n=Object(We.a)(new FormData(e.target).entries());try{for(n.s();!(t=n.n()).done;){var c=Object(A.a)(t.value,2),r=c[0],l=c[1];a[r]=l}}catch(o){n.e(o)}finally{n.f()}a.generate="generate",0!==Object.keys(a).length&&a.constructor===Object&&(g(Object(u.a)(Object(u.a)({},h),{},{loading:!0})),function(e){var t=new FormData;for(var a in e)t.append(a,e[a]);return be.a.post(At+Ct,t,{params:{token:He()}})}(a).then((function(e){if(200===e.status){var t=e.data,a=t.error_msg,n=t.ok_msg,c=t.crt,r=t.key,l=t.csr;a?(m(a),v(""),g(Object(u.a)(Object(u.a)({},h),{},{generatedData:{},loading:!1}))):(m(""),v(n),g(Object(u.a)(Object(u.a)({},h),{},{generatedData:{crt:c,key:r,csr:l},loading:!1})))}})).catch((function(e){return console.error(e)})))};return c.a.createElement("div",{className:"edit-template edit-user"},c.a.createElement(Qe,{date:h.data.date,time:h.data.time,status:h.data.status},h.loading?c.a.createElement(P,null):c.a.createElement("form",{onSubmit:function(e){return N(e)},id:"add-user"},c.a.createElement("input",{type:"hidden",name:"token",value:t}),Object.entries(h.generatedData).length?c.a.createElement(c.a.Fragment,null,c.a.createElement(rt,{id:"csr",name:"v_csr",title:a["SSL CSR"],defaultValue:h.generatedData.csr}),c.a.createElement(rt,{id:"crt",name:"v_crt",title:a["SSL Certificate"],defaultValue:h.generatedData.crt}),c.a.createElement(rt,{id:"v_key",name:"key",title:a["SSL Key"],defaultValue:h.generatedData.key}),c.a.createElement("div",{className:"buttons-wrapper"},c.a.createElement("button",{type:"button",className:"add",onClick:function(){return e.prePopulateInputs(h.generatedData)}},a.Add),c.a.createElement("button",{type:"button",className:"back",onClick:e.closeModal},a.Back))):c.a.createElement(c.a.Fragment,null,c.a.createElement(ze,{id:"domain",name:"v_domain",title:a.Domain,value:h.data.domain}),c.a.createElement(ze,{id:"email",name:"v_email",title:a.Email,value:h.data.email}),c.a.createElement(ze,{id:"country",name:"v_country",title:a.Country,optionalTitle:"(".concat(a["2 letter code"],")"),value:h.data.country}),c.a.createElement(ze,{id:"state",name:"v_state",title:a["State / Province"],value:h.data.state}),c.a.createElement(ze,{id:"locality",name:"v_locality",title:a["City / Locality"],value:h.data.locality}),c.a.createElement(ze,{id:"org",name:"v_org",title:a.Organization,value:h.data.org}),c.a.createElement("div",{className:"buttons-wrapper"},c.a.createElement("button",{type:"submit",className:"add"},a.Generate),c.a.createElement("button",{type:"button",className:"back",onClick:e.closeModal},a.Back))),c.a.createElement("div",{className:"error"},c.a.createElement("span",{className:"error-message"},i)),c.a.createElement("div",{className:"success"},c.a.createElement("span",{className:"ok-message"},c.a.createElement("span",null,at()(p))," ")))))}),It=function(e){var t,a,r,l=Object(o.d)((function(e){return e.session})),s=l.i18n,i=l.userName,m=Object(o.d)((function(e){return e.panel})).panel,d=Object(o.d)((function(e){return e.userSession})).session,E=Object(o.c)(),p=localStorage.getItem("token"),v=Object(n.useState)(!1),f=Object(A.a)(v,2),b=f[0],h=f[1],g=Object(R.g)(),O=Object(n.useState)({loading:!1,dnsSupport:!0,mailSupport:!0,proxySupport:!0,showAdvancedOptions:!1,okMessage:"",ssl_crt:"",ssl_key:"",domain:"",errorMessage:"",webStats:[],prefixI18N:"",prePath:"",aliases:"",proxy_ext:"",internetProtocols:[]}),N=Object(A.a)(O,2),j=N[0],y=N[1];Object(n.useEffect)((function(){E(Be("/list/web/")),E({type:"REMOVE_FOCUSED_ELEMENT",value:""}),y(Object(u.a)(Object(u.a)({},j),{},{loading:!0})),be.a.get(At+"/api/v1/add/web/index.php",{params:{token:He()}}).then((function(e){y(Object(u.a)(Object(u.a)({},j),{},{internetProtocols:k(e.data.ips),webStats:e.data.stats,prefixI18N:e.data.prefix,proxy_ext:e.data.proxy_ext,prePath:e.data.ftp_pre_path,loading:!1}))})).catch((function(e){y(Object(u.a)(Object(u.a)({},j),{},{loading:!1})),console.error(e)}))}),[]);var k=function(e){var t=[];for(var a in e)t.push(a);return t},_=function(e,t){y(Object(u.a)(Object(u.a)({},j),{},Object(M.a)({},e,t)))},S=function(e){e.preventDefault();var t,a={},n=Object(We.a)(new FormData(e.target).entries());try{for(n.s();!(t=n.n()).done;){var c=Object(A.a)(t.value,2),r=c[0],l=c[1];a[r]=l}}catch(o){n.e(o)}finally{n.f()}0!==Object.keys(a).length&&a.constructor===Object&&(y({loading:!0}),function(e){var t=new FormData;for(var a in e)t.append(a,e[a]);return be.a.post(At+"/api/v1/add/web/index.php",t)}(a).then((function(e){if(200===e.status){var t=e.data,a=t.error_msg,n=t.ok_msg;a?y(Object(u.a)(Object(u.a)({},j),{},{errorMessage:a,okMessage:n,loading:!1})):E(et()).then((function(){y(Object(u.a)(Object(u.a)({},j),{},{okMessage:n,errorMessage:"",loading:!1}))}))}})).catch((function(e){return console.error(e)})))};return c.a.createElement("div",{className:"edit-template add-web"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(s.WEB))),c.a.createElement(Xe,{mobile:!1},c.a.createElement("div",null),c.a.createElement("div",{className:"search-toolbar-name"},s["Adding Domain"]),c.a.createElement("div",{className:"error"},c.a.createElement("span",{className:"error-message"},j.errorMessage?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):"",j.errorMessage)),c.a.createElement("div",{className:"success"},c.a.createElement("span",{className:"ok-message"},j.okMessage?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):"",c.a.createElement("span",null,at()(j.okMessage))))),c.a.createElement(Qe,null,j.loading?c.a.createElement(P,null):c.a.createElement("form",{onSubmit:function(e){return S(e)}},c.a.createElement("input",{type:"hidden",name:"ok",value:"add"}),c.a.createElement("input",{type:"hidden",name:"token",value:p}),c.a.createElement("div",{className:"form-group"},c.a.createElement("label",{htmlFor:"domain"},s.Domain),c.a.createElement("input",{type:"text",className:"form-control",id:"domain",required:!0,name:"v_domain",onBlur:function(e){return t=e.target.value,void y(Object(u.a)(Object(u.a)({},j),{},{aliases:"www.".concat(t)}));var t}})),c.a.createElement("div",{class:"form-group"},c.a.createElement("label",{htmlFor:"package"},s["IP Address"]),c.a.createElement("select",{class:"form-control",id:"ip",name:"v_ip"},j.internetProtocols.map((function(e){return c.a.createElement("option",{value:e},e)})))),c.a.createElement("div",{class:"form-group"},c.a.createElement("label",{htmlFor:"aliases"},s.Aliases),c.a.createElement("textarea",{class:"form-control",id:"aliases",rows:"3",name:"v_aliases",defaultValue:j.aliases})),"0"!==m[i].DNS_DOMAINS&&c.a.createElement(Ye,{onChange:function(e){return _("dnsSupport",e)},name:"v_dns",id:"dns-support",title:null!==(t=s["DNS Support"])&&void 0!==t?t:"DNS Support",defaultChecked:j.dnsSupport}),"0"!==m[i].MAIL_DOMAINS&&c.a.createElement(Ye,{onChange:function(e){return _("mailSupport",e)},name:"v_mail",id:"mail-support",title:null!==(a=s["Mail Support"])&&void 0!==a?a:"Mail Support",defaultChecked:j.mailSupport}),d.PROXY_SYSTEM&&c.a.createElement(c.a.Fragment,null,c.a.createElement(Ye,{onChange:function(e){return _("proxySupport",e)},name:"v_proxy",id:"proxy",title:null!==(r=s["Proxy Support"])&&void 0!==r?r:"Proxy Support",defaultChecked:j.proxySupport}),j.proxySupport&&c.a.createElement("div",{style:{transform:"translateX(3rem)"}},c.a.createElement(rt,{id:"proxy-extensions",name:"v_proxy_ext",title:s["Proxy Extensions"],defaultValue:j.proxy_ext}))),c.a.createElement("div",{className:"form-group advanced-options-button"},c.a.createElement("button",{type:"button",onClick:function(){y(Object(u.a)(Object(u.a)({},j),{},{showAdvancedOptions:!j.showAdvancedOptions}))}},s["Advanced options"],j.showAdvancedOptions?c.a.createElement(W.a,{icon:"caret-down"}):c.a.createElement(W.a,{icon:"caret-up"}))),function(){if(j.showAdvancedOptions)return c.a.createElement(Lt,{prefixI18N:j.prefixI18N,setModalVisible:function(e){return h(e)},sslCertificate:j.ssl_crt,sslKey:j.ssl_key,domain:j.domain,webStats:j.webStats,prePath:j.prePath})}(),c.a.createElement("div",{className:"buttons-wrapper"},c.a.createElement("button",{type:"submit",className:"add"},s.Add),c.a.createElement("button",{type:"button",className:"back",onClick:function(){return g.push("/list/web/")}},s.Back)))),c.a.createElement("div",{className:"modal fade ".concat(b?"show":""),id:"c-panel-modal",tabindex:"-1",role:"dialog","aria-labelledby":"exampleModalLabel","aria-hidden":"true",style:{display:b?"block":"none"}},c.a.createElement("div",{className:"modal-dialog",role:"document"},c.a.createElement("div",{className:"modal-content"},c.a.createElement("div",{className:"modal-header"},c.a.createElement("h5",null,s["Generating CSR"]),c.a.createElement("button",{type:"button",onClick:function(){return h(!1)},className:"close","data-dismiss":"modal","aria-label":"Close"},c.a.createElement("span",{"aria-hidden":"true"},"\xd7"))),c.a.createElement(Ut,{domain:j.domain,closeModal:function(){return h(!1)},prePopulateInputs:function(e){var t=e.crt,a=e.key;y(Object(u.a)(Object(u.a)({},j),{},{ssl_crt:t,ssl_key:a})),h(!1)}})))))},Pt=(a(221),function(e){var t=e.id,a=e.title,r=e.name,l=e.defaultValue,o=void 0===l?"":l,s=e.optionalTitle,i=void 0===s?"":s,u=e.disabled,m=void 0!==u&&u,d=Object(n.useState)(""),E=Object(A.a)(d,2),p=E[0],v=E[1];return Object(n.useEffect)((function(){o&&v(o)}),[o]),c.a.createElement("div",{className:"form-group text-on-the-right"},c.a.createElement("label",{className:"label-wrapper",htmlFor:t},a,c.a.createElement("span",null,i||"")),c.a.createElement("div",{className:"input-wrapper"},c.a.createElement("input",{defaultValue:"admin_".concat(o),type:"text",className:"form-control",id:t,value:p,onChange:function(e){return v(e.target.value)},disabled:m,name:r}),c.a.createElement("span",null,c.a.createElement("i",null,"".concat(p)))))}),Rt=window.location.origin,Vt=["big5","dec8","cp850","hp8","koi8r","latin1","latin2","swe7","ascii","ujis","sjis","hebrew","tis620","euckr","koi8u","gb2312","greek","cp1250","gbk","latin5","armscii8","utf8","utf8mb4","ucs2","cp866","keybcs2","macce","macroman","cp852","latin7","cp1251","cp1256","cp1257","binary","geostd8","cp932","eucjpms"],Bt=(a(222),function(e){var t=localStorage.getItem("token"),a=Object(o.d)((function(e){return e.session})),r=a.i18n,l=a.userName,s=Object(R.g)(),i=Object(o.c)(),m=Object(n.useState)(""),d=Object(A.a)(m,2),E=d[0],p=d[1],v=Object(n.useState)(""),f=Object(A.a)(v,2),b=f[0],h=f[1],g=Object(n.useState)({data:{},loading:!1,databaseUserInputValue:""}),O=Object(A.a)(g,2),N=O[0],j=O[1];Object(n.useEffect)((function(){var e=ge.a.parse(s.location.search,{ignoreQueryPrefix:!0}).database;i(Be("/list/db/")),i({type:"REMOVE_FOCUSED_ELEMENT",value:""}),e&&(j(Object(u.a)(Object(u.a)({},N),{},{loading:!0})),y(e))}),[]);var y=function(e){(function(e){return be.a.get(Rt+"/api/v1/edit/db/index.php",{params:{database:e,token:He()}})})(e).then((function(e){j(Object(u.a)(Object(u.a)({},N),{},{data:e.data,databaseUserInputValue:e.data.dbuser.split("_").splice(1).join("_"),loading:!1}))})).catch((function(e){j(Object(u.a)(Object(u.a)({},N),{},{loading:!1})),console.error(e)}))},k=function(e){e.preventDefault();var t,a={},n=Object(We.a)(new FormData(e.target).entries());try{for(n.s();!(t=n.n()).done;){var c=Object(A.a)(t.value,2),r=c[0],o=c[1];a[r]=o}}catch(s){n.e(s)}finally{n.f()}a.v_database=N.data.database,a.v_dbuser="".concat(l,"_").concat(N.databaseUserInputValue),0!==Object.keys(a).length&&a.constructor===Object&&(j(Object(u.a)(Object(u.a)({},N),{},{loading:!0})),function(e,t){var a=new FormData;for(var n in e)a.append(n,e[n]);return be.a.post(Rt+"/api/v1/edit/db/index.php",a,{params:{database:t,token:He()}})}(a,N.data.database).then((function(e){if(200===e.status){var t=e.data,a=t.error_msg,n=t.ok_msg;a?(h(""),p(a)):i(et()).then((function(){h(n),p("")}))}})).then((function(){return y(N.data.database)})).catch((function(e){return console.error(e)})))};return c.a.createElement("div",{className:"edit-template edit-db"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(r.DB))),c.a.createElement(Xe,{mobile:!1},c.a.createElement("div",null),c.a.createElement("div",{className:"search-toolbar-name"},r["Editing Database"]),c.a.createElement("div",{className:"error"},c.a.createElement("span",{className:"error-message"},E?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):""," ",E)),c.a.createElement("div",{className:"success"},c.a.createElement("span",{className:"ok-message"},b?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):""," ",c.a.createElement("span",null,at()(b))))),c.a.createElement(Qe,{date:N.data.date,time:N.data.time,status:N.data.status},N.loading?c.a.createElement(P,null):c.a.createElement("form",{onSubmit:function(e){return k(e)},id:"edit-db"},c.a.createElement("input",{type:"hidden",name:"save",value:"save"}),c.a.createElement("input",{type:"hidden",name:"token",value:t}),c.a.createElement(Pt,{id:"database",name:"v_database",title:r.Database,defaultValue:N.data.database,disabled:!0}),c.a.createElement("div",{className:"form-group"},c.a.createElement("div",{className:"label-wrapper"},c.a.createElement("label",{htmlFor:"user"},r.User)),c.a.createElement("div",{className:"input-wrapper"},c.a.createElement("input",{type:"text",className:"form-control",id:"user",value:N.databaseUserInputValue,onChange:function(e){return t=e.target.value,void j(Object(u.a)(Object(u.a)({},N),{},{databaseUserInputValue:t}));var t},name:"v_dbuser"}),c.a.createElement("span",{className:"italic"},c.a.createElement("i",null,"".concat(l,"_").concat(N.databaseUserInputValue))))),c.a.createElement(Mt,{name:"v_password",defaultValue:N.data.password}),c.a.createElement(ze,{id:"type",name:"v_type",title:r.Type,value:N.data.type,disabled:!0}),c.a.createElement(ze,{id:"host",name:"v_host",title:r.Host,value:N.data.host,disabled:!0}),c.a.createElement(ze,{id:"charset",name:"v_charset",title:r.Charset,value:N.data.charset,disabled:!0}),c.a.createElement("div",{className:"buttons-wrapper"},c.a.createElement("button",{type:"submit",className:"add"},r.Save),c.a.createElement("button",{type:"button",className:"back",onClick:function(){return s.push("/list/db/")}},r.Back)))))}),Wt=window.location.origin,qt="/api/v1/add/firewall/banlist/index.php",Ht=function(e){return be.a.get(Wt+e,{params:{token:He()}})},Kt=(a(223),function(e){var t=localStorage.getItem("token"),a=Object(o.d)((function(e){return e.session})).i18n,r=Object(R.g)(),l=Object(o.c)(),s=Object(n.useState)(""),i=Object(A.a)(s,2),m=i[0],d=i[1],E=Object(n.useState)(""),p=Object(A.a)(E,2),v=p[0],f=p[1],b=Object(n.useState)({data:{},loading:!1}),h=Object(A.a)(b,2),g=h[0],O=h[1];Object(n.useEffect)((function(){var e=ge.a.parse(r.location.search,{ignoreQueryPrefix:!0}).rule;l(Be("/list/firewall/")),l({type:"REMOVE_FOCUSED_ELEMENT",value:""}),e&&(O(Object(u.a)(Object(u.a)({},g),{},{loading:!0})),N(e))}),[]);var N=function(e){(function(e){return be.a.get(Wt+"/api/v1/edit/firewall/index.php",{params:{rule:e,token:He()}})})(e).then((function(e){O(Object(u.a)(Object(u.a)({},g),{},{data:e.data,loading:!1}))})).catch((function(e){O(Object(u.a)(Object(u.a)({},g),{},{loading:!1})),console.error(e)}))},j=function(e){e.preventDefault();var t,a={},n=Object(We.a)(new FormData(e.target).entries());try{for(n.s();!(t=n.n()).done;){var c=Object(A.a)(t.value,2),r=c[0],l=c[1];a[r]=l}}catch(o){n.e(o)}finally{n.f()}0!==Object.keys(a).length&&a.constructor===Object&&(O(Object(u.a)(Object(u.a)({},g),{},{loading:!0})),function(e,t){var a=new FormData;for(var n in e)a.append(n,e[n]);return be.a.post(Wt+"/api/v1/edit/firewall/index.php",a,{params:{rule:t,token:He()}})}(a,g.data.rule).then((function(e){if(200===e.status){var t=e.data,a=t.error_msg,n=t.ok_msg;d(a||""),f(n||"")}})).then((function(){return N(g.data.rule)})).catch((function(e){return console.error(e)})))};return c.a.createElement("div",{className:"edit-template edit-firewall"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(a.FIREWALL))),c.a.createElement(Xe,{mobile:!1},c.a.createElement("div",null),c.a.createElement("div",{className:"search-toolbar-name"},a["Editing Firewall Rule"]),c.a.createElement("div",{className:"error"},c.a.createElement("span",{className:"error-message"},m?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):""," ",m)),c.a.createElement("div",{className:"success"},c.a.createElement("span",{className:"ok-message"},v?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):""," ",c.a.createElement("span",null,at()(v))))),c.a.createElement(Qe,{date:g.data.date,time:g.data.time,status:g.data.status},g.loading?c.a.createElement(P,null):c.a.createElement("form",{onSubmit:function(e){return j(e)},id:"edit-firewall"},c.a.createElement("input",{type:"hidden",name:"save",value:"save"}),c.a.createElement("input",{type:"hidden",name:"token",value:t}),c.a.createElement("div",{className:"form-group select-group"},c.a.createElement("label",{className:"label-wrapper",htmlFor:"action"},a.Action),c.a.createElement("select",{className:"form-control",id:"action",name:"v_action"},c.a.createElement("option",{selected:"DROP"===g.data.action,value:"DROP"},"DROP"),c.a.createElement("option",{selected:"ACCEPT"===g.data.action,value:"ACCEPT"},"ACCEPT"))),c.a.createElement("div",{className:"form-group select-group"},c.a.createElement("label",{className:"label-wrapper",htmlFor:"protocol"},a.Protocol),c.a.createElement("select",{className:"form-control",id:"protocol",name:"v_protocol"},c.a.createElement("option",{selected:"TCP"===g.data.protocol,value:"TCP"},a.TCP),c.a.createElement("option",{selected:"UDP"===g.data.protocol,value:"UDP"},a.UDP),c.a.createElement("option",{selected:"ICMP"===g.data.protocol,value:"ICMP"},a.ICMP))),c.a.createElement(ze,{optionalTitle:a["ranges are acceptable"],value:g.data.port,title:a.Port,name:"v_port",id:"port"}),c.a.createElement(ze,{optionalTitle:a["CIDR format is supported"],value:g.data.ip,title:a["IP address"],name:"v_ip",id:"ip"}),c.a.createElement(ze,{optionalTitle:a.optional,value:g.data.comment,title:a.Comment,name:"v_comment",id:"comment"}),c.a.createElement("div",{className:"buttons-wrapper"},c.a.createElement("button",{type:"submit",className:"add"},a.Save),c.a.createElement("button",{type:"button",className:"back",onClick:function(){return r.push("/list/firewall/")}},a.Back)))))}),Jt=(a(224),function(e){var t=Object(o.d)((function(e){return e.session})).i18n;Object(n.useEffect)((function(){return window.addEventListener("keyup",a),function(){return window.removeEventListener("keyup",a)}}),[e.reference]);var a=function(t){var a=document.querySelector("input:focus")||document.querySelector("textarea:focus");72!==t.keyCode||a||e.toggleHotkeys()};return c.a.createElement("div",{className:"hotkeys-list hide",ref:e.reference},c.a.createElement("div",{className:"head"},c.a.createElement("div",{className:"name"},t.Shortcuts),c.a.createElement("div",{className:"close",onClick:function(){return e.toggleHotkeys()}},c.a.createElement(W.a,{icon:"times"}))),c.a.createElement("div",{className:"body"},c.a.createElement("ul",null,c.a.createElement("li",null,c.a.createElement("span",{className:"name"},"a"),c.a.createElement("span",{className:"description"},t["Add New object"])),c.a.createElement("li",null,c.a.createElement("span",{className:"name"},"Ctrl + Open"),c.a.createElement("span",{className:"description"},t["Save Form"])),c.a.createElement("li",null,c.a.createElement("span",{className:"name"},"Ctrl + Backspace"),c.a.createElement("span",{className:"description"},t["Cancel saving form"])),c.a.createElement("li",{className:"space-top"},c.a.createElement("span",{className:"name"},"1"),c.a.createElement("span",{className:"description"},t["Go to USER list"])),c.a.createElement("li",null,c.a.createElement("span",{className:"name"},"2"),c.a.createElement("span",{className:"description"},t["Go to WEB list"])),c.a.createElement("li",null,c.a.createElement("span",{className:"name"},"3"),c.a.createElement("span",{className:"description"},t["Go to DNS list"])),c.a.createElement("li",null,c.a.createElement("span",{className:"name"},"4"),c.a.createElement("span",{className:"description"},t["Go to MAIL list"])),c.a.createElement("li",null,c.a.createElement("span",{className:"name"},"5"),c.a.createElement("span",{className:"description"},t["Go to DB list"])),c.a.createElement("li",null,c.a.createElement("span",{className:"name"},"6"),c.a.createElement("span",{className:"description"},t["Go to CRON list"])),c.a.createElement("li",null,c.a.createElement("span",{className:"name"},"7"),c.a.createElement("span",{className:"description"},t["Go to BACKUP list"]))),c.a.createElement("ul",null,c.a.createElement("li",null,c.a.createElement("span",{className:"name"},"f"),c.a.createElement("span",{className:"description"},t["Focus on search"])),c.a.createElement("li",{className:"space-top"},c.a.createElement("span",{className:"name"},"h"),c.a.createElement("span",{className:"description"},t["Display/Close shortcuts"])),c.a.createElement("li",{className:"space-top"},c.a.createElement("span",{className:"name"},"\u2190"),c.a.createElement("span",{className:"description"},t["Move backward through top menu"])),c.a.createElement("li",null,c.a.createElement("span",{className:"name"},"\u2192"),c.a.createElement("span",{className:"description"},t["Move forward through top menu"])),c.a.createElement("li",null,c.a.createElement("span",{className:"name"},"Enter"),c.a.createElement("span",{className:"description"},t["Enter focused element"])),c.a.createElement("li",{className:"space-top"},c.a.createElement("span",{className:"name"},"\u2191"),c.a.createElement("span",{className:"description"},t["Move up through elements list"])),c.a.createElement("li",null,c.a.createElement("span",{className:"name"},"\u2193"),c.a.createElement("span",{className:"description"},t["Move down through elements list"])))))}),zt=(a(225),Object(n.memo)((function(e){var t=Object(o.d)((function(e){return e.session})).i18n,a=localStorage.getItem("token"),r=Object(o.c)(),l=Object(R.g)(),s=Object(n.useState)({loading:!1,okMessage:"",errorMessage:"",dbTypes:[],dbHosts:[],dbCharsets:[],user:"",maxCharLength:"",databaseInputValue:"",databaseUserInputValue:"",prefixI18N:""}),i=Object(A.a)(s,2),m=i[0],d=i[1];Object(n.useEffect)((function(){r(Be("/list/db/")),r({type:"REMOVE_FOCUSED_ELEMENT",value:""}),d(Object(u.a)(Object(u.a)({},m),{},{loading:!0})),be.a.get(Rt+"/api/v1/add/db/index.php").then((function(e){200===e.status&&d(Object(u.a)(Object(u.a)({},m),{},{dbCharsets:Vt,user:e.data.user,dbTypes:e.data.dbTypes,prefixI18N:e.data.prefixI18N,maxCharLength:e.data.maxCharLength,dbHosts:e.data.dbHosts,loading:!1}))})).catch((function(e){return console.err(e)}))}),[]);var E=function(e){e.preventDefault();var t,a={},n=Object(We.a)(new FormData(e.target).entries());try{for(n.s();!(t=n.n()).done;){var c=Object(A.a)(t.value,2),l=c[0],o=c[1];a[l]=o}}catch(s){n.e(s)}finally{n.f()}a.v_database=m.databaseInputValue,a.v_dbuser=m.databaseUserInputValue,0!==Object.keys(a).length&&a.constructor===Object&&(d(Object(u.a)(Object(u.a)({},m),{},{loading:!0})),function(e){var t=new FormData;for(var a in e)t.append(a,e[a]);return be.a.post(Rt+"/api/v1/add/db/index.php",t)}(a).then((function(e){if(200===e.status){var t=e.data,a=t.error_msg,n=t.ok_msg;a?d(Object(u.a)(Object(u.a)({},m),{},{errorMessage:a,okMessage:"",loading:!1})):r(et()).then((function(){d(Object(u.a)(Object(u.a)({},m),{},{okMessage:n,errorMessage:"",loading:!1}))}))}})).catch((function(e){return console.error(e)})))};return c.a.createElement("div",{className:"edit-template add-db"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(t.DB))),c.a.createElement(Xe,{mobile:!1},c.a.createElement("div",null),c.a.createElement("div",{className:"search-toolbar-name"},t["Adding database"]),c.a.createElement("div",{className:"error"},c.a.createElement("span",{className:"error-message"},m.errorMessage?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):"",m.errorMessage)),c.a.createElement("div",{className:"success"},c.a.createElement("span",{className:"ok-message"},m.okMessage?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):"",c.a.createElement("span",null,at()(m.okMessage))))),c.a.createElement(Qe,null,m.loading?c.a.createElement(P,null):c.a.createElement("form",{onSubmit:function(e){return E(e)}},c.a.createElement("input",{type:"hidden",name:"ok",value:"add"}),c.a.createElement("input",{type:"hidden",name:"token",value:a}),c.a.createElement("span",{className:"prefix"},at()(m.prefixI18N)),c.a.createElement("div",{className:"form-group database"},c.a.createElement("label",{htmlFor:"database"},t.Database),c.a.createElement("div",{className:"input-wrapper"},c.a.createElement("input",{type:"text",className:"form-control",id:"database",onChange:function(e){return t=e.target.value,void d(Object(u.a)(Object(u.a)({},m),{},{databaseInputValue:t}));var t},value:m.databaseInputValue,name:"v_database"}),c.a.createElement("span",{className:"italic"},"".concat(m.user,"_").concat(m.databaseInputValue)))),c.a.createElement("div",{className:"form-group"},c.a.createElement("div",{className:"label-wrapper"},c.a.createElement("label",{htmlFor:"user"},t.User),c.a.createElement("span",{className:"italic"},"(",m.maxCharLength,")")),c.a.createElement("div",{className:"input-wrapper"},c.a.createElement("input",{type:"text",className:"form-control",id:"user",value:m.databaseUserInputValue,onChange:function(e){return t=e.target.value,void d(Object(u.a)(Object(u.a)({},m),{},{databaseUserInputValue:t}));var t},name:"v_dbuser"}),c.a.createElement("span",{className:"italic"},"".concat(m.user,"_").concat(m.databaseUserInputValue)))),c.a.createElement(Mt,{name:"v_password"}),c.a.createElement("div",{class:"form-group"},c.a.createElement("label",{htmlFor:"dbTypes"},t.Type),c.a.createElement("select",{class:"form-control",id:"dbTypes",name:"v_type"},m.dbTypes.map((function(e,t){return c.a.createElement("option",{key:t,value:e},e)})))),c.a.createElement("div",{class:"form-group"},c.a.createElement("label",{htmlFor:"dbHosts"},t.Host),c.a.createElement("select",{class:"form-control",id:"dbHosts",name:"v_host"},m.dbHosts.map((function(e,t){return c.a.createElement("option",{key:t,value:e},e)})))),c.a.createElement("div",{class:"form-group"},c.a.createElement("label",{htmlFor:"dbCharset"},t.Charset),c.a.createElement("select",{class:"form-control",id:"dbCharset",name:"v_charset"},m.dbCharsets.map((function(e,t){return c.a.createElement("option",{key:t,value:e,selected:"utf8"===e},e)})))),c.a.createElement("div",{className:"form-group"},c.a.createElement("label",{htmlFor:"sendLoginCredentialsToEmailAddress"},t["Send login credentials to email address"]),c.a.createElement("input",{type:"email",className:"form-control",id:"sendLoginCredentialsToEmailAddress",name:"v_db_email"})),c.a.createElement("div",{className:"buttons-wrapper"},c.a.createElement("button",{type:"submit",className:"add"},t.Add),c.a.createElement("button",{type:"button",className:"back",onClick:function(){return l.push("/list/db/")}},t.Back)))))}))),Yt=(a(226),function(e){var t=localStorage.getItem("token"),a=Object(o.d)((function(e){return e.session})).i18n,r=Object(o.c)(),l=Object(R.g)(),s=Object(n.useState)({loading:!1,actions:["DROP","ACCEPT"],protocols:["TCP","UDP","ICMP"],okMessage:"",errorMessage:""}),i=Object(A.a)(s,2),m=i[0],d=i[1];Object(n.useEffect)((function(){r(Be("/list/firewall/")),r({type:"REMOVE_FOCUSED_ELEMENT",value:""})}),[]);var E=function(e){e.preventDefault();var t,a={},n=Object(We.a)(new FormData(e.target).entries());try{for(n.s();!(t=n.n()).done;){var c=Object(A.a)(t.value,2),l=c[0],o=c[1];a[l]=o}}catch(s){n.e(s)}finally{n.f()}0!==Object.keys(a).length&&a.constructor===Object&&(d(Object(u.a)(Object(u.a)({},m),{},{loading:!0})),function(e){var t=new FormData;for(var a in e)t.append(a,e[a]);return be.a.post(Wt+"/api/v1/add/firewall/index.php",t)}(a).then((function(e){if(200===e.status){var t=e.data,a=t.error_msg,n=t.ok_msg;a?d(Object(u.a)(Object(u.a)({},m),{},{errorMessage:a,okMessage:n,loading:!1})):r(et()).then((function(){d(Object(u.a)(Object(u.a)({},m),{},{okMessage:n,errorMessage:"",loading:!1}))}))}})).catch((function(e){return console.error(e)})))};return c.a.createElement("div",{className:"edit-template add-firewall"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(a.FIREWALL))),c.a.createElement(Xe,{mobile:!1},c.a.createElement("div",null),c.a.createElement("div",{className:"search-toolbar-name"},a["Adding Firewall Rule"]),c.a.createElement("div",{className:"error"},c.a.createElement("span",{className:"error-message"},m.errorMessage?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):"",m.errorMessage)),c.a.createElement("div",{className:"success"},c.a.createElement("span",{className:"ok-message"},m.okMessage?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):"",c.a.createElement("span",null,at()(m.okMessage))))),c.a.createElement(Qe,null,c.a.createElement("form",{onSubmit:function(e){return E(e)}},c.a.createElement("input",{type:"hidden",name:"ok",value:"add"}),c.a.createElement("input",{type:"hidden",name:"token",value:t}),c.a.createElement(Je,{options:m.actions,name:"v_action",id:"action",title:a.Action}),c.a.createElement(Je,{options:m.protocols,name:"v_protocol",id:"protocol",title:a.Protocol}),c.a.createElement(ze,{name:"v_port",id:"port",title:a.Port,optionalTitle:a["ranges are acceptable"]}),c.a.createElement(ze,{name:"v_ip",id:"ip",title:a["IP address"],optionalTitle:a["CIDR format is supported"]}),c.a.createElement(ze,{name:"v_comment",id:"comment",title:a.Comment,optionalTitle:a.optional}),c.a.createElement("div",{className:"buttons-wrapper"},c.a.createElement("button",{type:"submit",className:"add"},a.Add),c.a.createElement("button",{type:"button",className:"back",onClick:function(){return l.push("/list/firewall/")}},a.Back)))))}),Gt=window.location.origin,Qt=function(e){return be.a.get(Gt+e,{params:{token:He()}})},Xt=function(e){var t,a,n,c,r,l,o,s,i,u,m,d,E,p,v,f,b,h,g,O,N,j,y,k,_,S,w,A,C,D,M,F;return{minutesRunCommandsOptions:[{name:null!==(t=e["every minute"])&&void 0!==t?t:"every minute",value:"*"},{name:null!==(a=e["every two minutes"])&&void 0!==a?a:"every two minutes",value:"*/2"},{name:"".concat(e.every||"every"," 5"),value:"*/5"},{name:"".concat(e.every||"every"," 10"),value:"*/10"},{name:"".concat(e.every||"every"," 15"),value:"*/15"},{name:"".concat(e.every||"every"," 30"),value:"*/30"}],hoursRunCommandsOptions:[{name:null!==(n=e["every hour"])&&void 0!==n?n:"every hour",value:"*"},{name:null!==(c=e["every two hours"])&&void 0!==c?c:"every two hours",value:"*/2"},{name:"".concat(e.every||"every"," 6"),value:"*/6"},{name:"".concat(e.every||"every"," 12"),value:"*/12"}],daysRunCommandsOptions:[{name:null!==(r=e["every day"])&&void 0!==r?r:"every day",value:"*"},{name:null!==(l=e["every odd day"])&&void 0!==l?l:"every odd day",value:"1-31/2"},{name:null!==(o=e["every even day"])&&void 0!==o?o:"every even day",value:"*/2"},{name:"".concat(e.every||"every"," 3"),value:"*/3"},{name:"".concat(e.every||"every"," 5"),value:"*/5"},{name:"".concat(e.every||"every"," 10"),value:"*/10"},{name:"".concat(e.every||"every"," 15"),value:"*/15"}],hoursOptions:[{name:"00",value:"0"},{name:"01",value:"1"},{name:"02",value:"2"},{name:"03",value:"3"},{name:"04",value:"4"},{name:"05",value:"5"},{name:"06",value:"6"},{name:"07",value:"7"},{name:"08",value:"8"},{name:"09",value:"9"},{name:"10",value:"10"},{name:"11",value:"11"},{name:"12",value:"12"},{name:"13",value:"13"},{name:"14",value:"14"},{name:"15",value:"15"},{name:"16",value:"16"},{name:"17",value:"17"},{name:"18",value:"18"},{name:"19",value:"19"},{name:"20",value:"20"},{name:"21",value:"21"},{name:"22",value:"22"},{name:"23",value:"23"}],hourlyMinutesOptions:[{name:"00",value:"0"},{name:"15",value:"15"},{name:"30",value:"30"},{name:"45",value:"45"}],dailyMinutesOptions:[{name:"00",value:"0"},{name:"01",value:"1"},{name:"02",value:"2"},{name:"05",value:"5"},{name:"10",value:"10"},{name:"15",value:"15"},{name:"20",value:"20"},{name:"25",value:"25"},{name:"30",value:"30"},{name:"35",value:"35"},{name:"40",value:"40"},{name:"45",value:"45"},{name:"50",value:"50"},{name:"55",value:"55"}],weeklyRunCommandOptions:[{name:null!==(s=e["every day"])&&void 0!==s?s:"every day",value:"*"},{name:null!==(i=e["weekdays (5 days)"])&&void 0!==i?i:"weekdays (5 days)",value:"1,2,3,4,5"},{name:null!==(u=e["weekend (2 days)"])&&void 0!==u?u:"weekend (2 days)",value:"0,6"},{name:null!==(m=e.Monday)&&void 0!==m?m:"Monday",value:"1"},{name:null!==(d=e.Tuesday)&&void 0!==d?d:"Tuesday",value:"2"},{name:null!==(E=e.Wednesday)&&void 0!==E?E:"Wednesday",value:"3"},{name:null!==(p=e.Thursday)&&void 0!==p?p:"Thursday",value:"4"},{name:null!==(v=e.Friday)&&void 0!==v?v:"Friday",value:"5"},{name:null!==(f=e.Saturday)&&void 0!==f?f:"Saturday",value:"6"},{name:null!==(b=e.Sunday)&&void 0!==b?b:"Sunday",value:"0"}],monthlyRunCommandOptions:[{name:null!==(h=e["every month"])&&void 0!==h?h:"every month",value:"*"},{name:null!==(g=e["every odd month"])&&void 0!==g?g:"every odd month",value:"1-11/2"},{name:null!==(O=e["every even month"])&&void 0!==O?O:"every even month",value:"*/2"},{name:"".concat(e.every||"every"," 3"),value:"*/3"},{name:"".concat(e.every||"every"," 6"),value:"*/6"},{name:null!==(N=e.Jan)&&void 0!==N?N:"Jan",value:"1"},{name:null!==(j=e.Feb)&&void 0!==j?j:"Feb",value:"2"},{name:null!==(y=e.Mar)&&void 0!==y?y:"Mar",value:"3"},{name:null!==(k=e.Apr)&&void 0!==k?k:"Apr",value:"4"},{name:null!==(_=e.May)&&void 0!==_?_:"May",value:"5"},{name:null!==(S=e.Jun)&&void 0!==S?S:"Jun",value:"6"},{name:null!==(w=e.Jul)&&void 0!==w?w:"Jul",value:"7"},{name:null!==(A=e.Aug)&&void 0!==A?A:"Aug",value:"8"},{name:null!==(C=e.Sep)&&void 0!==C?C:"Sep",value:"9"},{name:null!==(D=e.Oct)&&void 0!==D?D:"Oct",value:"10"},{name:null!==(M=e.Nov)&&void 0!==M?M:"Nov",value:"11"},{name:null!==(F=e.Dec)&&void 0!==F?F:"Dec",value:"12"}],dateOptions:[{name:"1",value:"1"},{name:"2",value:"2"},{name:"3",value:"3"},{name:"4",value:"4"},{name:"5",value:"5"},{name:"6",value:"6"},{name:"7",value:"7"},{name:"8",value:"8"},{name:"9",value:"9"},{name:"10",value:"10"},{name:"11",value:"11"},{name:"12",value:"12"},{name:"13",value:"13"},{name:"14",value:"14"},{name:"15",value:"15"},{name:"16",value:"16"},{name:"17",value:"17"},{name:"18",value:"18"},{name:"19",value:"19"},{name:"20",value:"20"},{name:"21",value:"21"},{name:"22",value:"22"},{name:"23",value:"23"},{name:"24",value:"24"},{name:"25",value:"25"},{name:"26",value:"26"},{name:"27",value:"27"},{name:"28",value:"28"},{name:"29",value:"29"},{name:"30",value:"30"},{name:"31",value:"31"}]}},Zt=function(e){var t=Object(o.d)((function(e){return e.session})).i18n,a=Object(n.useState)({activeTab:""}),r=Object(A.a)(a,2),l=r[0],s=r[1];Object(n.useEffect)((function(){s(Object(u.a)(Object(u.a)({},l),{},{activeTab:e.activeTab}))}),[e]);return c.a.createElement("div",{class:"form-group run-command"},c.a.createElement("label",{htmlFor:"run-command"},t["Run Command"],":"),c.a.createElement("select",{className:"form-control",name:function(){switch(l.activeTab){case"1":return"h_min";case"2":return"h_hour";case"3":return"h_day";case"4":return"h_wday";case"5":return"h_month"}}()},function(){var e=Xt(t),a=e.daysRunCommandsOptions,n=e.hoursRunCommandsOptions,r=e.minutesRunCommandsOptions,o=e.monthlyRunCommandOptions,s=e.weeklyRunCommandOptions;switch(l.activeTab){case"1":return r.map((function(e){return c.a.createElement("option",{value:e.value},e.name)}));case"2":return n.map((function(e){return c.a.createElement("option",{value:e.value},e.name)}));case"3":return a.map((function(e){return c.a.createElement("option",{value:e.value},e.name)}));case"4":return s.map((function(e){return c.a.createElement("option",{value:e.value},e.name)}));case"5":return o.map((function(e){return c.a.createElement("option",{value:e.value},e.name)}))}}()))};function $t(){var e,t=Object(o.d)((function(e){return e.session})).i18n,a=Xt(t).hourlyMinutesOptions;return c.a.createElement("div",{className:"second-tab-selects"},c.a.createElement("input",{type:"hidden",name:"h_day",value:"*"}),c.a.createElement("input",{type:"hidden",name:"h_month",value:"*"}),c.a.createElement("input",{type:"hidden",name:"h_wday",value:"*"}),c.a.createElement("div",{className:"form-group minute"},c.a.createElement("label",{htmlFor:"run-command"},null!==(e=t.Minute)&&void 0!==e?e:"Minute",":"),c.a.createElement("select",{className:"form-control",name:"h_min"},a.map((function(e,t){return c.a.createElement("option",{key:t,value:e.value},e.name)})))))}function ea(){var e,t,a=Object(o.d)((function(e){return e.session})).i18n,n=Xt(a),r=n.dailyMinutesOptions,l=n.hoursOptions;return c.a.createElement("div",{className:"third-tab-selects"},c.a.createElement("input",{type:"hidden",name:"h_month",value:"*"}),c.a.createElement("input",{type:"hidden",name:"h_wday",value:"*"}),c.a.createElement("div",{className:"form-group hour"},c.a.createElement("label",{htmlFor:"run-command"},null!==(e=a.Hour)&&void 0!==e?e:"Hour",":"),c.a.createElement("select",{className:"form-control",name:"h_hour"},l.map((function(e,t){return c.a.createElement("option",{key:t,value:e.value},e.name)})))),c.a.createElement("div",{className:"form-group minute"},c.a.createElement("label",{htmlFor:"run-command"},null!==(t=a.Minute)&&void 0!==t?t:"Minute",":"),c.a.createElement("select",{className:"form-control",name:"h_min"},r.map((function(e,t){return c.a.createElement("option",{key:t,value:e.value},e.name)})))))}function ta(){var e,t,a=Object(o.d)((function(e){return e.session})).i18n,n=Xt(a),r=n.dailyMinutesOptions,l=n.hoursOptions;return c.a.createElement("div",{className:"fourth-tab-selects"},c.a.createElement("input",{type:"hidden",name:"h_month",value:"*"}),c.a.createElement("input",{type:"hidden",name:"h_day",value:"*"}),c.a.createElement("div",{className:"form-group hour"},c.a.createElement("label",{htmlFor:"run-command"},null!==(e=a.Hour)&&void 0!==e?e:"Hour",":"),c.a.createElement("select",{className:"form-control",name:"h_hour"},l.map((function(e,t){return c.a.createElement("option",{key:t,value:e.value},e.name)})))),c.a.createElement("div",{className:"form-group minute"},c.a.createElement("label",{htmlFor:"run-command"},null!==(t=a.Minute)&&void 0!==t?t:"Minute",":"),c.a.createElement("select",{className:"form-control",name:"h_min"},r.map((function(e,t){return c.a.createElement("option",{key:t,value:e.value},e.name)})))))}function aa(){var e,t,a,n=Object(o.d)((function(e){return e.session})).i18n,r=Xt(n),l=r.dailyMinutesOptions,s=r.hoursOptions,i=r.dateOptions;return c.a.createElement("div",{className:"fifth-tab-selects"},c.a.createElement("input",{type:"hidden",name:"h_wday",value:"*"}),c.a.createElement("div",{className:"form-group date"},c.a.createElement("label",{htmlFor:"run-command"},null!==(e=n.Date)&&void 0!==e?e:"Date",":"),c.a.createElement("select",{className:"form-control",name:"h_day"},i.map((function(e,t){return c.a.createElement("option",{key:t,value:e.value},e.name)})))),c.a.createElement("div",{className:"form-group hour"},c.a.createElement("label",{htmlFor:"run-command"},null!==(t=n.Hour)&&void 0!==t?t:"Hour",":"),c.a.createElement("select",{className:"form-control",name:"h_hour"},s.map((function(e,t){return c.a.createElement("option",{key:t,value:e.value},e.name)})))),c.a.createElement("div",{className:"form-group minute"},c.a.createElement("label",{htmlFor:"run-command"},null!==(a=n.Minute)&&void 0!==a?a:"Minute",":"),c.a.createElement("select",{className:"form-control",name:"h_min"},l.map((function(e,t){return c.a.createElement("option",{key:t,value:e.value},e.name)})))))}a(227);var na=function(e){var t=Object(n.useState)({activeTab:""}),a=Object(A.a)(t,2),r=a[0],l=a[1];Object(n.useEffect)((function(){l(Object(u.a)(Object(u.a)({},r),{},{activeTab:e.activeTab}))}),[e.activeTab]);return c.a.createElement("div",{className:"tab-".concat(r.activeTab)},function(){switch(r.activeTab){case"1":return c.a.createElement("div",null,c.a.createElement("input",{type:"hidden",name:"h_hour",value:"*"}),c.a.createElement("input",{type:"hidden",name:"h_day",value:"*"}),c.a.createElement("input",{type:"hidden",name:"h_month",value:"*"}),c.a.createElement("input",{type:"hidden",name:"h_wday",value:"*"}));case"2":return c.a.createElement($t,null);case"3":return c.a.createElement(ea,null);case"4":return c.a.createElement(ta,null);case"5":return c.a.createElement(aa,null)}}())},ca=(a(228),function(e){var t=Object(n.useRef)(null),a=Object(o.d)((function(e){return e.session})).i18n,r=Object(R.g)(),l=Object(n.useState)({activeTab:"1"}),s=Object(A.a)(l,2),i=s[0],m=s[1];Object(n.useEffect)((function(){var e=ge.a.parse(r.location.search,{ignoreQueryPrefix:!0}).activeTab||"1";m(Object(u.a)(Object(u.a)({},i),{},{activeTab:e}))}),[r.location.search]);var d=function(e){return i.activeTab===e?"active":""},E=function(t){var a=e.job,n=e.mode;return"/".concat(n,"/cron/?").concat(a?"job=".concat(a,"&"):"","activeTab=").concat(t)};return c.a.createElement("div",{className:"cron-job-generator"},c.a.createElement("div",{className:"header"},c.a.createElement(pe.b,{to:E("1"),className:d("1")},a.Minutes),c.a.createElement(pe.b,{to:E("2"),className:d("2")},a.Hourly),c.a.createElement(pe.b,{to:E("3"),className:d("3")},a.Daily),c.a.createElement(pe.b,{to:E("4"),className:d("4")},a.Weekly),c.a.createElement(pe.b,{to:E("5"),className:d("5")},a.Monthly)),c.a.createElement("div",{className:"body"},c.a.createElement("form",{ref:t},c.a.createElement(Zt,{activeTab:i.activeTab}),c.a.createElement(na,{activeTab:i.activeTab}),c.a.createElement("div",{className:"form-actions"},c.a.createElement("button",{type:"button",onClick:function(){for(var a={},n=0;n<=4;n++){var c=t.current[n];a[c.name]=c.value}e.generatedCronJob(a)}},a.Generate)))))}),ra=(a(229),function(e){var t=localStorage.getItem("token"),a=Object(o.d)((function(e){return e.session})).i18n,r=Object(R.g)(),l=Object(o.c)(),s=Object(n.useState)(""),i=Object(A.a)(s,2),m=i[0],d=i[1],E=Object(n.useState)(""),p=Object(A.a)(E,2),v=p[0],f=p[1],b=Object(n.useState)({data:{},loading:!1,generatedCronJob:{h_min:"*",h_hour:"*",h_day:"*",h_wday:"*",h_month:"*"}}),h=Object(A.a)(b,2),g=h[0],O=h[1];Object(n.useEffect)((function(){var e=ge.a.parse(r.location.search,{ignoreQueryPrefix:!0}).job;l(Be("/list/cron/")),l({type:"REMOVE_FOCUSED_ELEMENT",value:""}),e&&(O(Object(u.a)(Object(u.a)({},g),{},{loading:!0})),N(e))}),[]);var N=function(e){(function(e){return be.a.get(Gt+"/api/v1/edit/cron/index.php",{params:{job:e,token:He()}})})(e).then((function(e){O(Object(u.a)(Object(u.a)({},g),{},{generatedCronJob:Object(u.a)(Object(u.a)({},g.generatedCronJob),{},{h_min:e.data.min,h_hour:e.data.hour,h_day:e.data.day,h_wday:e.data.wday,h_month:e.data.month}),data:e.data,loading:!1}))})).catch((function(e){O(Object(u.a)(Object(u.a)({},g),{},{loading:!1})),console.error(e)}))},j=function(e){e.preventDefault();var t,a={},n=Object(We.a)(new FormData(e.target).entries());try{for(n.s();!(t=n.n()).done;){var c=Object(A.a)(t.value,2),r=c[0],o=c[1];a[r]=o}}catch(s){n.e(s)}finally{n.f()}0!==Object.keys(a).length&&a.constructor===Object&&(O(Object(u.a)(Object(u.a)({},g),{},{loading:!0})),function(e,t){var a=new FormData;for(var n in e)a.append(n,e[n]);return be.a.post(Gt+"/api/v1/edit/cron/index.php",a,{params:{job:t,token:He()}})}(a,g.data.job).then((function(e){if(200===e.status){var t=e.data,a=t.error_msg,n=t.ok_msg;a?(f(""),d(a)):l(et()).then((function(){f(n),d("")}))}})).then((function(){return N(g.data.job)})).catch((function(e){return console.error(e)})))},y=function(e){var t=Object(u.a)(Object(u.a)({},g.generatedCronJob),{},Object(M.a)({},e.id,e.value));O(Object(u.a)(Object(u.a)({},g),{},{generatedCronJob:t}))};return c.a.createElement("div",{className:"edit-template edit-cron"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(a.CRON))),c.a.createElement(Xe,{mobile:!1},c.a.createElement("div",null),c.a.createElement("div",{className:"search-toolbar-name"},a["Editing Cron Job"]),c.a.createElement("div",{className:"error"},c.a.createElement("span",{className:"error-message"},m?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):""," ",m)),c.a.createElement("div",{className:"success"},c.a.createElement("span",{className:"ok-message"},v?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):""," ",c.a.createElement("span",null,at()(v))))),c.a.createElement(Qe,{date:g.data.date,time:g.data.time,status:g.data.status},g.loading?c.a.createElement(P,null):c.a.createElement("form",{onSubmit:function(e){return j(e)},id:"edit-cron"},c.a.createElement("input",{type:"hidden",name:"save",value:"save"}),c.a.createElement("input",{type:"hidden",name:"token",value:t}),c.a.createElement(ze,{id:"command",name:"v_cmd",title:a.Command,value:g.data.cmd}),c.a.createElement("div",{className:"cron-form-body"},c.a.createElement("div",{className:"body-col-1"},c.a.createElement(ze,{value:g.generatedCronJob.h_min,onChange:y,title:a.Minute,name:"v_min",id:"h_min"}),c.a.createElement(ze,{value:g.generatedCronJob.h_hour,onChange:y,title:a.Hour,name:"v_hour",id:"h_hour"}),c.a.createElement(ze,{value:g.generatedCronJob.h_day,onChange:y,title:a.Day,name:"v_day",id:"h_day"}),c.a.createElement(ze,{value:g.generatedCronJob.h_month,onChange:y,title:a.Month,name:"v_month",id:"h_month"}),c.a.createElement(ze,{value:g.generatedCronJob.h_wday,title:a["Day of week"],onChange:y,name:"v_wday",id:"h_wday"})),c.a.createElement("div",{className:"body-col-2"},c.a.createElement(ca,{mode:"edit",job:g.data.job,generatedCronJob:function(e){O(Object(u.a)(Object(u.a)({},g),{},{generatedCronJob:e}))}}))),c.a.createElement("div",{className:"buttons-wrapper"},c.a.createElement("button",{type:"submit",className:"add"},a.Save),c.a.createElement("button",{type:"button",className:"back",onClick:function(){return r.push("/list/cron/")}},a.Back)))))}),la=function(e){var t=Object(n.useState)({value:"",previousValue:""}),a=Object(A.a)(t,2),r=a[0],l=a[1];Object(n.useEffect)((function(){l(Object(u.a)(Object(u.a)({},r),{},{value:e.value}))}),[e.value]),Object(n.useEffect)((function(){l(Object(u.a)(Object(u.a)({},r),{},{value:e.value,previousValue:e.value}))}),[]);return c.a.createElement("div",{class:"form-group"},c.a.createElement("label",{className:"label-wrapper",htmlFor:e.id},e.title,c.a.createElement("span",{className:"lowercase"},e.optionalTitle?"(".concat(e.optionalTitle,")"):"")),c.a.createElement("div",{className:"input-wrapper"},c.a.createElement("input",{type:"text",name:e.name,id:e.id,className:"form-control",onChange:function(e){var t=e.target.value;l(Object(u.a)(Object(u.a)({},r),{},{value:t,previousValue:t}))},value:r.value,readOnly:"unlimited"===r.value}),e.children))},oa=function(e){var t,a,r=Object(o.d)((function(e){return e.session})).i18n,l=Object(n.useState)({nameServersAmount:[],usersNS:[]}),s=Object(A.a)(l,2),i=s[0],m=s[1];Object(n.useEffect)((function(){if(e.usersNS){var t=e.usersNS.map((function(e,t){return t+1}));m(Object(u.a)(Object(u.a)({},i),{},{usersNS:e.usersNS,nameServersAmount:t}))}}),[e.usersNS]);var d=function(e){var t=Object(I.a)(i.nameServersAmount);t.splice(e-1,1),m(Object(u.a)(Object(u.a)({},i),{},{nameServersAmount:t}))};return c.a.createElement(c.a.Fragment,null,c.a.createElement("div",{className:"form-group name-servers"},c.a.createElement("label",{htmlFor:"v_ns1"},null!==(t=r["Name servers"])&&void 0!==t?t:"Name servers"),i.nameServersAmount.map((function(e,t){var a;if(e<9)return c.a.createElement("div",{className:"name-server-input-wrapper",key:t},c.a.createElement("input",{type:"text",className:"form-control",id:"v_ns".concat(t+1),defaultValue:i.usersNS[t]||"",name:"v_ns".concat(t+1)}),c.a.createElement("button",{type:"button",className:t<2?"hide":"show delete",onClick:function(){return d(t)}},null!==(a=r.delete)&&void 0!==a?a:"Delete"))}))),c.a.createElement("button",{type:"button",className:8===i.nameServersAmount.length?"hide":"show optional",onClick:function(){return function(){var e=i.nameServersAmount.length,t=Object(I.a)(i.nameServersAmount);t.push(e+1),m(Object(u.a)(Object(u.a)({},i),{},{nameServersAmount:t}))}()}},null!==(a=r["Add one more Name Server"])&&void 0!==a?a:"Add one more Name Server"))},sa=window.location.origin,ia=function(){return be.a.get(sa+"/api/v1/list/package/index.php")},ua=(a(230),function(e){var t=localStorage.getItem("token"),a=Object(o.d)((function(e){return e.session})).i18n,r=Object(R.g)(),l=Object(o.c)(),s=Object(n.useState)(""),i=Object(A.a)(s,2),m=i[0],d=i[1],E=Object(n.useState)(""),p=Object(A.a)(E,2),v=p[0],f=p[1],b=Object(n.useState)({data:{},loading:!1}),h=Object(A.a)(b,2),g=h[0],O=h[1];Object(n.useEffect)((function(){var e=ge.a.parse(r.location.search,{ignoreQueryPrefix:!0});l(Be("/list/package/")),l({type:"REMOVE_FOCUSED_ELEMENT",value:""}),e.package&&(O(Object(u.a)(Object(u.a)({},g),{},{loading:!0})),N(e.package))}),[]);var N=function(e){var t;(t=e,be.a.get(sa+"/api/v1/edit/package/index.php",{params:{package:t,token:He()}})).then((function(e){O(Object(u.a)(Object(u.a)({},g),{},{data:e.data,loading:!1}))})).catch((function(e){O(Object(u.a)(Object(u.a)({},g),{},{loading:!1})),console.error(e)}))},j=function(e){var t,a=g.data[e];t="quota"===e||"bandwidth"===e?"1000":"1",O(Object(u.a)(Object(u.a)({},g),{},{data:Object(u.a)(Object(u.a)({},g.data),{},Object(M.a)({},e,"unlimited"!==a?"unlimited":t))}))};return c.a.createElement("div",{className:"edit-template edit-package"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(a.PACKAGE))),c.a.createElement(Xe,{mobile:!1},c.a.createElement("div",null),c.a.createElement("div",{className:"search-toolbar-name"},a["Editing Package"]),c.a.createElement("div",{className:"error"},c.a.createElement("span",{className:"error-message"},m?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):""," ",m)),c.a.createElement("div",{className:"success"},c.a.createElement("span",{className:"ok-message"},v?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):""," ",c.a.createElement("span",null,at()(v))))),c.a.createElement(Qe,{date:g.data.date,time:g.data.time,status:g.data.status},g.loading?c.a.createElement(P,null):c.a.createElement("form",{onSubmit:function(e){e.preventDefault();var a,n={},c=Object(We.a)(new FormData(e.target).entries());try{for(c.s();!(a=c.n()).done;){var r=Object(A.a)(a.value,2),o=r[0],s=r[1];n[o]=s}}catch(i){c.e(i)}finally{c.f()}n.token=t,n.save="save",n.v_package=g.data.package,0!==Object.keys(n).length&&n.constructor===Object&&(O(Object(u.a)(Object(u.a)({},g),{},{loading:!0})),function(e,t){var a=new FormData;for(var n in e)a.append(n,e[n]);return be.a.post(sa+"/api/v1/edit/package/index.php",a,{params:{package:t}})}(n,g.data.package).then((function(e){if(200===e.status){var t=e.data,a=t.error_msg,n=t.ok_msg;a?(d(a),f("")):l(et()).then((function(){d(""),f(n)}))}})).then((function(){return N(g.data.package)})).catch((function(e){return console.error(e)})))},id:"edit-package"},c.a.createElement(ze,{id:"domain",name:"v_domain",title:a["Package Name"],value:g.data.package,disabled:!0}),c.a.createElement(Je,{optionalTitle:g.data.web_system,options:g.data.web_templates,selected:g.data.web_template,title:a["Web Template"],name:"v_web_template",id:"web-templates"}),g.data.web_backend&&c.a.createElement(Je,{optionalTitle:g.data.web_backend,options:g.data.backend_templates,selected:g.data.backend_template,title:a["Backend Template"],name:"v_backend_template",id:"backend-templates"}),g.data.proxy_system&&c.a.createElement(Je,{optionalTitle:g.data.proxy_system,options:g.data.proxy_templates,selected:g.data.proxy_template,title:a["Proxy Template"],name:"v_proxy_template",id:"proxy-templates"}),g.data.dns_system&&c.a.createElement(Je,{optionalTitle:g.data.dns_system,options:g.data.dns_templates,selected:g.data.dns_template,title:a["DNS Template"],name:"v_dns_template",id:"dns-templates"}),c.a.createElement(Je,{options:g.data.shells,selected:g.data.shell,title:a["SSH Access"],name:"v_shell",id:"ssh-access"}),c.a.createElement(la,{title:a["Web Domains"],id:"webDomains",name:"v_web_domains",value:g.data.web_domains},c.a.createElement("button",{type:"button",onClick:function(){return j("web_domains")}},c.a.createElement(W.a,{icon:"infinity"}))),c.a.createElement(la,{title:a["Web Aliases"],optionalTitle:a["per domain"],id:"webAliases",name:"v_web_aliases",value:g.data.web_aliases},c.a.createElement("button",{type:"button",onClick:function(){return j("web_aliases")}},c.a.createElement(W.a,{icon:"infinity"}))),c.a.createElement(la,{title:a["DNS Domains"],id:"dnsDomains",name:"v_dns_domains",value:g.data.dns_domains},c.a.createElement("button",{type:"button",onClick:function(){return j("dns_domains")}},c.a.createElement(W.a,{icon:"infinity"}))),c.a.createElement(la,{title:a["DNS records"],optionalTitle:a["per domain"],id:"dnsRecords",name:"v_dns_records",value:g.data.dns_records},c.a.createElement("button",{type:"button",onClick:function(){return j("dns_records")}},c.a.createElement(W.a,{icon:"infinity"}))),c.a.createElement(la,{title:a["Mail Domains"],id:"mailDomains",name:"v_mail_domains",value:g.data.mail_domains},c.a.createElement("button",{type:"button",onClick:function(){return j("mail_domains")}},c.a.createElement(W.a,{icon:"infinity"}))),c.a.createElement(la,{title:a["Mail Accounts"],optionalTitle:a["per domain"],id:"mailAccounts",name:"v_mail_accounts",value:g.data.mail_accounts},c.a.createElement("button",{type:"button",onClick:function(){return j("mail_accounts")}},c.a.createElement(W.a,{icon:"infinity"}))),c.a.createElement(la,{title:a.Databases,id:"databases",name:"v_databases",value:g.data.databases},c.a.createElement("button",{type:"button",onClick:function(){return j("databases")}},c.a.createElement(W.a,{icon:"infinity"}))),c.a.createElement(la,{title:a["Cron Jobs"],id:"cronJobs",name:"v_cron_jobs",value:g.data.cron_jobs},c.a.createElement("button",{type:"button",onClick:function(){return j("cron_jobs")}},c.a.createElement(W.a,{icon:"infinity"}))),c.a.createElement(ze,{name:"v_backups",id:"backups",value:g.data.backups,title:a.Backups}),c.a.createElement(la,{title:a.Quota,optionalTitle:a["in megabytes"],id:"quota",name:"v_disk_quota",value:g.data.disk_quota},c.a.createElement("button",{type:"button",onClick:function(){return j("disk_quota")}},c.a.createElement(W.a,{icon:"infinity"}))),c.a.createElement(la,{title:a.Bandwidth,optionalTitle:a["in megabytes"],id:"bandwidth",name:"v_bandwidth",value:g.data.bandwidth},c.a.createElement("button",{type:"button",onClick:function(){return j("bandwidth")}},c.a.createElement(W.a,{icon:"infinity"}))),c.a.createElement(oa,{usersNS:g.data.nameservers}),c.a.createElement("div",{className:"buttons-wrapper"},c.a.createElement("button",{type:"submit",className:"add"},a.Save),c.a.createElement("button",{type:"button",className:"back",onClick:function(){return r.push("/list/package/")}},a.Back)))))}),ma=(a(231),function(e){var t=localStorage.getItem("token"),a=Object(o.d)((function(e){return e.session})).i18n,r=Object(R.g)(),l=Object(o.c)(),s=Object(n.useState)(""),i=Object(A.a)(s,2),m=i[0],d=i[1],E=Object(n.useState)(""),p=Object(A.a)(E,2),v=p[0],f=p[1],b=Object(n.useState)({data:{},loading:!1,errorMessage:"",okMessage:""}),h=Object(A.a)(b,2),g=h[0],O=h[1];Object(n.useEffect)((function(){l(Be("/list/server/")),l({type:"REMOVE_FOCUSED_ELEMENT",value:""}),O(Object(u.a)(Object(u.a)({},g),{},{loading:!0})),N()}),[]);var N=function(){it("httpd").then((function(e){O(Object(u.a)(Object(u.a)({},g),{},{data:e.data,loading:!1}))})).catch((function(e){O(Object(u.a)(Object(u.a)({},g),{},{loading:!1})),console.error(e)}))};return c.a.createElement("div",{className:"edit-template edit-httpd"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(a.SERVER))),c.a.createElement(Xe,{mobile:!1},c.a.createElement("div",null),c.a.createElement("div",{className:"search-toolbar-name"},c.a.createElement(pe.b,{to:"/edit/server/".concat(g.data.service_name)},a["Configuring Server"]," / ",g.data.service_name)),c.a.createElement("div",{className:"link"},c.a.createElement(pe.b,{to:"/edit/server/php"},a.Configure," php.ini")),c.a.createElement("div",{className:"error"},c.a.createElement("span",{className:"error-message"},m?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):""," ",m)),c.a.createElement("div",{className:"success"},c.a.createElement("span",{className:"ok-message"},v?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):""," ",c.a.createElement("span",null,at()(v))))),c.a.createElement(Qe,null,g.loading?c.a.createElement(P,null):c.a.createElement("form",{onSubmit:function(e){return function(e){e.preventDefault();var t,a={},n=Object(We.a)(new FormData(e.target).entries());try{for(n.s();!(t=n.n()).done;){var c=Object(A.a)(t.value,2),r=c[0],l=c[1];a[r]=l}}catch(o){n.e(o)}finally{n.f()}0!==Object.keys(a).length&&a.constructor===Object&&(O(Object(u.a)(Object(u.a)({},g),{},{loading:!0})),st(a,"/httpd").then((function(e){if(200===e.status){var t=e.data,a=t.error_msg,n=t.ok_msg;a?(d(a),f("")):(d(""),f(n))}})).then((function(){return N()})).catch((function(e){return console.error(e)})))}(e)},id:"edit-httpd"},c.a.createElement("input",{type:"hidden",name:"save",value:"save"}),c.a.createElement("input",{type:"hidden",name:"token",value:t}),c.a.createElement(rt,{defaultValue:g.data.config,title:g.data.config_path,name:"v_config",id:"v_config",rows:"25"}),c.a.createElement("br",null),c.a.createElement(Ye,{title:a.restart,defaultChecked:!0,name:"v_restart",id:"restart"}),c.a.createElement("div",{className:"buttons-wrapper"},c.a.createElement("button",{type:"submit",className:"add"},a.Save),c.a.createElement("button",{type:"button",className:"back",onClick:function(){return r.push("/list/server/")}},a.Back)))))}),da=(a(232),function(e){var t,a,r,l,s,i,m,d,E=Object(o.d)((function(e){return e.session})).i18n,p=localStorage.getItem("token"),v=Object(R.g)(),f=Object(o.c)(),b=Object(n.useState)({loading:!1,okMessage:"",errorMessage:"",generatedCronJob:{h_min:"*",h_hour:"*",h_day:"*",h_wday:"*",h_month:"*"}}),h=Object(A.a)(b,2),g=h[0],O=h[1];Object(n.useEffect)((function(){f(Be("/list/cron/")),f({type:"REMOVE_FOCUSED_ELEMENT",value:""})}),[]);var N=function(e){e.preventDefault();var t,a={},n=Object(We.a)(new FormData(e.target).entries());try{for(n.s();!(t=n.n()).done;){var c=Object(A.a)(t.value,2),r=c[0],l=c[1];a[r]=l}}catch(o){n.e(o)}finally{n.f()}0!==Object.keys(a).length&&a.constructor===Object&&(O(Object(u.a)(Object(u.a)({},g),{},{loading:!0})),function(e){var t=new FormData;for(var a in e)t.append(a,e[a]);return be.a.post(Gt+"/api/v1/add/cron/index.php",t)}(a).then((function(e){if(200===e.status){var t=e.data,a=t.error_msg,n=t.ok_msg;a?O(Object(u.a)(Object(u.a)({},g),{},{errorMessage:a,okMessage:n,loading:!1})):f(et()).then((function(){O(Object(u.a)(Object(u.a)({},g),{},{okMessage:n,errorMessage:"",loading:!1}))}))}})).catch((function(e){return console.error(e)})))},j=function(e){var t=Object(u.a)(Object(u.a)({},g.generatedCronJob),{},Object(M.a)({},e.id,e.value));O(Object(u.a)(Object(u.a)({},g),{},{generatedCronJob:t}))};return c.a.createElement("div",{className:"edit-template add-cron"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(E.CRON))),c.a.createElement(Xe,{mobile:!1},c.a.createElement("div",null),c.a.createElement("div",{className:"search-toolbar-name"},E["Adding Cron Job"]),c.a.createElement("div",{className:"error"},c.a.createElement("span",{className:"error-message"},g.errorMessage?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):"",g.errorMessage)),c.a.createElement("div",{className:"success"},c.a.createElement("span",{className:"ok-message"},g.okMessage?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):"",c.a.createElement("span",null,at()(g.okMessage))))),c.a.createElement(Qe,null,g.loading?c.a.createElement(P,null):c.a.createElement("form",{onSubmit:function(e){return N(e)}},c.a.createElement("input",{type:"hidden",name:"ok",value:"add"}),c.a.createElement("input",{type:"hidden",name:"token",value:p}),c.a.createElement("div",{className:"form-group command"},c.a.createElement("label",{htmlFor:"command"},null!==(t=E.Command)&&void 0!==t?t:"Command"),c.a.createElement("input",{type:"text",className:"form-control",id:"command",name:"v_cmd"})),c.a.createElement("div",{className:"cron-form-body"},c.a.createElement("div",{className:"body-col-1"},c.a.createElement("div",{className:"form-group"},c.a.createElement("label",{htmlFor:"h_min"},null!==(a=E.Minute)&&void 0!==a?a:"Minute"),c.a.createElement("input",{type:"text",className:"form-control",id:"h_min",onChange:function(e){return j(e.target)},value:g.generatedCronJob.h_min,name:"v_min"})),c.a.createElement("div",{className:"form-group"},c.a.createElement("label",{htmlFor:"h_hour"},null!==(r=E.Hour)&&void 0!==r?r:"Hour"),c.a.createElement("input",{type:"text",className:"form-control",id:"h_hour",onChange:function(e){return j(e.target)},value:g.generatedCronJob.h_hour,name:"v_hour"})),c.a.createElement("div",{className:"form-group"},c.a.createElement("label",{htmlFor:"h_day"},null!==(l=E.Day)&&void 0!==l?l:"Day"),c.a.createElement("input",{type:"text",className:"form-control",id:"h_day",onChange:function(e){return j(e.target)},value:g.generatedCronJob.h_day,name:"v_day"})),c.a.createElement("div",{className:"form-group"},c.a.createElement("label",{htmlFor:"h_month"},null!==(s=E.Month)&&void 0!==s?s:"Month"),c.a.createElement("input",{type:"text",className:"form-control",id:"h_month",onChange:function(e){return j(e.target)},value:g.generatedCronJob.h_month,name:"v_month"})),c.a.createElement("div",{className:"form-group"},c.a.createElement("label",{htmlFor:"h_wday"},null!==(i=E["Day of week"])&&void 0!==i?i:"Days of week"),c.a.createElement("input",{type:"text",className:"form-control",id:"h_wday",onChange:function(e){return j(e.target)},value:g.generatedCronJob.h_wday,name:"v_wday"}))),c.a.createElement("div",{className:"body-col-2"},c.a.createElement(ca,{mode:"add",generatedCronJob:function(e){O(Object(u.a)(Object(u.a)({},g),{},{generatedCronJob:e}))}}))),c.a.createElement("div",{className:"buttons-wrapper"},c.a.createElement("button",{type:"submit",className:"add"},null!==(m=E.Add)&&void 0!==m?m:"Add"),c.a.createElement("button",{type:"button",className:"back",onClick:function(){return v.push("/list/cron/")}},null!==(d=E.Back)&&void 0!==d?d:"Back")))))}),Ea=(a(233),function(e){var t=localStorage.getItem("token"),a=Object(o.d)((function(e){return e.session})).i18n,r=Object(o.c)(),l=Object(R.g)(),s=Object(n.useState)({loading:!1,okMessage:"",errorMessage:"",webTemplates:[],webSystem:"",backendTemplates:[],backendSystem:"",proxySystem:"",proxyTemplates:[],dnsTemplates:[],dnsSystem:"",sshTemplates:[],usersNS:[],webDomains:"1",webAliases:"1",dnsDomains:"1",dnsRecords:"1",mailDomains:"1",mailAccounts:"1",databases:"1",cronJobs:"1",quota:"1000",bandwidth:"1000"}),i=Object(A.a)(s,2),m=i[0],d=i[1];Object(n.useEffect)((function(){r(Be("/list/package/")),r({type:"REMOVE_FOCUSED_ELEMENT",value:""}),d(Object(u.a)(Object(u.a)({},m),{},{loading:!0})),E()}),[]);var E=function(){be.a.get(sa+"/api/v1/add/package/index.php").then((function(e){d(Object(u.a)(Object(u.a)({},m),{},{webTemplates:e.data.web_templates,webSystem:e.data.web_system,backendTemplates:e.data.backend_templates,backendSystem:e.data.web_backend,dnsTemplates:e.data.dns_templates,dnsSystem:e.data.dns_system,proxySystem:e.data.proxy_system,proxyTemplates:e.data.proxy_templates,sshTemplates:e.data.ssh_access,loading:!1}))})).catch((function(e){return console.err(e)}))},p=function(e){e.preventDefault();var a,n={},c=Object(We.a)(new FormData(e.target).entries());try{for(c.s();!(a=c.n()).done;){var l=Object(A.a)(a.value,2),o=l[0],s=l[1];n[o]=s}}catch(i){c.e(i)}finally{c.f()}n.token=t,n.ok="Add",0!==Object.keys(n).length&&n.constructor===Object&&(d(Object(u.a)(Object(u.a)({},m),{},{loading:!0})),function(e){var t=new FormData;for(var a in e)t.append(a,e[a]);return be.a.post(sa+"/api/v1/add/package/index.php",t)}(n).then((function(e){if(200===e.status){var t=e.data,a=t.error_msg,n=t.ok_msg;a?d(Object(u.a)(Object(u.a)({},m),{},{errorMessage:a,okMessage:n,loading:!1})):r(et()).then((function(){d(Object(u.a)(Object(u.a)({},m),{},{okMessage:n,errorMessage:"",loading:!1}))}))}})).catch((function(e){return console.error(e)})))},v=function(e){var t,a=m[e];t="quota"===e||"bandwidth"===e?"1000":"1",d("unlimited"!==a?Object(u.a)(Object(u.a)({},m),{},Object(M.a)({},e,"unlimited")):Object(u.a)(Object(u.a)({},m),{},Object(M.a)({},e,t)))};return c.a.createElement("div",{className:"edit-template add-package"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(a.PACKAGE))),c.a.createElement(Xe,{mobile:!1},c.a.createElement("div",null),c.a.createElement("div",{className:"search-toolbar-name"},a["Adding Package"]),c.a.createElement("div",{className:"error"},c.a.createElement("span",{className:"error-message"},m.errorMessage?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):"",m.errorMessage)),c.a.createElement("div",{className:"success"},c.a.createElement("span",{className:"ok-message"},m.okMessage?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):"",c.a.createElement("span",null,at()(m.okMessage))))),c.a.createElement(Qe,null,m.loading?c.a.createElement(P,null):c.a.createElement("form",{onSubmit:function(e){return p(e)}},c.a.createElement(ze,{name:"v_package",id:"packageName",title:a["Package Name"]}),c.a.createElement(Je,{options:m.webTemplates,name:"v_web_template",id:"webTemplates",title:a["Web Template"],optionalTitle:m.webSystem}),c.a.createElement(Je,{options:m.backendTemplates,name:"v_backend_template",id:"backendTemplates",title:a["Backend Template"],optionalTitle:m.backendSystem}),c.a.createElement(Je,{options:m.proxyTemplates,name:"v_proxy_template",id:"proxyTemplates",title:a["Proxy Template"],optionalTitle:m.proxySystem}),c.a.createElement(Je,{options:m.dnsTemplates,name:"v_dns_template",id:"dnsTemplates",title:a["DNS Template"],optionalTitle:m.dnsSystem}),c.a.createElement(Je,{options:m.sshTemplates,name:"v_shell",id:"shells",title:a["SSH Access"]}),c.a.createElement(la,{title:a["Web Domains"],id:"webDomains",name:"v_web_domains",value:m.webDomains},c.a.createElement("button",{type:"button",onClick:function(){return v("webDomains")}},c.a.createElement(W.a,{icon:"infinity"}))),c.a.createElement(la,{title:a["Web Aliases"],optionalTitle:a["per domain"],id:"webAliases",name:"v_web_aliases",value:m.webAliases},c.a.createElement("button",{type:"button",onClick:function(){return v("webAliases")}},c.a.createElement(W.a,{icon:"infinity"}))),c.a.createElement(la,{title:a["DNS Domains"],id:"dnsDomains",name:"v_dns_domains",value:m.dnsDomains},c.a.createElement("button",{type:"button",onClick:function(){return v("dnsDomains")}},c.a.createElement(W.a,{icon:"infinity"}))),c.a.createElement(la,{title:a["DNS records"],optionalTitle:a["per domain"],id:"dnsRecords",name:"v_dns_records",value:m.dnsRecords},c.a.createElement("button",{type:"button",onClick:function(){return v("dnsRecords")}},c.a.createElement(W.a,{icon:"infinity"}))),c.a.createElement(la,{title:a["Mail Domains"],id:"mailDomains",name:"v_mail_domains",value:m.mailDomains},c.a.createElement("button",{type:"button",onClick:function(){return v("mailDomains")}},c.a.createElement(W.a,{icon:"infinity"}))),c.a.createElement(la,{title:a["Mail Accounts"],optionalTitle:a["per domain"],id:"mailAccounts",name:"v_mail_accounts",value:m.mailAccounts},c.a.createElement("button",{type:"button",onClick:function(){return v("mailAccounts")}},c.a.createElement(W.a,{icon:"infinity"}))),c.a.createElement(la,{title:a.Databases,id:"databases",name:"v_databases",value:m.databases},c.a.createElement("button",{type:"button",onClick:function(){return v("databases")}},c.a.createElement(W.a,{icon:"infinity"}))),c.a.createElement(la,{title:a["Cron Jobs"],id:"cronJobs",name:"v_cron_jobs",value:m.cronJobs},c.a.createElement("button",{type:"button",onClick:function(){return v("cronJobs")}},c.a.createElement(W.a,{icon:"infinity"}))),c.a.createElement(ze,{name:"v_backups",id:"backups",value:"1",title:a.Backups}),c.a.createElement(la,{title:a.Quota,optionalTitle:a["in megabytes"],id:"quota",name:"v_disk_quota",value:m.quota},c.a.createElement("button",{type:"button",onClick:function(){return v("quota")}},c.a.createElement(W.a,{icon:"infinity"}))),c.a.createElement(la,{title:a.Bandwidth,optionalTitle:a["in megabytes"],id:"bandwidth",name:"v_bandwidth",value:m.bandwidth},c.a.createElement("button",{type:"button",onClick:function(){return v("bandwidth")}},c.a.createElement(W.a,{icon:"infinity"}))),c.a.createElement(oa,{usersNS:["ns1.example.ltd","ns2.example.ltd"]}),c.a.createElement("div",{className:"buttons-wrapper"},c.a.createElement("button",{type:"submit",className:"add"},a.Add),c.a.createElement("button",{type:"button",className:"back",onClick:function(){return l.push("/list/package/")}},a.Back)))))}),pa=function(e){var t=e.proxySystem,a=e.webSystem,n=e.webBackend,r=e.webBackendPool,l=e.visible,s=void 0!==l&&l,i=Object(o.d)((function(e){return e.session})).i18n;return c.a.createElement("div",{className:"server-web-option",style:{display:"".concat(s?"block":"none")}},t&&c.a.createElement(ze,{optionalTitle:c.a.createElement(pe.b,{to:"/edit/server/".concat(t)},i.configure),title:i["Proxy Server"]+" / ",name:"v_proxy_system",value:t,id:"proxy_system",disabled:!0}),a&&c.a.createElement(ze,{optionalTitle:c.a.createElement(pe.b,{to:"/edit/server/".concat(a)},i.configure),title:i["Web Server"]+" / ",name:"v_web_system",value:a,id:"web_system",disabled:!0}),n&&c.a.createElement(ze,{title:i["Backend Server"],name:"v_web_backend",value:n,id:"web_backend",disabled:!0}),r&&c.a.createElement(ze,{optionalTitle:c.a.createElement(pe.b,{to:"/edit/server/".concat(r)},i.configure),title:i["Backend Pool Mode"],name:"v_web_backend_pool",value:r,id:"web_backend_pool",disabled:!0}))},va=function(e){var t=e.dnsSystem,a=e.selected,n=e.dnsCluster,r=e.visible,l=Object(o.d)((function(e){return e.session})).i18n;return c.a.createElement("div",{className:"server-dns-option",style:{display:"".concat(r?"block":"none")}},c.a.createElement(ze,{optionalTitle:c.a.createElement(pe.b,{to:"/edit/server/".concat(t)},l.configure),title:l["DNS Server"]+" / ",name:"v_dns_system",value:t,id:"dns_system",disabled:!0}),c.a.createElement(Je,{title:l["DNS Cluster"],selected:a,options:[l.no,l.yes],name:"v_dns_cluster",id:"dns-cluster",disabled:!0}),"yes"===a&&c.a.createElement("div",{className:"hosts-wrapper"},Object.keys(n).map((function(e,t){return c.a.createElement(ze,{title:"".concat(l["DNS Server"]," #").concat(t+1),name:"v_dns_remote_host",id:"dns-remote-host",value:e,disabled:!0})}))))},fa=function(e){var t,a=e.data,r=e.visible,l=Object(o.d)((function(e){return e.session})).i18n,s=Object(o.d)((function(e){return e.userSession})).session,i=Object(n.useState)(a.lead||s.SFTPJAIL_KEY?"yes":"no"),u=Object(A.a)(i,2),m=u[0],d=u[1],E=Object(n.useState)(a.fm_lead||s.FILEMANAGER_KEY?"yes":"no"),p=Object(A.a)(E,2),v=p[0],f=p[1],b=Object(n.useState)("yes"===s.SOFTACULOUS?"yes":"no"),h=Object(A.a)(b,2),g=h[0],O=h[1];return c.a.createElement("div",{className:"server-plugins-option",style:{display:"".concat(r?"block":"none")}},c.a.createElement(ze,{title:l.Version,value:a.version,name:"v_version",id:"version",disabled:!0}),c.a.createElement("div",{className:"form-group select-group"},c.a.createElement("label",{className:"label-wrapper",htmlFor:"quota"},l["FileSystem Disk Quota"]),c.a.createElement("select",{className:"form-control",id:"quota",name:"v_quota"},c.a.createElement("option",{value:"no"},l.no),c.a.createElement("option",{value:"yes",selected:"yes"===a.disk_quota},l.yes))),c.a.createElement("br",null),c.a.createElement("div",{className:"form-group select-group"},c.a.createElement("label",{className:"label-wrapper",htmlFor:"firewall"},l.Firewall),c.a.createElement("select",{className:"form-control",id:"firewall",name:"v_firewall"},c.a.createElement("option",{value:"no"},l.no),c.a.createElement("option",{value:"yes",selected:"iptables"===a.firewall_system},l.yes))),c.a.createElement(Je,{title:l["Reseller Role"],options:[l.no],name:"v_reseller",id:"reseller",disabled:!0}),c.a.createElement(Je,{title:l["Backup Migration Manager"],options:[l.no],name:"v_backup_manager",id:"backup_manager",disabled:!0}),c.a.createElement("div",{className:"form-group select-group"},c.a.createElement("label",{className:"label-wrapper",htmlFor:"sftp"},l["SFTP Chroot"]),c.a.createElement("select",{className:"form-control",id:"sftp",name:"v_sftp",onChange:function(e){return d(e.target.value)}},s.SFTPJAIL_KEY?c.a.createElement("option",{value:"cancel"},l["Disable and Cancel Licence"]):c.a.createElement("option",{value:"no"},l.no),c.a.createElement("option",{value:"yes",selected:a.lead||s.SFTPJAIL_KEY},l.yes))),function(){if("yes"===m)return!a.sftp_license_key&&s.SFTPJAIL_KEY?c.a.createElement("div",{className:"sftp-module"},c.a.createElement("div",null,l["Restrict users so that they cannot use SSH and access only their home directory."]),c.a.createElement("div",{className:"license-description"},c.a.createElement("span",null,l["Licence Key"],":"),c.a.createElement(ze,{title:l["License Key"],value:a.licence_key,name:"v_sftp_licence",id:"sftp_licence"}))):c.a.createElement("div",{className:"sftp-module"},c.a.createElement(c.a.Fragment,null,c.a.createElement("span",null,l["Restrict users so that they cannot use SSH and access only their home directory."]),c.a.createElement("span",null,l["This is a commercial module, you would need to purchace license key to enable it."])),c.a.createElement("div",{className:"license-description"},c.a.createElement("span",null,l["Enter License Key"],":"),c.a.createElement(ze,{title:l.Version,name:"v_sftp_licence",id:"sftp_licence"})),c.a.createElement("div",{className:"buy-license"},c.a.createElement("a",{href:"https://vestacp.com/checkout/2co.php?product_id=6&referer=".concat(a.http_host)},l["Buy Licence"]," 3$ ",l.month),c.a.createElement("a",{href:"https://vestacp.com/checkout/2co.php?product_id=9&referer=".concat(a.http_host)},l["Buy Lifetime License"]," 18$")),c.a.createElement("span",null,"2Checkout.com Inc. (Ohio, USA) is a payment facilitator for goods and services provided by vestacp.com."))}(),c.a.createElement("br",null),c.a.createElement("div",{className:"form-group select-group"},c.a.createElement("label",{className:"label-wrapper",htmlFor:"filemanager"},l["File Manager"]),c.a.createElement("select",{className:"form-control",id:"filemanager",name:"v_filemanager",onChange:function(e){return f(e.target.value)}},s.FILEMANAGER_KEY?c.a.createElement("option",{value:"cancel"},l["Disable and Cancel Licence"]):c.a.createElement("option",{value:"no"},l.no),c.a.createElement("option",{value:"yes",selected:a.fm_lead||s.FILEMANAGER_KEY},l.yes))),function(){if("yes"===v)return!a.fm_license_key&&s.FILEMANAGER_KEY?c.a.createElement("div",{className:"fm-module"},c.a.createElement("div",null,l["Browse, copy, edit, view, and retrieve all of your web domain files using fully featured File Manager."]),c.a.createElement("div",{className:"license-description"},c.a.createElement("span",null,l["Licence Key"],":"),c.a.createElement(ze,{title:l["Licence Key"],value:a.fm_licence_key_option,name:"v_filemanager_licence",id:"filemanager_licence"}))):c.a.createElement("div",{className:"fm-module"},c.a.createElement(c.a.Fragment,null,c.a.createElement("span",null,l["Browse, copy, edit, view, and retrieve all of your web domain files using fully featured File Manager."]),c.a.createElement("span",null,l["This is a commercial module, you would need to purchace license key to enable it."])),c.a.createElement("div",{className:"license-description"},c.a.createElement("span",null,l["Enter License Key"],":"),c.a.createElement(ze,{title:l.Version,value:"",name:"v_filemanager_licence",id:"sftp_licence"})),c.a.createElement("div",{className:"buy-license"},c.a.createElement("a",{href:"https://vestacp.com/checkout/2co.php?product_id=7&referer=".concat(a.http_host),target:"_blank",rel:"noopener noreferrer"},l["Buy Licence"]," 3$ ",l.month),c.a.createElement("a",{href:"https://vestacp.com/checkout/2co.php?product_id=8&referer=".concat(a.http_host),target:"_blank",rel:"noopener noreferrer"},l["Buy Lifetime License"]," 28$")),c.a.createElement("span",null,"2Checkout.com Inc. (Ohio, USA) is a payment facilitator for goods and services provided by vestacp.com."))}(),c.a.createElement("br",null),c.a.createElement("div",{className:"form-group select-group"},c.a.createElement("label",{className:"label-wrapper",htmlFor:"softaculous"},null!==(t=l.Softaculous)&&void 0!==t?t:"Softaculous"),c.a.createElement("select",{className:"form-control",id:"softaculous",name:"v_softaculous",onChange:function(e){return O(e.target.value)}},c.a.createElement("option",{value:"no"},l.no),c.a.createElement("option",{value:"yes",selected:a.softaculous_lead||"yes"===s.SOFTACULOUS},l.yes))),function(){var e;if("yes"===g&&"yes"===s.SOFTACULOUS)return c.a.createElement("div",{className:"soft-module"},c.a.createElement("div",null,c.a.createElement("span",{style:{fontWeight:"bolder"}},l["* plugin installation will run in background"]),c.a.createElement("span",null,"Softaculous is a great Auto Installer having 426 great scripts, 1115 PHP Classes and we are still adding more. Softaculous is ideal for Web Hosting companies and it could give a significant boost to your sales. These scripts cover most of the uses a customer could ever have. We have covered a wide array of Categories so that everyone could find the required script one would need to power their Web Site.")),c.a.createElement("div",{className:"buy-license"},c.a.createElement("a",{href:"https://www.softaculous.com/softaculous/",target:"_blank",rel:"noopener noreferrer"},null!==(e=l["Get Premium License"])&&void 0!==e?e:"Get Premium License")))}())},ba=function(e){var t=e.data,a=e.visible,r=Object(o.d)((function(e){return e.session})).i18n,l=Object(n.useState)(!1),s=Object(A.a)(l,2),i=s[0],u=s[1],m=Object(n.useState)([]),d=Object(A.a)(m,2),E=d[0],p=d[1];return Object(n.useEffect)((function(){var e=t.ssl_domains;p(e?[""].concat(Object(I.a)(e)):[""])}),[]),c.a.createElement("div",{className:"server-ssl-option",style:{display:"".concat(a?"block":"none")}},c.a.createElement(Ye,{onChange:function(e){return u(e)},title:r["Use Web Domain SSL Certificate"],defaultChecked:t.vesta_certificate,name:"v_web_ssl_domain_checkbox",id:"web_ssl_domain_checkbox",checked:i}),i&&c.a.createElement("div",{className:"domain-group"},c.a.createElement(Je,{selected:t.vesta_certificate,name:"v_web_ssl_domain",title:r.Domain,options:E,id:"web_ssl_domain"})),c.a.createElement(rt,{title:r["SSL Certificate"],defaultValue:t.sys_ssl_crt,name:"v_sys_ssl_crt",id:"sys_ssl_crt"}),c.a.createElement(rt,{defaultValue:t.sys_ssl_key,id:"sys_ssl_key",name:"v_sys_ssl_key",title:r["SSL Key"]}),c.a.createElement("div",{className:"additional-info"},t.sys_ssl_subject&&c.a.createElement("div",null,c.a.createElement("span",null,r.SUBJECT,":"),c.a.createElement("span",null,t.sys_ssl_subject)),t.sys_ssl_aliases&&c.a.createElement("div",null,c.a.createElement("span",null,r.ALIASES,":"),c.a.createElement("span",null,t.sys_ssl_aliases)),t.sys_ssl_not_before&&c.a.createElement("div",null,c.a.createElement("span",null,r.NOT_BEFORE,":"),c.a.createElement("span",null,t.sys_ssl_not_before)),t.sys_ssl_not_after&&c.a.createElement("div",null,c.a.createElement("span",null,r.NOT_AFTER,":"),c.a.createElement("span",null,t.sys_ssl_not_after)),t.sys_ssl_signature&&c.a.createElement("div",null,c.a.createElement("span",null,r.SIGNATURE,":"),c.a.createElement("span",null,t.sys_ssl_signature)),t.sys_ssl_pub_key&&c.a.createElement("div",null,c.a.createElement("span",null,r.PUB_KEY,":"),c.a.createElement("span",null,t.sys_ssl_pub_key)),t.sys_ssl_issuer&&c.a.createElement("div",null,c.a.createElement("span",null,r.ISSUER,":"),c.a.createElement("span",null,t.sys_ssl_issuer))))},ha=function(e){var t=e.data,a=e.visible,n=Object(o.d)((function(e){return e.userSession.session})),r=n.DB_PMA_URL,l=n.DB_PGA_URL,s=Object(o.d)((function(e){return e.session})).i18n;return c.a.createElement("div",{className:"server-mail-option",style:{display:"".concat(a?"block":"none")}},c.a.createElement(Je,{optionalTitle:c.a.createElement(pe.b,{to:"/edit/server/mysql"},s.configure),title:s["MySQL Support"]+" / ",selected:t.mysql,options:[s.no,s.yes],name:"v_mysql",id:"mysql",disabled:!0}),"yes"===t.mysql&&c.a.createElement(c.a.Fragment,null,c.a.createElement(ze,{title:s["phpMyAdmin URL"],value:r,name:"v_mysql_url",id:"mysql_url"}),function(){if(t.mysql_hosts.length)return t.mysql_hosts.map((function(e,t){return c.a.createElement("div",{className:"hosts"},c.a.createElement(ze,{title:"".concat(s.Host," #").concat(t+1),value:e.HOST,name:"v_mysql_host",id:"mysql_host",disabled:!0}),c.a.createElement(ze,{title:s.Password,name:"v_mysql_password",id:"mysql_password"}),c.a.createElement(ze,{title:s["Maximum Number Of Databases"],value:e.MAX_DB,name:"v_mysql_max",id:"mysql_max",disabled:!0}),c.a.createElement(ze,{title:s["Current Number Of Databases"],value:e.U_DB_BASES,name:"v_mysql_max",id:"current-databases",disabled:!0}))}))}()),c.a.createElement(Je,{optionalTitle:c.a.createElement(pe.b,{to:"/edit/server/postgresql"},s.configure),title:s["PostgreSQL Support"]+" / ",selected:t.pgsql,options:[s.no,s.yes],name:"v_pgsql",id:"pgsql",disabled:!0}),"yes"===t.pgsql&&c.a.createElement(c.a.Fragment,null,c.a.createElement(ze,{title:s["phpPgAdmin URL"],value:l,name:"v_pgsql_url",id:"pgsql_url"}),t.pgsql_hosts.map((function(e,t){return c.a.createElement("div",{className:"hosts"},c.a.createElement(ze,{title:"".concat(s.Host," #").concat(t+1),value:e.HOST,name:"v_pgsql_host",id:"pgsql_host",disabled:!0}),c.a.createElement(ze,{title:s["Maximum Number Of Databases"],value:e.MAX_DB,name:"v_psql_max",id:"psql_max",disabled:!0}),c.a.createElement(ze,{title:s["Current Number Of Databases"],value:e.U_DB_BASES,name:"v_pgsql_max",id:"pgsql_current",disabled:!0}))}))))},ga=function(e){var t=e.data,a=e.visible,r=Object(o.d)((function(e){return e.session})).i18n,l=Object(n.useState)(!1),s=Object(A.a)(l,2),i=s[0],u=s[1];return c.a.createElement("div",{className:"server-dns-option",style:{display:"".concat(a?"block":"none")}},c.a.createElement(Je,{options:["no","yes"],title:r["Local backup"],selected:t.backup,name:"v_backup",id:"backup"}),c.a.createElement(Je,{options:["1","2","3","4","5","6","7","8","9"],title:r["Compression level"],selected:t.backup_gzip,name:"v_backup_gzip",id:"backup-gzip"}),c.a.createElement(ze,{title:r.Directory,value:t.backup_dir,name:"v_backup_dir",id:"v-backup-dir"}),c.a.createElement("button",{type:"button",onClick:function(){return u(!i)}},r["Remote backup"],i?c.a.createElement(W.a,{icon:"caret-up"}):c.a.createElement(W.a,{icon:"caret-down"})),i&&c.a.createElement("div",{style:{transform:"translateX(3rem)"}},c.a.createElement("br",null),c.a.createElement(Je,{selected:t.backup_type,options:t.protocols,title:r.Protocol,name:"v_backup_type",id:"backup_type"}),c.a.createElement(ze,{title:r.Host,value:t.backup_host,name:"v_backup_host",id:"backup_host"}),c.a.createElement(ze,{title:r.Username,value:t.backup_username,name:"v_backup_username",id:"backup_username"}),c.a.createElement(ze,{title:r.Password,value:t.backup_password,name:"v_backup_password",id:"backup_password"}),c.a.createElement(ze,{title:r.Directory,value:t.backup_bpath,name:"v_backup_bpath",id:"backup_bpath"})))},Oa=function(e){var t=e.data,a=e.visible,r=Object(o.d)((function(e){return e.userSession.session})).MAIL_URL,l=Object(o.d)((function(e){return e.session})).i18n,s=Object(n.useState)(!1),i=Object(A.a)(s,2),u=i[0],m=i[1];Object(n.useEffect)((function(){t.mail_certificate&&m(!0)}),[]);return c.a.createElement("div",{className:"server-mail-option",style:{display:"".concat(a?"block":"none")}},c.a.createElement(ze,{optionalTitle:c.a.createElement(pe.b,{to:"/edit/server/".concat(t.mail_system)},l.configure),title:l["MAIL Server"]+" / ",name:"v_mail_system",value:t.mail_system,id:"mail_system",disabled:!0}),t.antivirus_system&&c.a.createElement(ze,{optionalTitle:c.a.createElement(pe.b,{to:"/edit/server/".concat(t.antivirus_system)},l.configure),title:l.Antivirus+" / ",name:"v_antivirus_system",value:t.antivirus_system,id:"antivirus_system",disabled:!0}),t.antispam_system&&c.a.createElement(ze,{optionalTitle:c.a.createElement(pe.b,{to:"/edit/server/".concat(t.antispam_system)},l.configure),title:l["DNS Server"]+" / ",name:"v_antispam_system",value:t.antispam_system,id:"antispam_system",disabled:!0}),c.a.createElement(ze,{title:l["Webmail URL"],name:"v_mail_url",value:r,id:"mail-url"}),c.a.createElement("br",null),c.a.createElement("br",null),c.a.createElement(Ye,{onChange:function(e){return m(e)},title:l["Use Web Domain SSL Certificate"],name:"v_mail_ssl_domain_checkbox",id:"mail-ssl-domain-checkbox",checked:!!t.mail_certificate}),u&&c.a.createElement("div",{className:"mail-cert-info"},c.a.createElement(Je,{options:[""].concat(Object(I.a)(t.ssl_domains)),selected:t.mail_certificate,name:"v_mail_ssl_domain",title:l.Domain,id:"mail-ssl-domain"}),c.a.createElement("div",{className:"additional-info"},t.sys_ssl_subject&&c.a.createElement("div",null,c.a.createElement("span",null,l.SUBJECT,":"),c.a.createElement("span",null,t.sys_ssl_subject)),t.sys_ssl_aliases&&c.a.createElement("div",null,c.a.createElement("span",null,l.ALIASES,":"),c.a.createElement("span",null,t.sys_ssl_aliases)),t.sys_ssl_not_before&&c.a.createElement("div",null,c.a.createElement("span",null,l.NOT_BEFORE,":"),c.a.createElement("span",null,t.sys_ssl_not_before)),t.sys_ssl_not_after&&c.a.createElement("div",null,c.a.createElement("span",null,l.NOT_AFTER,":"),c.a.createElement("span",null,t.sys_ssl_not_after)),t.sys_ssl_signature&&c.a.createElement("div",null,c.a.createElement("span",null,l.SIGNATURE,":"),c.a.createElement("span",null,t.sys_ssl_signature)),t.sys_ssl_pub_key&&c.a.createElement("div",null,c.a.createElement("span",null,l.PUB_KEY,":"),c.a.createElement("span",null,t.sys_ssl_pub_key)),t.sys_ssl_issuer&&c.a.createElement("div",null,c.a.createElement("span",null,l.ISSUER,":"),c.a.createElement("span",null,t.sys_ssl_issuer)))))},Na=(a(234),window.location.origin),ja=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",c=new FormData;return a&&c.append("password",a),n&&c.append("password_confirm",n),e&&c.append("user",e),t&&c.append("code",t),be.a.post(Na+"/api/v1/reset/index.php",c)},ya=function(e,t){return function(a){return new Promise((function(n,c){(function(e){var t=new FormData;for(var a in e)t.append(a,e[a]);return t.append("token",He()),be.a.post("".concat(Ze,"/api/v1/login/index.php"),t)})({user:e,password:t}).then((function(e){var t=e.data,c=t.error,r=t.session,l=t.token,o=t.panel,s=t.data,i=t.user,u=t.i18n;l&&qe(l),a({type:"LOGIN",value:{token:l||"",i18n:u||{},userName:i,error:c}}),a({type:"REFRESH_PANEL",value:{panel:o}}),a({type:"REFRESH_COUNTERS",value:{user:s}}),a({type:"SET_USER_SESSION",value:r}),n(l)}),(function(e){c(e)}))}))}},ka=function(e){return function(t){return new Promise((function(a,n){(function(e){return be.a.get("".concat(Ze,"/api/v1/login/index.php"),{params:{loginas:e,token:He()}})})(e).then((function(e){var n=e.data,c=n.error,r=n.token,l=n.session,o=n.panel,s=n.data,i=n.user,u=n.i18n;r&&qe(r),t({type:"LOGIN",value:{userName:i,i18n:u,token:r,error:c}}),t({type:"REFRESH_PANEL",value:{panel:o}}),t({type:"REFRESH_COUNTERS",value:{user:s}}),t({type:"SET_USER_SESSION",value:l}),a(r)}),(function(e){console.error(e),n()}))}))}},_a=function(){return function(e,t){return new Promise((function(t,a){be.a.get("".concat(Ze,"/api/v1/logout/index.php")).then((function(a){var n=a.data,c=n.logout_response,r=n.error,l=n.userName,o=n.user,s=n.i18n,i=n.session,u=n.panel;"logged_out"===c?(localStorage.removeItem("token"),e({type:"LOGOUT",value:{userName:"",token:"",session:{},i18n:[],error:r}}),e({type:"REFRESH_PANEL",value:{panel:{}}}),e({type:"REFRESH_COUNTERS",value:{user:{}}}),e({type:"SET_USER_SESSION",value:{}}),t()):"logged_out_as"===c?(e({type:"LOGGED_OUT_AS",value:{userName:l,token:"",i18n:s,error:r}}),e({type:"REFRESH_PANEL",value:{panel:u}}),e({type:"REFRESH_COUNTERS",value:{user:o}}),e({type:"SET_USER_SESSION",value:i}),t()):t("Error while signing out: ".concat(c))}),(function(e){console.error(e),a()}))}))}},Sa=function(e){var t=localStorage.getItem("token"),a=Object(o.d)((function(e){return e.session})).i18n,r=Object(o.d)((function(e){return e.userSession})).session,l=Object(R.g)(),s=Object(o.c)(),i=Object(n.useState)(""),m=Object(A.a)(i,2),d=m[0],E=m[1],p=Object(n.useState)(""),v=Object(A.a)(p,2),f=v[0],b=v[1],h=Object(n.useState)({data:{},loading:!1,webOption:!1,dnsOption:!1,mailOption:!1,backupOption:!1,sslOption:!1,pluginsOption:!1,dbOption:!1}),g=Object(A.a)(h,2),O=g[0],N=g[1];Object(n.useEffect)((function(){s(Be("/list/server/")),s({type:"REMOVE_FOCUSED_ELEMENT",value:""}),N(Object(u.a)(Object(u.a)({},O),{},{loading:!0})),j()}),[]);var j=function(){be.a.get(lt+"/api/v1/edit/server/index.php",{params:{token:He()}}).then((function(e){N(Object(u.a)(Object(u.a)({},O),{},{data:e.data,loading:!1}))})).catch((function(e){N(Object(u.a)(Object(u.a)({},O),{},{loading:!1})),console.error(e)}))},y=function(e){e.preventDefault();var a,n={},c=Object(We.a)(new FormData(e.target).entries());try{for(c.s();!(a=c.n()).done;){var l=Object(A.a)(a.value,2),o=l[0],i=l[1];n[o]=i}}catch(m){c.e(m)}finally{c.f()}n.v_backup_type&&(n.v_backup_type=n.v_backup_type.toLowerCase()),n.save="save",n.token=t,"no"!==n.v_softaculous||r.SOFTACULOUS||delete n.v_softaculous,0!==Object.keys(n).length&&n.constructor===Object&&(N(Object(u.a)(Object(u.a)({},O),{},{loading:!0})),st(n).then((function(e){if(200===e.status){var t=e.data,a=t.error_msg,n=t.ok_msg;a?(E(a),b("")):(E(""),b(n))}})).then((function(){return s((function(e,t){return new Promise((function(t,a){$e().then((function(a){var n=a.data,c=n.session,r=n.token;r&&qe(r),e({type:"SET_USER_SESSION",value:c}),t(r)})).catch((function(e){a(),console.error(e)}))}))})).then((function(){return j()}))})).catch((function(e){return console.error(e)})))},k=function(e){N(Object(u.a)(Object(u.a)({},O),{},Object(M.a)({},e,!O[e])))};return c.a.createElement("div",{className:"edit-template edit-server"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(a.SERVER))),c.a.createElement(Xe,{mobile:!1},c.a.createElement("div",null),c.a.createElement("div",{className:"search-toolbar-name"},a["Configuring Server"]),c.a.createElement("div",{className:"error"},c.a.createElement("span",{className:"error-message"},d?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):""," ",d)),c.a.createElement("div",{className:"success"},c.a.createElement("span",{className:"ok-message"},f?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):""," ",c.a.createElement("span",null,at()(f))))),c.a.createElement(Qe,null,O.loading?c.a.createElement(P,null):c.a.createElement("form",{onSubmit:function(e){return y(e)},id:"edit-server"},c.a.createElement(ze,{value:O.data.hostname,title:a.Hostname,name:"v_hostname",id:"hostname"}),O.data.timezones&&c.a.createElement("div",{className:"form-group select-group"},c.a.createElement("label",{className:"label-wrapper",htmlFor:"timezone"},a["Time Zone"]),c.a.createElement("select",{className:"form-control",id:"timezone",name:"v_timezone"},Object.keys(O.data.timezones).map((function(e){var t=O.data.timezones[e];return c.a.createElement("option",{key:e,value:e,selected:O.data.timezone===e},t)})))),c.a.createElement(Je,{options:O.data.languages,selected:O.data.language,title:a["Default Language"],name:"v_language",id:"language"}),c.a.createElement("div",{className:"modules"},c.a.createElement("button",{type:"button",onClick:function(){return k("webOption")}},a.WEB,O.webOption?c.a.createElement(W.a,{icon:"caret-up"}):c.a.createElement(W.a,{icon:"caret-down"})),c.a.createElement(pa,{webBackendPool:O.data.web_backend_pool,proxySystem:O.data.proxy_system,webBackend:O.data.web_backend,webSystem:O.data.web_system,visible:O.webOption}),c.a.createElement("button",{type:"button",onClick:function(){return k("dnsOption")}},a.DNS,O.dnsOption?c.a.createElement(W.a,{icon:"caret-up"}):c.a.createElement(W.a,{icon:"caret-down"})),c.a.createElement(va,{selected:O.data.v_dns_cluster,dnsCluster:O.data.dns_cluster,dnsSystem:O.data.dns_system,visible:O.dnsOption}),c.a.createElement("button",{type:"button",onClick:function(){return k("mailOption")}},a.MAIL,O.mailOption?c.a.createElement(W.a,{icon:"caret-up"}):c.a.createElement(W.a,{icon:"caret-down"})),c.a.createElement(Oa,{data:O.data,visible:O.mailOption}),c.a.createElement("button",{type:"button",onClick:function(){return k("dbOption")}},a.DB,O.dbOption?c.a.createElement(W.a,{icon:"caret-up"}):c.a.createElement(W.a,{icon:"caret-down"})),c.a.createElement(ha,{data:O.data,visible:O.dbOption}),c.a.createElement("button",{type:"button",onClick:function(){return k("backupOption")}},a.BACKUP,O.backupOption?c.a.createElement(W.a,{icon:"caret-up"}):c.a.createElement(W.a,{icon:"caret-down"})),c.a.createElement(ga,{data:O.data,visible:O.backupOption}),c.a.createElement("button",{type:"button",onClick:function(){return k("sslOption")}},a["Vesta SSL"],O.sslOption?c.a.createElement(W.a,{icon:"caret-up"}):c.a.createElement(W.a,{icon:"caret-down"})),c.a.createElement(ba,{data:O.data,visible:O.sslOption}),c.a.createElement("button",{type:"button",onClick:function(){return k("pluginsOption")}},a["Vesta Control Panel Plugins"],O.pluginsOption?c.a.createElement(W.a,{icon:"caret-up"}):c.a.createElement(W.a,{icon:"caret-down"})),c.a.createElement(fa,{data:O.data,visible:O.pluginsOption})),c.a.createElement("div",{className:"buttons-wrapper"},c.a.createElement("button",{type:"submit",className:"add"},a.Save),c.a.createElement("button",{type:"button",className:"back",onClick:function(){return l.push("/list/server/")}},a.Back)))))},wa=(a(235),function(){var e=localStorage.getItem("token"),t=Object(o.d)((function(e){return e.session})).i18n,a=Object(R.g)(),r=Object(o.c)(),l=Object(n.useState)(""),s=Object(A.a)(l,2),i=s[0],m=s[1],d=Object(n.useState)(""),E=Object(A.a)(d,2),p=E[0],v=E[1],f=Object(n.useState)({data:{},loading:!1}),b=Object(A.a)(f,2),h=b[0],g=b[1];Object(n.useEffect)((function(){r(Be("/list/server/")),r({type:"REMOVE_FOCUSED_ELEMENT",value:""}),g(Object(u.a)(Object(u.a)({},h),{},{loading:!0})),O()}),[]);var O=function(){it("dovecot").then((function(e){e.data.config||a.push("/list/server"),g(Object(u.a)(Object(u.a)({},h),{},{data:e.data,loading:!1}))})).catch((function(e){g(Object(u.a)(Object(u.a)({},h),{},{loading:!1})),console.error(e)}))};return c.a.createElement("div",{className:"edit-template edit-dovecot"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(t.SERVER))),c.a.createElement(Xe,{mobile:!1},c.a.createElement("div",null),c.a.createElement("div",{className:"search-toolbar-name"},t["Configuring Server"]," / ",h.data.service_name),c.a.createElement("div",{className:"error"},c.a.createElement("span",{className:"error-message"},i?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):""," ",i)),c.a.createElement("div",{className:"success"},c.a.createElement("span",{className:"ok-message"},p?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):""," ",c.a.createElement("span",null,at()(p))))),c.a.createElement(Qe,null,h.loading?c.a.createElement(P,null):c.a.createElement("form",{onSubmit:function(e){return function(e){e.preventDefault();var t,a={},n=Object(We.a)(new FormData(e.target).entries());try{for(n.s();!(t=n.n()).done;){var c=Object(A.a)(t.value,2),r=c[0],l=c[1];a[r]=l}}catch(o){n.e(o)}finally{n.f()}0!==Object.keys(a).length&&a.constructor===Object&&(g(Object(u.a)(Object(u.a)({},h),{},{loading:!0})),st(a,"/dovecot").then((function(e){if(200===e.status){var t=e.data,a=t.error_msg,n=t.ok_msg;m(a||""),v(n||"")}})).then((function(){return O()})).catch((function(e){return console.error(e)})))}(e)},id:"edit-dovecot"},c.a.createElement("input",{type:"hidden",name:"save",value:"save"}),c.a.createElement("input",{type:"hidden",name:"token",value:e}),c.a.createElement(rt,{defaultValue:h.data.config,title:h.data.config_path,name:"v_config",id:"v_config",rows:"10"}),c.a.createElement("br",null),c.a.createElement(rt,{defaultValue:h.data.config1,title:h.data.config_path1,name:"v_config1",id:"v_config1",rows:"10"}),c.a.createElement("br",null),c.a.createElement(rt,{defaultValue:h.data.config2,title:h.data.config_path2,name:"v_config2",id:"v_config2",rows:"10"}),c.a.createElement("br",null),c.a.createElement(rt,{defaultValue:h.data.config3,title:h.data.config_path3,name:"v_config3",id:"v_config3",rows:"10"}),c.a.createElement("br",null),c.a.createElement(rt,{defaultValue:h.data.config4,title:h.data.config_path4,name:"v_config4",id:"v_config4",rows:"10"}),c.a.createElement("br",null),c.a.createElement(rt,{defaultValue:h.data.config5,title:h.data.config_path5,name:"v_config5",id:"v_config5",rows:"10"}),c.a.createElement("br",null),c.a.createElement(rt,{defaultValue:h.data.config6,title:h.data.config_path6,name:"v_config6",id:"v_config6",rows:"10"}),c.a.createElement("br",null),c.a.createElement(rt,{defaultValue:h.data.config7,title:h.data.config_path7,name:"v_config7",id:"v_config7",rows:"10"}),c.a.createElement("br",null),c.a.createElement(rt,{defaultValue:h.data.config8,title:h.data.config_path8,name:"v_config8",id:"v_config8",rows:"10"}),c.a.createElement("br",null),c.a.createElement(Ye,{title:t.restart,defaultChecked:!0,name:"v_restart",id:"restart"}),c.a.createElement("div",{className:"buttons-wrapper"},c.a.createElement("button",{type:"submit",className:"add"},t.Save),c.a.createElement("button",{type:"button",className:"back",onClick:function(){return a.push("/list/server/")}},t.Back)))))}),Aa=window.location.origin,Ca=function(){return be.a.get(Aa+"/api/v1/list/mail/index.php")},Da=function(e){return be.a.get(Aa+e,{params:{token:He()}})};a(236);function Ma(e){var t=e.webMail,a=e.hostName,r=e.domain,l=e.userName,s=void 0===l?"":l,i=e.password,m=Object(o.d)((function(e){return e.session})).i18n,d=Object(n.useState)(""),E=Object(A.a)(d,2),p=E[0],v=E[1],f=Object(n.useState)({imapHostName:a,smtpHostName:a,imapEncryption:m.STARTTLS,smtpEncryption:m.STARTTLS,imapPort:"143",smtpPort:"587"}),b=Object(A.a)(f,2),h=b[0],g=b[1];Object(n.useEffect)((function(){"hostname"===p?g(Object(u.a)(Object(u.a)({},h),{},{imapHostName:a,smtpHostName:a})):"domain"===p?g(Object(u.a)(Object(u.a)({},h),{},{imapHostName:r,smtpHostName:r})):"starttls"===p?g(Object(u.a)(Object(u.a)({},h),{},{imapPort:"143",imapEncryption:"STARTTLS",smtpPort:"587",smtpEncryption:"STARTTLS"})):"ssl"===p?g(Object(u.a)(Object(u.a)({},h),{},{imapPort:"993",imapEncryption:"SSL / TLS",smtpPort:"465",smtpEncryption:"SSL / TLS"})):"no_encryption"===p&&g(Object(u.a)(Object(u.a)({},h),{},{imapHostName:r,smtpHostName:r,imapPort:"143",smtpPort:"25",imapEncryption:m["No encryption"],smtpEncryption:m["No encryption"]}))}),[p]);return c.a.createElement("div",{className:"mail-info-block"},c.a.createElement("div",{class:"form-group select-group"},c.a.createElement("select",{class:"form-control",onChange:function(e){return v(e.target.value)}},function(e){return[{value:e["Use server hostname"],type:"hostname"},{value:e["Use domain hostname"],type:"domain"},{value:e["Use STARTTLS"],type:"starttls"},{value:e["Use SSL / TLS"],type:"ssl"},{value:e["No encryption"],type:"no_encryption"}]}(m).map((function(e){return c.a.createElement("option",{key:e.type,value:e.type},e.value)}))),c.a.createElement("div",{className:"details"},c.a.createElement("div",null,c.a.createElement("span",null,m.Username,":"),c.a.createElement("span",null,"".concat(s,"@").concat(r))),c.a.createElement("div",null,c.a.createElement("span",null,m.Password,":"),c.a.createElement("span",null,i||"******")),c.a.createElement("div",null,c.a.createElement("span",null,m["IMAP hostname"],":"),c.a.createElement("span",null,h.imapHostName)),c.a.createElement("div",null,c.a.createElement("span",null,m["IMAP port"],":"),c.a.createElement("span",null,h.imapPort)),c.a.createElement("div",null,c.a.createElement("span",null,m["IMAP security"],":"),c.a.createElement("span",null,h.imapEncryption)),c.a.createElement("div",null,c.a.createElement("span",null,m["IMAP auth method"],":"),c.a.createElement("span",null,m["Normal password"])),c.a.createElement("div",null,c.a.createElement("span",null,m["SMTP hostname"],":"),c.a.createElement("span",null,h.smtpHostName)),c.a.createElement("div",null,c.a.createElement("span",null,m["SMTP port"],":"),c.a.createElement("span",null,h.smtpPort)),c.a.createElement("div",null,c.a.createElement("span",null,m["SMTP security"],":"),c.a.createElement("span",null,h.smtpEncryption)),c.a.createElement("div",null,c.a.createElement("span",null,m["SMTP auth method"],":"),c.a.createElement("span",null,m["Normal password"])),c.a.createElement("div",null,c.a.createElement("span",null,m["Webmail URL"],":"),c.a.createElement("span",null,c.a.createElement(pe.b,{to:{pathname:"http://".concat(window.location.hostname).concat(t)},target:"_blank"},t))),c.a.createElement("input",{type:"hidden",name:"v_credentials",value:function(){var e="";return e+="".concat(m.Username,":").concat(s,"@").concat(r,"\n"),e+="".concat(m.Password,":").concat(i,"\n"),e+="".concat(m["IMAP hostname"],":").concat(h.imapHostName,"\n"),e+="".concat(m["IMAP port"],":").concat(h.imapPort,"\n"),e+="".concat(m["IMAP security"],":").concat(h.imapEncryption,"\n"),e+="".concat(m["IMAP auth method"],":").concat(m["Normal password"],"\n"),e+="".concat(m["SMTP hostname"],":").concat(h.smtpHostName,"\n"),e+="".concat(m["SMTP port"],":").concat(h.smtpPort,"\n"),e+="".concat(m["SMTP security"],":").concat(h.smtpEncryption,"\n"),e+="".concat(m["SMTP auth method"],":").concat(m["Normal password"],"\n"),e+="".concat(m["Webmail URL"],":","http://".concat(window.location.hostname).concat(t),"\n")}()}))))}function Fa(e){var t=Object(n.useState)(!1),a=Object(A.a)(t,2),r=a[0],l=a[1],s=localStorage.getItem("token"),i=Object(o.d)((function(e){return e.session})).i18n,m=Object(o.c)(),d=Object(R.g)(),E=Object(n.useState)(""),p=Object(A.a)(E,2),v=p[0],f=p[1],b=Object(n.useState)(""),h=Object(A.a)(b,2),g=h[0],O=h[1],N=Object(n.useState)({data:{},quotaValue:"",loading:!1,password:""}),j=Object(A.a)(N,2),y=j[0],k=j[1];Object(n.useEffect)((function(){m(Be("/list/mail/")),m({type:"REMOVE_FOCUSED_ELEMENT",value:""}),k(Object(u.a)(Object(u.a)({},y),{},{loading:!0})),S()}),[]);var _=function(t){t.preventDefault();var a,n={},c=Object(We.a)(new FormData(t.target).entries());try{for(c.s();!(a=c.n()).done;){var r=Object(A.a)(a.value,2),l=r[0],o=r[1];n[l]=o}}catch(s){c.e(s)}finally{c.f()}n.v_domain=e.domain,n.v_account=e.account,n.Password=n.v_password,0!==Object.keys(n).length&&n.constructor===Object&&(k(Object(u.a)(Object(u.a)({},y),{},{loading:!0})),function(e,t,a){var n=new FormData;for(var c in e)n.append(c,e[c]);return be.a.post("".concat(Aa).concat("/api/v1/edit/mail/index.php","?domain=").concat(t,"&account=").concat(a),n)}(n,e.domain,e.account).then((function(e){if(200===e.status){var t=e.data,a=t.error_msg,n=t.ok_msg;a?(f(a),O(""),k(Object(u.a)(Object(u.a)({},y),{},{loading:!1}))):m(et()).then((function(){f(""),O(n),k(Object(u.a)(Object(u.a)({},y),{},{loading:!1}))}))}})).catch((function(e){return console.error(e)})))},S=function(){var t,a;k(Object(u.a)(Object(u.a)({},y),{},{loading:!0})),(t=e.domain,a=e.account,be.a.get("".concat(Aa).concat("/api/v1/edit/mail/index.php","?domain=").concat(t,"&account=").concat(a))).then((function(e){k(Object(u.a)(Object(u.a)({},y),{},{data:e.data,loading:!1})),l("yes"===e.data.autoreply)})).catch((function(e){return console.error(e)}))};return c.a.createElement("div",{className:"edit-template add-mail-account"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(i.MAIL))),c.a.createElement(Xe,{mobile:!1},c.a.createElement("div",null),c.a.createElement("div",{className:"search-toolbar-name"},i["Editing Mail Account"]),c.a.createElement("div",{className:"error"},c.a.createElement("span",{className:"error-message"},v?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):"",v)),c.a.createElement("div",{className:"success"},c.a.createElement("span",{className:"ok-message"},g?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):"",c.a.createElement("span",null,at()(g))))),c.a.createElement(Qe,null,y.loading?c.a.createElement(P,null):c.a.createElement("form",{onSubmit:function(e){return _(e)}},c.a.createElement("input",{type:"hidden",name:"save",value:"save"}),c.a.createElement("input",{type:"hidden",name:"token",value:s}),c.a.createElement("div",{className:"r-1"},c.a.createElement("div",{className:"c-1"},c.a.createElement(ze,{title:i.Domain,value:e.domain,name:"v_domain",id:"domain",disabled:!0}),c.a.createElement(Mt,{name:"v_password",onChange:function(e){return k(Object(u.a)(Object(u.a)({},y),{},{password:e}))}}),c.a.createElement(la,{title:i.Quota,optionalTitle:i["in megabytes"],id:"quota",name:"v_quota",value:y.data.quota},c.a.createElement("button",{type:"button",onClick:function(){var e="unlimited"===y.data.quota?"1000":"unlimited";k(Object(u.a)(Object(u.a)({},y),{},{data:Object(u.a)(Object(u.a)({},y.data),{},{quota:e})}))}},c.a.createElement(W.a,{icon:"infinity"}))),c.a.createElement(rt,{optionalTitle:"".concat(i["use local-part"]),defaultValue:y.data.aliases,title:i.Aliases,name:"v_aliases",id:"aliases"}),c.a.createElement(rt,{optionalTitle:"".concat(i["one or more email addresses"]),defaultValue:y.data.fwd,title:i["Forward to"],name:"v_fwd",id:"fwd"}),c.a.createElement(Ye,{title:i["Do not store forwarded mail"],defaultChecked:"yes"===y.data.fwd_only,name:"v_fwd_only",id:"fwd_only"}),c.a.createElement(Ye,{title:i.Autoreply,checked:r,onChange:function(e){return l(e)},name:"v_autoreply",id:"autoreply"}),r&&c.a.createElement("div",{style:{transform:"translateX(3rem)"}},c.a.createElement(rt,{defaultValue:y.data.autoreply_message,title:i.Message,name:"v_autoreply_message",id:"autoreply_message"})),c.a.createElement(ze,{title:i["Send login credentials to email address"],value:y.data.send_email,name:"v_credentials",id:"credentials"})),c.a.createElement("div",{className:"c-2"},c.a.createElement(Ma,{webMail:y.data.webmail,hostName:y.data.hostname,userName:e.account,password:y.password,domain:e.domain}))),c.a.createElement("div",{className:"buttons-wrapper"},c.a.createElement("button",{type:"submit",className:"add"},i.Save),c.a.createElement("button",{type:"button",className:"back",onClick:function(){d.push("/list/mail/?domain=".concat(e.domain))}},i.Back)))))}a(237);var xa=function(e){var t=localStorage.getItem("token"),a=Object(o.d)((function(e){return e.session})).i18n,r=Object(R.g)(),l=Object(o.c)(),s=Object(n.useState)(""),i=Object(A.a)(s,2),m=i[0],d=i[1],E=Object(n.useState)(""),p=Object(A.a)(E,2),v=p[0],f=p[1],b=Object(n.useState)({data:{},loading:!1}),h=Object(A.a)(b,2),g=h[0],O=h[1];Object(n.useEffect)((function(){var e=ge.a.parse(r.location.search,{ignoreQueryPrefix:!0}).domain;l(Be("/list/mail/")),l({type:"REMOVE_FOCUSED_ELEMENT",value:""}),e&&(O(Object(u.a)(Object(u.a)({},g),{},{loading:!0})),N(e))}),[]);var N=function(e){(function(e){return be.a.get(Aa+"/api/v1/edit/mail/index.php",{params:{domain:e,token:He()}})})(e).then((function(e){O(Object(u.a)(Object(u.a)({},g),{},{data:e.data,loading:!1}))})).catch((function(e){O(Object(u.a)(Object(u.a)({},g),{},{loading:!1})),console.error(e)}))},j=function(e){e.preventDefault();var t,a={},n=Object(We.a)(new FormData(e.target).entries());try{for(n.s();!(t=n.n()).done;){var c=Object(A.a)(t.value,2),r=c[0],o=c[1];a[r]=o}}catch(s){n.e(s)}finally{n.f()}a.v_domain=g.data.domain,0!==Object.keys(a).length&&a.constructor===Object&&(O(Object(u.a)(Object(u.a)({},g),{},{loading:!0})),function(e,t){var a=new FormData;for(var n in e)a.append(n,e[n]);return be.a.post(Aa+"/api/v1/edit/mail/index.php",a,{params:{domain:t,token:He()}})}(a,g.data.domain).then((function(e){if(200===e.status){var t=e.data,a=t.error_msg,n=t.ok_msg;a?(d(a),f("")):l(et()).then((function(){d(""),f(n)}))}})).then((function(){return N(g.data.domain)})).catch((function(e){return console.error(e)})))};return c.a.createElement("div",{className:"edit-template edit-mail"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(a.MAIL))),c.a.createElement(Xe,{mobile:!1},c.a.createElement("div",null),c.a.createElement("div",{className:"search-toolbar-name"},a["Editing Mail Domain"]),c.a.createElement("div",{className:"error"},c.a.createElement("span",{className:"error-message"},m?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):""," ",m)),c.a.createElement("div",{className:"success"},c.a.createElement("span",{className:"ok-message"},v?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):""," ",c.a.createElement("span",null,at()(v))))),c.a.createElement(Qe,{date:g.data.date,time:g.data.time,status:g.data.status},g.loading?c.a.createElement(P,null):c.a.createElement("form",{onSubmit:function(e){return j(e)},id:"edit-mail"},c.a.createElement("input",{type:"hidden",name:"save",value:"save"}),c.a.createElement("input",{type:"hidden",name:"token",value:t}),c.a.createElement(ze,{id:"domain",name:"v_domain",title:a.Domain,value:g.data.domain,disabled:!0}),c.a.createElement(Ye,{name:"v_antispam",id:"antispam",title:a["AntiSpam Support"],defaultChecked:"yes"===g.data.antispam}),c.a.createElement(Ye,{name:"v_antivirus",id:"antivirus",title:a["AntiVirus Support"],defaultChecked:"yes"===g.data.antivirus}),c.a.createElement(Ye,{name:"v_dkim",id:"dkim",title:a["DKIM Support"],defaultChecked:"yes"===g.data.dkim}),c.a.createElement(ze,{id:"catchall",name:"v_catchall",title:a["Catchall email"],value:g.data.catchall}),c.a.createElement("div",{className:"buttons-wrapper"},c.a.createElement("button",{type:"submit",className:"add"},a.Save),c.a.createElement("button",{type:"button",className:"back",onClick:function(){return r.push("/list/mail/")}},a.Back)))))};function Ta(){var e=Object(o.d)((function(e){return e.session})).i18n,t=Object(R.g)(),a=ge.a.parse(t.location.search,{ignoreQueryPrefix:!0}),r=Object(n.useState)(!1),l=Object(A.a)(r,2),s=l[0],i=l[1];return Object(n.useEffect)((function(){a.domain&&a.account?i(!0):i(!1)}),[t.location]),c.a.createElement(c.a.Fragment,null,c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(e.MAIL))),s?c.a.createElement(Fa,{domain:a.domain,account:a.account}):c.a.createElement(xa,null))}a(238);var La=function(e){var t=e.serviceName,a=void 0===t?"":t,r=localStorage.getItem("token"),l=Object(o.d)((function(e){return e.session})).i18n,s=Object(R.g)(),i=Object(o.c)(),m=Object(n.useState)(""),d=Object(A.a)(m,2),E=d[0],p=d[1],v=Object(n.useState)(""),f=Object(A.a)(v,2),b=f[0],h=f[1],g=Object(n.useState)({data:{},loading:!1}),O=Object(A.a)(g,2),N=O[0],j=O[1];Object(n.useEffect)((function(){i(Be("/list/server/")),i({type:"REMOVE_FOCUSED_ELEMENT",value:""}),a||s.push("/list/server"),j(Object(u.a)(Object(u.a)({},N),{},{loading:!0})),y(a)}),[]);var y=function(e){it(e).then((function(e){var t=e.data.config;t&&!t.includes("file doesn't exist")||s.push("/list/server"),j(Object(u.a)(Object(u.a)({},N),{},{data:e.data,loading:!1}))})).catch((function(e){return console.error(e)}))};return c.a.createElement("div",{className:"edit-template edit-service"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(l.SERVER))),c.a.createElement(Xe,{mobile:!1},c.a.createElement("div",null),c.a.createElement("div",{className:"search-toolbar-name"},l["Configuring Server"]," / ",N.data.service_name),c.a.createElement("div",{className:"error"},c.a.createElement("span",{className:"error-message"},E?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):""," ",E)),c.a.createElement("div",{className:"success"},c.a.createElement("span",{className:"ok-message"},b?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):""," ",c.a.createElement("span",null,at()(b))))),c.a.createElement(Qe,null,N.loading?c.a.createElement(P,null):c.a.createElement("form",{onSubmit:function(e){return function(e){e.preventDefault();var t,n={},c=Object(We.a)(new FormData(e.target).entries());try{for(c.s();!(t=c.n()).done;){var r=Object(A.a)(t.value,2),l=r[0],o=r[1];n[l]=o}}catch(s){c.e(s)}finally{c.f()}0!==Object.keys(n).length&&n.constructor===Object&&(j(Object(u.a)(Object(u.a)({},N),{},{loading:!0})),st(n,a).then((function(e){if(200===e.status){var t=e.data,a=t.error_msg,n=t.ok_msg;p(a||""),h(n||"")}})).then((function(){return y(a)})).catch((function(e){return console.error(e)})))}(e)},id:"edit-service"},c.a.createElement("input",{type:"hidden",name:"save",value:"save"}),c.a.createElement("input",{type:"hidden",name:"token",value:r}),c.a.createElement(rt,{defaultValue:N.data.config,title:N.data.config_path,name:"v_config",id:"v_config",rows:"18"}),c.a.createElement("br",null),c.a.createElement(Ye,{title:l.restart,defaultChecked:!0,name:"v_restart",id:"restart"}),c.a.createElement("div",{className:"buttons-wrapper"},c.a.createElement("button",{type:"submit",className:"add"},l.Save),c.a.createElement("button",{type:"button",className:"back",onClick:function(){return s.push("/list/server/")}},l.Back)))))};a(239);function Ua(e){var t=Object(o.d)((function(e){return e.session})).i18n,a=Object(o.c)(),r=localStorage.getItem("token"),l=Object(R.g)(),s=Object(n.useState)({data:{},advancedOptions:!1,autoreplyChecked:!1,quotaValue:"",loading:!1,password:"",userName:"",okMessage:"",errorMessage:""}),i=Object(A.a)(s,2),m=i[0],d=i[1];Object(n.useEffect)((function(){a(Be("/list/mail/")),a({type:"REMOVE_FOCUSED_ELEMENT",value:""}),p()}),[]);var E=function(t){t.preventDefault();var n,c={},l=Object(We.a)(new FormData(t.target).entries());try{for(l.s();!(n=l.n()).done;){var o=Object(A.a)(n.value,2),s=o[0],i=o[1];c[s]=i}}catch(E){l.e(E)}finally{l.f()}c.ok_acc="add",c.token=r,c.v_domain=e.domain,c.v_password=m.password,c.v_quota||(c.v_quota=""),c.v_aliases||(c.v_aliases=""),c.v_fwd||(c.v_fwd=""),0!==Object.keys(c).length&&c.constructor===Object&&(d(Object(u.a)(Object(u.a)({},m),{},{loading:!0})),function(e,t){var a=new FormData;for(var n in e)a.append(n,e[n]);return be.a.post("".concat(Aa).concat("/api/v1/add/mail/index.php","?domain=").concat(t),a)}(c,e.domain).then((function(e){if(200===e.status){var t=e.data,n=t.error_msg,c=t.ok_msg;n?d(Object(u.a)(Object(u.a)({},m),{},{errorMessage:n,okMessage:c,loading:!1})):a(et()).then((function(){d(Object(u.a)(Object(u.a)({},m),{},{okMessage:c,errorMessage:"",loading:!1}))}))}})).catch((function(e){return console.error(e)})))},p=function(){d(Object(u.a)(Object(u.a)({},m),{},{loading:!0})),Ca().then((function(e){d(Object(u.a)(Object(u.a)({},m),{},{data:e.data,errorMessage:e.data.error_msg,okMessage:e.data.ok_msg,loading:!1}))})).catch((function(e){return console.error(e)}))};return c.a.createElement("div",{className:"edit-template add-mail-account"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(t.MAIL))),c.a.createElement(Xe,{mobile:!1},c.a.createElement("div",null),c.a.createElement("div",{className:"search-toolbar-name"},t["Adding Mail Account"]),c.a.createElement("div",{className:"error"},c.a.createElement("span",{className:"error-message"},m.errorMessage?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):"",m.errorMessage)),c.a.createElement("div",{className:"success"},c.a.createElement("span",{className:"ok-message"},m.okMessage?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):"",c.a.createElement("span",null,at()(m.okMessage))))),c.a.createElement(Qe,null,m.loading?c.a.createElement(P,null):c.a.createElement("form",{onSubmit:function(e){return E(e)}},c.a.createElement("div",{className:"r-1"},c.a.createElement("div",{className:"c-1"},c.a.createElement(ze,{title:t.Domain,value:e.domain,name:"v_domain",id:"domain",disabled:!0}),c.a.createElement(ze,{title:t.Account,onChange:function(e){return d(Object(u.a)(Object(u.a)({},m),{},{userName:e.target.value}))},name:"v_account",id:"account"}),c.a.createElement(Mt,{name:"v_password",onChange:function(e){return d(Object(u.a)(Object(u.a)({},m),{},{password:e}))}})),c.a.createElement("div",{className:"c-2"},c.a.createElement(Ma,{webMail:m.data.webmail,hostName:m.data.hostname,userName:m.userName,password:m.password,domain:e.domain}))),c.a.createElement("div",{className:"r-2"},c.a.createElement("button",{type:"button",onClick:function(){d(Object(u.a)(Object(u.a)({},m),{},{advancedOptions:!m.advancedOptions}))}},t["Advanced options"],m.advancedOptions?c.a.createElement(W.a,{icon:"caret-up"}):c.a.createElement(W.a,{icon:"caret-down"})),m.advancedOptions&&c.a.createElement(c.a.Fragment,null,c.a.createElement(la,{title:t.Quota,optionalTitle:t["in megabytes"],id:"quota",name:"v_quota",value:m.quotaValue},c.a.createElement("button",{type:"button",onClick:function(){"unlimited"!==m.quotaValue?d(Object(u.a)(Object(u.a)({},m),{},{quotaValue:"unlimited"})):d(Object(u.a)(Object(u.a)({},m),{},{quotaValue:""}))}},c.a.createElement(W.a,{icon:"infinity"}))),c.a.createElement(rt,{optionalTitle:"".concat(t["use local-part"]),defaultValue:m.data.v_aliases,title:t.Aliases,name:"v_aliases",id:"aliases"}),c.a.createElement(rt,{optionalTitle:"".concat(t["one or more email addresses"]),defaultValue:m.data.forward,title:t["Forward to"],name:"v_fwd",id:"fwd"}),c.a.createElement(Ye,{title:t["Do not store forwarded mail"],name:"v_fwd_only",id:"fwd_only"})),c.a.createElement(ze,{title:t["Send login credentials to email address"],name:"v_send_email",id:"send_email"})),c.a.createElement("div",{className:"buttons-wrapper"},c.a.createElement("button",{type:"submit",className:"add"},t.Add),c.a.createElement("button",{type:"button",className:"back",onClick:function(){return l.push("/list/mail/?domain=".concat(e.domain))}},t.Back)))))}a(240);var Ia=function(e){var t=Object(o.d)((function(e){return e.session})).i18n,a=Object(o.c)(),r=localStorage.getItem("token"),l=Object(R.g)(),s=Object(n.useState)({loading:!1,antiSpamChecked:!0,antiVirusChecked:!0,dkimChecked:!0,okMessage:"",errorMessage:""}),i=Object(A.a)(s,2),m=i[0],d=i[1];Object(n.useEffect)((function(){a(Be("/list/mail/")),a({type:"REMOVE_FOCUSED_ELEMENT",value:""})}),[]);var E=function(e){e.preventDefault();var t,n={},c=Object(We.a)(new FormData(e.target).entries());try{for(c.s();!(t=c.n()).done;){var r=Object(A.a)(t.value,2),l=r[0],o=r[1];n[l]=o}}catch(s){c.e(s)}finally{c.f()}0!==Object.keys(n).length&&n.constructor===Object&&(d(Object(u.a)(Object(u.a)({},m),{},{loading:!0})),function(e){var t=new FormData;for(var a in e)t.append(a,e[a]);return be.a.post(Aa+"/api/v1/add/mail/index.php",t)}(n).then((function(e){if(200===e.status){var t=e.data,n=t.error_msg,c=t.ok_msg;n?d(Object(u.a)(Object(u.a)({},m),{},{errorMessage:n,okMessage:c,loading:!1})):a(et()).then((function(){d(Object(u.a)(Object(u.a)({},m),{},{okMessage:c,errorMessage:"",loading:!1}))}))}})).catch((function(e){return console.error(e)})))};return c.a.createElement("div",{className:"edit-template add-web"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(t.MAIL))),c.a.createElement(Xe,{mobile:!1},c.a.createElement("div",null),c.a.createElement("div",{className:"search-toolbar-name"},t["Adding Mail Domain"]),c.a.createElement("div",{className:"error"},c.a.createElement("span",{className:"error-message"},m.errorMessage?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):"",m.errorMessage)),c.a.createElement("div",{className:"success"},c.a.createElement("span",{className:"ok-message"},m.okMessage?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):"",c.a.createElement("span",null,at()(m.okMessage))))),c.a.createElement(Qe,null,m.loading?c.a.createElement(P,null):c.a.createElement("form",{onSubmit:function(e){return E(e)}},c.a.createElement("input",{type:"hidden",name:"ok",value:"add"}),c.a.createElement("input",{type:"hidden",name:"token",value:r}),c.a.createElement("div",{className:"form-group"},c.a.createElement("label",{htmlFor:"domain"},t.Domain),c.a.createElement("input",{type:"text",className:"form-control",id:"domain",name:"v_domain"})),c.a.createElement("div",{className:"form-group"},c.a.createElement("div",{className:"checkbox-wrapper"},c.a.createElement("input",{type:"checkbox",name:"v_antispam",id:"antispam-support",onChange:function(e){return d(Object(u.a)(Object(u.a)({},m),{},{antiSpamChecked:e.target.checked}))},checked:m.antiSpamChecked}),c.a.createElement("label",{htmlFor:"antispam-support"},t["AntiSpam Support"]))),c.a.createElement("div",{className:"form-group"},c.a.createElement("div",{className:"checkbox-wrapper"},c.a.createElement("input",{type:"checkbox",name:"v_antivirus",id:"antivirus-support",onChange:function(e){return d(Object(u.a)(Object(u.a)({},m),{},{antiVirusChecked:e.target.checked}))},checked:m.antiVirusChecked}),c.a.createElement("label",{htmlFor:"antivirus-support"},t["AntiVirus Support"]))),c.a.createElement("div",{className:"form-group"},c.a.createElement("div",{className:"checkbox-wrapper"},c.a.createElement("input",{type:"checkbox",name:"v_dkim",id:"dkim-support",onChange:function(e){return d(Object(u.a)(Object(u.a)({},m),{},{dkimChecked:e.target.checked}))},checked:m.dkimChecked}),c.a.createElement("label",{htmlFor:"dkim-support"},t["DKIM Support"]))),c.a.createElement("div",{className:"buttons-wrapper"},c.a.createElement("button",{type:"submit",className:"add"},t.Add),c.a.createElement("button",{type:"button",className:"back",onClick:function(){return l.push("/list/mail/")}},t.Back)))))};function Pa(){var e=Object(o.d)((function(e){return e.session})).i18n,t=Object(R.g)(),a=Object(n.useState)(!1),r=Object(A.a)(a,2),l=r[0],s=r[1];return Object(n.useEffect)((function(){var e=ge.a.parse(t.location.search,{ignoreQueryPrefix:!0});e.domain?s(e.domain):s("")}),[t.location]),c.a.createElement(c.a.Fragment,null,c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(e.MAIL))),l?c.a.createElement(Ua,{domain:l}):c.a.createElement(Ia,null))}var Ra=window.location.origin,Va=function(e){return be.a.get(Ra+e,{params:{token:He()}})},Ba=function(e,t,a){var n=new FormData;for(var c in e)n.append(c,e[c]);return be.a.post(Ra+"/api/v1/edit/dns/index.php",n,{params:{domain:t,record_id:a,token:He()}})},Wa=(a(241),function(e){var t=localStorage.getItem("token"),a=Object(o.d)((function(e){return e.session})).i18n,r=Object(R.g)(),l=Object(o.c)(),s=Object(n.useState)(""),i=Object(A.a)(s,2),m=i[0],d=i[1],E=Object(n.useState)(""),p=Object(A.a)(E,2),v=p[0],f=p[1],b=Object(n.useState)({data:{},loading:!1}),h=Object(A.a)(b,2),g=h[0],O=h[1];Object(n.useEffect)((function(){var e=ge.a.parse(r.location.search,{ignoreQueryPrefix:!0}).domain;l(Be("/list/dns/")),l({type:"REMOVE_FOCUSED_ELEMENT",value:""}),e&&(O(Object(u.a)(Object(u.a)({},g),{},{loading:!0})),N(e))}),[]);var N=function(e){(function(e){return be.a.get(Ra+"/api/v1/edit/dns/index.php",{params:{domain:e,token:He()}})})(e).then((function(e){O(Object(u.a)(Object(u.a)({},g),{},{data:e.data,loading:!1}))})).catch((function(e){O(Object(u.a)(Object(u.a)({},g),{},{loading:!1})),console.error(e)}))};return c.a.createElement("div",{className:"edit-template edit-dns"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(a.DNS))),c.a.createElement(Xe,{mobile:!1},c.a.createElement("div",null),c.a.createElement("div",{className:"search-toolbar-name"},a["Editing DNS Domain"]),c.a.createElement("div",{className:"error"},c.a.createElement("span",{className:"error-message"},m?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):""," ",m)),c.a.createElement("div",{className:"success"},c.a.createElement("span",{className:"ok-message"},v?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):""," ",c.a.createElement("span",null,at()(v))))),c.a.createElement(Qe,{date:g.data.date,time:g.data.time,status:g.data.status},g.loading?c.a.createElement(P,null):c.a.createElement("form",{onSubmit:function(e){return function(e){e.preventDefault();var t,a={},n=Object(We.a)(new FormData(e.target).entries());try{for(n.s();!(t=n.n()).done;){var c=Object(A.a)(t.value,2),r=c[0],o=c[1];a[r]=o}}catch(s){n.e(s)}finally{n.f()}a.v_domain=g.data.domain,0!==Object.keys(a).length&&a.constructor===Object&&(O(Object(u.a)(Object(u.a)({},g),{},{loading:!0})),Ba(a,g.data.domain).then((function(e){if(200===e.status){var t=e.data,a=t.error_msg,n=t.ok_msg;a?(d(a),f("")):l(et()).then((function(){d(""),f(n)}))}})).then((function(){return N(g.data.domain)})).catch((function(e){return console.error(e)})))}(e)},id:"edit-dns"},c.a.createElement("input",{type:"hidden",name:"save",value:"save"}),c.a.createElement("input",{type:"hidden",name:"token",value:t}),c.a.createElement(ze,{id:"domain",name:"v_domain",title:a.Domain,value:g.data.domain,disabled:!0}),c.a.createElement(ze,{id:"ip",name:"v_ip",title:a["IP Address"],value:g.data.ip}),c.a.createElement(Je,{optionalTitle:g.data.dns_system,options:g.data.templates,selected:g.data.template,title:a.Template,name:"v_template",id:"templates"}),c.a.createElement(ze,{optionalTitle:g.data["YYYY-MM-DD"],title:a["Expiration Date"],value:g.data.exp,name:"v_exp",id:"exp"}),c.a.createElement(ze,{id:"soa",name:"v_soa",title:"SOA",value:g.data.soa}),c.a.createElement(ze,{id:"ttl",name:"v_ttl",title:"TTL",value:g.data.ttl}),c.a.createElement("div",{className:"buttons-wrapper"},c.a.createElement("button",{type:"submit",className:"add"},a.Save),c.a.createElement("button",{type:"button",className:"back",onClick:function(){return r.push("/list/dns/")}},a.Back)))))});function qa(e){var t=localStorage.getItem("token"),a=Object(o.d)((function(e){return e.session})).i18n,r=Object(o.c)(),l=Object(R.g)(),s=Object(n.useState)(""),i=Object(A.a)(s,2),m=i[0],d=i[1],E=Object(n.useState)(""),p=Object(A.a)(E,2),v=p[0],f=p[1],b=Object(n.useState)({data:{},selectOptions:["A","AAAA","NS","CNAME","MX","TXT","SRV","DNSKEY","KEY","IPSECKEY","PTR","SPF","TLSA","CAA"],loading:!1}),h=Object(A.a)(b,2),g=h[0],O=h[1];Object(n.useEffect)((function(){var t=e.domain,a=e.record_id;r(Be("/list/dns/")),r({type:"REMOVE_FOCUSED_ELEMENT",value:""}),t&&a&&(O(Object(u.a)(Object(u.a)({},g),{},{loading:!0})),N(t,a))}),[]);var N=function(e,t){(function(e,t){return be.a.get("".concat(Ra).concat("/api/v1/edit/dns/index.php","?domain=").concat(e,"&record_id=").concat(t))})(e,t).then((function(e){O(Object(u.a)(Object(u.a)({},g),{},{data:e.data,loading:!1}))})).catch((function(e){return console.error(e)}))};return c.a.createElement("div",{className:"edit-template edit-dns-rec"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(a.DNS))),c.a.createElement(Xe,{mobile:!1},c.a.createElement("div",null),c.a.createElement("div",{className:"search-toolbar-name"},a["Editing DNS Record"]),c.a.createElement("div",{className:"error"},c.a.createElement("span",{className:"error-message"},m?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):""," ",m)),c.a.createElement("div",{className:"success"},c.a.createElement("span",{className:"ok-message"},v?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):""," ",c.a.createElement("span",null,at()(v))))),c.a.createElement(Qe,{date:g.data.date,time:g.data.time,status:g.data.status},g.loading?c.a.createElement(P,null):c.a.createElement("form",{onSubmit:function(t){return function(t){t.preventDefault();var a,n={},c=Object(We.a)(new FormData(t.target).entries());try{for(c.s();!(a=c.n()).done;){var l=Object(A.a)(a.value,2),o=l[0],s=l[1];n[o]=s}}catch(i){c.e(i)}finally{c.f()}n.v_domain=g.data.domain,n.v_record_id=e.record_id,n.v_type=g.data.type,0!==Object.keys(n).length&&n.constructor===Object&&(O(Object(u.a)(Object(u.a)({},g),{},{loading:!0})),Ba(n,e.domain,e.record_id).then((function(e){if(200===e.status){var t=e.data,a=t.error_msg,n=t.ok_msg;a?(f(""),d(a)):r(et()).then((function(){f(n),d("")}))}})).then((function(){return N(e.domain,e.record_id)})).catch((function(e){return console.error(e)})))}(t)},id:"edit-dns-rec"},c.a.createElement("input",{type:"hidden",name:"save",value:"save"}),c.a.createElement("input",{type:"hidden",name:"token",value:t}),c.a.createElement(ze,{title:a.Domain,value:e.domain,name:"v_domain",id:"domain",disabled:!0}),c.a.createElement(ze,{value:g.data.rec,title:a.Record,name:"v_record_id",id:"domain",disabled:!0}),c.a.createElement(Je,{options:g.selectOptions,selected:g.data.type,title:a.Type,name:"v_type",id:"type",disabled:!0}),c.a.createElement(ze,{title:a["IP or Value"],value:g.data.val,name:"v_val",id:"val"}),c.a.createElement(ze,{optionalTitle:"(".concat(a.optional,")"),value:g.data.priority,title:a.Priority,name:"v_priority",id:"priority"}),c.a.createElement(ze,{optionalTitle:"(".concat(a.internal,")"),title:a["Record Number"],value:g.data.record_id,name:"v_priority",id:"priority"}),c.a.createElement("div",{className:"buttons-wrapper"},c.a.createElement("button",{type:"submit",className:"add"},a.Save),c.a.createElement("button",{type:"button",className:"back",onClick:function(){return l.push("/list/dns?domain=".concat(e.domain))}},a.Back)))))}function Ha(){var e=Object(o.d)((function(e){return e.session})).i18n,t=Object(R.g)(),a=ge.a.parse(t.location.search,{ignoreQueryPrefix:!0}),r=Object(n.useState)(!1),l=Object(A.a)(r,2),s=l[0],i=l[1];return Object(n.useEffect)((function(){a.domain&&a.record_id?i(!0):i(!1)}),[t.location]),c.a.createElement(c.a.Fragment,null,c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(e.DNS))),s?c.a.createElement(qa,{domain:a.domain,record_id:a.record_id}):c.a.createElement(Wa,null))}a(242);var Ka=function(e){var t=Object(o.d)((function(e){return e.session})).i18n,a=Object(n.useState)(e.letsEncrypt),r=Object(A.a)(a,2),l=r[0],s=r[1];Object(n.useEffect)((function(){s(e.letsEncrypt)}),[]);return c.a.createElement("div",{className:"ssl-support"},c.a.createElement(c.a.Fragment,null,c.a.createElement(Ye,{onChange:function(e){s(e)},name:"v_letsencrypt",id:"lets-encrypt",title:t["Lets Encrypt Support"],defaultChecked:l}),!e.letsEncrypt&&c.a.createElement("span",{className:"lets-encrypt-span"},l?t["Your certificate will be automatically issued in 5 minutes"]:null)),c.a.createElement("input",{type:"hidden",value:"same",name:"v_ssl_home"}),c.a.createElement(rt,{id:"ssl-certificate",name:"v_ssl_crt",title:t["SSL Certificate"],defaultValue:e.sslCertificate,disabled:l,optionalTitle:c.a.createElement(c.a.Fragment,null,"/ ",c.a.createElement("button",{type:"button",onClick:function(){return e.setModalVisible(!0)},className:"generate-csr"},t["Generate CSR"]))}),c.a.createElement(rt,{id:"ssl-key",name:"v_ssl_key",disabled:l,defaultValue:e.sslKey,title:t["SSL Key"]}),c.a.createElement(rt,{id:"ssl-ca",name:"v_ssl_ca",disabled:l,defaultValue:e.sslCertificateAuthority,title:t["SSL Certificate Authority / Intermediate"],optionalTitle:"( ".concat(t.optional," )")}),c.a.createElement("div",{className:"additional-info"},e.sslSubject.length>0&&c.a.createElement("div",null,c.a.createElement("span",null,t.SUBJECT,":"),c.a.createElement("span",null,e.sslSubject)),e.sslAliases.length>0&&c.a.createElement("div",null,c.a.createElement("span",null,t.ALIASES,":"),c.a.createElement("span",null,e.sslAliases)),e.sslNotBefore.length>0&&c.a.createElement("div",null,c.a.createElement("span",null,t.NOT_BEFORE,":"),c.a.createElement("span",null,e.sslNotBefore)),e.sslNotAfter.length>0&&c.a.createElement("div",null,c.a.createElement("span",null,t.NOT_AFTER,":"),c.a.createElement("span",null,e.sslNotAfter)),e.sslSignature.length>0&&c.a.createElement("div",null,c.a.createElement("span",null,t.SIGNATURE,":"),c.a.createElement("span",null,e.sslSignature)),e.sslPubKey.length>0&&c.a.createElement("div",null,c.a.createElement("span",null,t.PUB_KEY,":"),c.a.createElement("span",null,e.sslPubKey)),e.sslIssuer.length>0&&c.a.createElement("div",null,c.a.createElement("span",null,t.ISSUER,":"),c.a.createElement("span",null,e.sslIssuer))),c.a.createElement("br",null),c.a.createElement("br",null))},Ja=(a(243),function(e){var t,a,r=localStorage.getItem("token"),l=Object(o.d)((function(e){return e.session})).i18n,s=Object(o.d)((function(e){return e.userSession})).session,i=Object(R.g)(),m=Object(o.c)(),d=Object(n.useState)(""),E=Object(A.a)(d,2),p=E[0],v=E[1],f=Object(n.useState)(!1),b=Object(A.a)(f,2),h=b[0],g=b[1],O=Object(n.useState)(""),N=Object(A.a)(O,2),j=N[0],y=N[1],k=Object(n.useState)({data:{},domain:"",webStat:"",sslSupport:!1,letsEncrypt:!1,additionalFtp:!1,proxySupport:!1,statAuth:!1,loading:!1}),_=Object(A.a)(k,2),S=_[0],w=_[1];Object(n.useEffect)((function(){var e=ge.a.parse(i.location.search,{ignoreQueryPrefix:!0}).domain;m(Be("/list/web/")),m({type:"REMOVE_FOCUSED_ELEMENT",value:""}),e&&(w(Object(u.a)(Object(u.a)({},S),{},{loading:!0})),C(e))}),[]);var C=function(e){(function(e){return be.a.get(At+"/api/v1/edit/web/index.php",{params:{domain:e,token:He()}})})(e).then((function(t){w(Object(u.a)(Object(u.a)({},S),{},{domain:e,webStat:t.data.v_stats?t.data.v_stats:"none",sslSupport:"yes"===t.data.ssl,letsEncrypt:"yes"===t.data.letsencrypt,proxySupport:!!t.data.proxy,data:t.data,additionalFtp:!!t.data.ftp_user,statAuth:t.data.stats_user,loading:!1}))})).catch((function(e){return console.error(e)}))},D=function(e){e.preventDefault();var t,a={},n=Object(We.a)(new FormData(e.target).entries());try{for(n.s();!(t=n.n()).done;){var c=Object(A.a)(t.value,2),r=c[0],l=c[1];a[r]=l}}catch(o){n.e(o)}finally{n.f()}a.v_domain=S.domain,"on"===a.v_ssl?a.v_ssl="yes":delete a.v_ssl,"on"===a.v_letsencrypt?a.v_letsencrypt="yes":delete a.v_letsencrypt,a.v_ssl_ca||delete a.v_ssl_ca,a.v_ssl_crt||delete a.v_ssl_crt,a.v_ssl_key||delete a.v_ssl_key,0!==Object.keys(a).length&&a.constructor===Object&&(w(Object(u.a)(Object(u.a)({},S),{},{loading:!0})),function(e,t){var a=new FormData;for(var n in e)a.append(n,e[n]);return be.a.post(At+"/api/v1/edit/web/index.php",a,{params:{domain:t,token:He()}})}(a,S.domain).then((function(e){if(200===e.status){var t=e.data,a=t.error_msg,n=t.ok_msg;a?(v(a),y(""),w(Object(u.a)(Object(u.a)({},S),{},{loading:!1}))):m(et()).then((function(){v(""),y(n),C(S.domain)}))}})).catch((function(e){return console.error(e)})))},M=function(e){w(Object(u.a)(Object(u.a)({},S),{},{additionalFtp:e}))};return c.a.createElement("div",{className:"edit-template edit-web"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(l.WEB))),c.a.createElement(Xe,{mobile:!1},c.a.createElement("div",null),c.a.createElement("div",{className:"search-toolbar-name"},l["Editing Domain"]),c.a.createElement("div",{className:"error"},c.a.createElement("span",{className:"error-message"},p?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):""," ",p)),c.a.createElement("div",{className:"success"},c.a.createElement("span",{className:"ok-message"},j?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):""," ",c.a.createElement("span",null,at()(j))," "))),c.a.createElement(Qe,{date:S.data.date,time:S.data.time,status:S.data.status},S.loading?c.a.createElement(P,null):c.a.createElement("form",{onSubmit:function(e){return D(e)},id:"add-web"},c.a.createElement("input",{type:"hidden",name:"save",value:"save"}),c.a.createElement("input",{type:"hidden",name:"token",value:r}),c.a.createElement(ze,{id:"domain",name:"v_domain",title:l.Domain,value:S.domain,disabled:!0}),c.a.createElement(Je,{options:function(e){var t=[];for(var a in e)t.push(a);return t}(S.data.ips),selected:S.data.ip,name:"v_ip",id:"ip",title:l["IP Address"]}),c.a.createElement(rt,{id:"proxy-aliases",name:"v_aliases",title:l.Aliases,defaultValue:S.data.aliases}),c.a.createElement(Je,{options:S.data.templates,selected:S.data.template,name:"v_template",id:"web-template",optionalTitle:S.data.web_system,title:l["Web Template"]}),s.WEB_BACKEND&&c.a.createElement(Je,{options:S.data.backend_templates,selected:S.data.backend_template||"default",name:"v_backend_template",id:"backend-template",optionalTitle:S.data.web_backend,title:l["Backend Template"]}),S.data.proxy_system&&c.a.createElement(c.a.Fragment,null,c.a.createElement(Ye,{onChange:function(e){w(Object(u.a)(Object(u.a)({},S),{},{proxySupport:e}))},name:"v_proxy",id:"proxy",title:null!==(t=l["Proxy Support"])&&void 0!==t?t:"Proxy Support",defaultChecked:S.proxySupport}),S.proxySupport&&c.a.createElement("div",{style:{transform:"translateX(3rem)"}},c.a.createElement(Je,{options:S.data.proxy_templates,selected:S.data.proxy_template||"default",optionalTitle:S.data.proxy_system,name:"v_proxy_template",id:"proxy_template",title:l["Proxy Template"]}),c.a.createElement(rt,{id:"proxy-extensions",name:"v_proxy_ext",title:l["Proxy Extensions"],defaultValue:S.data.proxy_ext}))),c.a.createElement(Ye,{onChange:function(e){w(Object(u.a)(Object(u.a)({},S),{},{sslSupport:e}))},name:"v_ssl",id:"ssl-support",title:null!==(a=l["SSL Support"])&&void 0!==a?a:"SSL Support",defaultChecked:S.sslSupport}),S.sslSupport&&c.a.createElement(Ka,{sslSubject:S.data.ssl_subject,sslAliases:S.data.ssl_aliases,sslNotBefore:S.data.ssl_not_before,sslNotAfter:S.data.ssl_not_after,sslSignature:S.data.ssl_signature,sslPubKey:S.data.ssl_pub_key,sslIssuer:S.data.ssl_issuer,sslCertificate:S.data.ssl_crt,sslKey:S.data.ssl_key,setModalVisible:function(e){return g(e)},sslCertificateAuthority:S.data.ssl_ca,domain:S.domain,sslHome:S.data.ssl_home,letsEncrypt:S.letsEncrypt}),c.a.createElement(Je,{options:S.data.stats,selected:S.webStat,title:l["Web Statistics"],onChange:function(e){w(Object(u.a)(Object(u.a)({},S),{},{webStat:e}))},name:"v_stats",id:"stats"}),"none"!==S.webStat&&c.a.createElement("div",{className:"web-stat-additional"},c.a.createElement(Ye,{onChange:function(e){w(Object(u.a)(Object(u.a)({},S),{},{statAuth:e}))},name:"v_stats_auth",id:"stat-auth",defaultChecked:S.data.stats_user,title:l["Statistics Authorization"]}),S.statAuth&&c.a.createElement(c.a.Fragment,null,c.a.createElement(ze,{id:"domain",name:"v_stats_user",title:l.Username,value:S.data.stats_user}),c.a.createElement(Mt,{name:"v_stats_password"}))),c.a.createElement(Ye,{onChange:M,name:"v_ftp",id:"add-ftp",checked:S.additionalFtp,title:l["Additional FTP Account"]}),c.a.createElement(xt,{checked:S.additionalFtp,prefixI18N:S.data.prefixI18N,ftps:S.data.ftp_users,ftpUserPrePath:S.data.ftp_user_prepath,unCheckAdditionalFtpBox:function(){return M(!1)}}),c.a.createElement("div",{className:"buttons-wrapper"},c.a.createElement("button",{type:"submit",className:"add"},l.Save),c.a.createElement("button",{type:"button",className:"back",onClick:function(){return i.push("/list/web/")}},l.Back)))),c.a.createElement("div",{className:"modal fade ".concat(h?"show":""),id:"c-panel-modal",tabindex:"-1",role:"dialog","aria-labelledby":"exampleModalLabel","aria-hidden":"true",style:{display:h?"block":"none"}},c.a.createElement("div",{className:"modal-dialog",role:"document"},c.a.createElement("div",{className:"modal-content"},c.a.createElement("div",{className:"modal-header"},c.a.createElement("h5",null,l["Generating CSR"]),c.a.createElement("button",{type:"button",onClick:function(){return g(!1)},className:"close","data-dismiss":"modal","aria-label":"Close"},c.a.createElement("span",{"aria-hidden":"true"},"\xd7"))),c.a.createElement(Ut,{domain:S.domain,closeModal:function(){return g(!1)},prePopulateInputs:function(e){var t=e.crt,a=e.key;w(Object(u.a)(Object(u.a)({},S),{},{data:Object(u.a)(Object(u.a)({},S.data),{},{ssl_crt:t,ssl_key:a})})),g(!1)}})))))}),za=(a(244),function(e){var t=e.serviceName,a=void 0===t?"":t,r=localStorage.getItem("token"),l=Object(o.d)((function(e){return e.session})).i18n,s=Object(R.g)(),i=Object(o.c)(),m=Object(n.useState)(""),d=Object(A.a)(m,2),E=d[0],p=d[1],v=Object(n.useState)(""),f=Object(A.a)(v,2),b=f[0],h=f[1],g=Object(n.useState)(!0),O=Object(A.a)(g,2),N=O[0],j=O[1],y=Object(n.useState)({data:{},loading:!1,basicOptions:!0,advancedOptions:!1}),k=Object(A.a)(y,2),_=k[0],S=k[1];Object(n.useEffect)((function(){i(Be("/list/server/")),i({type:"REMOVE_FOCUSED_ELEMENT",value:""}),a||s.push("/list/server"),S(Object(u.a)(Object(u.a)({},_),{},{loading:!0})),w()}),[]);var w=function(){it(a).then((function(e){S(Object(u.a)(Object(u.a)({},_),{},{data:e.data,loading:!1}))})).catch((function(e){S(Object(u.a)(Object(u.a)({},_),{},{loading:!1})),console.error(e)}))},C=function(){S(Object(u.a)(Object(u.a)({},_),{},{advancedOptions:!_.advancedOptions,basicOptions:!_.basicOptions}))},D=function(e){var t=e.id,a=e.value;if(a){var n=new RegExp("(".concat(t,")(.+)(").concat(_.data[t],")"),"gm"),c=_.data.config.replace(n,"$1$2".concat(a));S(Object(u.a)(Object(u.a)({},_),{},{data:Object(u.a)(Object(u.a)({},_.data),{},Object(M.a)({config:c},t,a))}))}};return c.a.createElement("div",{className:"edit-template edit-php"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(l.SERVER))),c.a.createElement(Xe,{mobile:!1},c.a.createElement("div",null),c.a.createElement("div",{className:"search-toolbar-name"},c.a.createElement(pe.b,{to:"/edit/server/".concat(_.data.web_system)},l["Configuring Server"]," / ",_.data.web_system)),c.a.createElement("div",{className:"link"},c.a.createElement(pe.b,{to:"/edit/server/php"},l.Configure," php.ini")),c.a.createElement("div",{className:"error"},c.a.createElement("span",{className:"error-message"},E?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):""," ",E)),c.a.createElement("div",{className:"success"},c.a.createElement("span",{className:"ok-message"},b?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):""," ",c.a.createElement("span",null,at()(b))))),c.a.createElement(Qe,null,_.loading?c.a.createElement(P,null):c.a.createElement("form",{onSubmit:function(e){return function(e){e.preventDefault();var t,n={},c=Object(We.a)(new FormData(e.target).entries());try{for(c.s();!(t=c.n()).done;){var r=Object(A.a)(t.value,2),l=r[0],o=r[1];n[l]=o}}catch(s){c.e(s)}finally{c.f()}0!==Object.keys(n).length&&n.constructor===Object&&(S(Object(u.a)(Object(u.a)({},_),{},{loading:!0})),n.v_config=_.data.config,n.v_restart=N?"yes":"no",st(n,"/".concat(a)).then((function(e){if(200===e.status){var t=e.data,a=t.error_msg,n=t.ok_msg;p(a||""),h(n||"")}})).then((function(){return w()})).catch((function(e){return console.error(e)})))}(e)},id:"edit-mail"},c.a.createElement("input",{type:"hidden",name:"save",value:"save"}),c.a.createElement("input",{type:"hidden",name:"token",value:r}),!_.basicOptions&&c.a.createElement("button",{type:"button",onClick:function(){return C()}},l["Basic options"],_.basicOptions?c.a.createElement(W.a,{icon:"caret-up"}):c.a.createElement(W.a,{icon:"caret-down"})),_.basicOptions&&c.a.createElement(c.a.Fragment,null,c.a.createElement(ze,{id:"max_execution_time",title:"max_execution_time",name:"v_max_execution_time",onChange:function(e){return D(e.target)},value:parseInt(_.data.max_execution_time)}),c.a.createElement(ze,{id:"worker_connections",title:"worker_connections",name:"v_worker_connections",onChange:function(e){return D(e.target)},value:parseInt(_.data.max_input_time)}),c.a.createElement(ze,{id:"memory_limit",title:"memory_limit",name:"v_memory_limit",onChange:function(e){return D(e.target)},value:parseInt(_.data.memory_limit)}),c.a.createElement(ze,{id:"error_reporting",title:"error_reporting",name:"v_error_reporting",onChange:function(e){return D(e.target)},value:_.data.error_reporting}),c.a.createElement(ze,{id:"display_errors",title:"display_errors",name:"v_display_errors",onChange:function(e){return D(e.target)},value:_.data.display_errors}),c.a.createElement(ze,{id:"post_max_size",title:"post_max_size",name:"v_post_max_size",onChange:function(e){return D(e.target)},value:_.data.post_max_size}),c.a.createElement(ze,{id:"upload_max_filesize",title:"upload_max_filesize",name:"v_upload_max_filesize",onChange:function(e){return D(e.target)},value:_.data.upload_max_filesize})),!_.advancedOptions&&c.a.createElement("button",{type:"button",onClick:function(){return C()}},l["Advanced options"],_.advancedOptions?c.a.createElement(W.a,{icon:"caret-up"}):c.a.createElement(W.a,{icon:"caret-down"})),c.a.createElement("br",null),c.a.createElement("br",null),_.advancedOptions&&c.a.createElement(c.a.Fragment,null,c.a.createElement(rt,{onChange:function(e){return S(Object(u.a)(Object(u.a)({},_),{},{data:Object(u.a)(Object(u.a)({},_.data),{},{config:e.target.value})}))},defaultValue:_.data.config,title:_.data.config_path,name:"v_config",id:"v_config",rows:"25"}),c.a.createElement("br",null),c.a.createElement(Ye,{title:l.restart,defaultChecked:!0,onChange:function(e){return j(e)},name:"v_restart",id:"restart"})),c.a.createElement("div",{className:"buttons-wrapper"},c.a.createElement("button",{type:"submit",className:"add"},l.Save),c.a.createElement("button",{type:"button",className:"back",onClick:function(){return s.push("/list/server/")}},l.Back)))))}),Ya=function(e){var t=e.data,a=Object(o.d)((function(e){return e.session})).i18n;localStorage.getItem("token");return c.a.createElement(Nt,{id:t.NAME,date:t.DATE,toggleFav:function(a){a?e.toggleFav(t.NAME,"add"):e.toggleFav(t.NAME,"delete")},checkItem:function(){e.checkItem(t.NAME)},starred:t.STARRED,focused:t.FOCUSED,checked:t.isChecked,suspended:"yes"===t.SUSPENDED},c.a.createElement(Ge,{className:"r-col w-85"},c.a.createElement("div",{className:"name"},t.DATABASE),c.a.createElement("br",null),c.a.createElement("div",{className:"stats"},c.a.createElement(Ge,{className:"c-1"},c.a.createElement("div",{className:"disk"},a.Disk,": ",c.a.createElement("span",null,c.a.createElement("span",{className:"stat"},t.U_DISK),a.mb),c.a.createElement("div",{className:"percent",style:{width:"".concat(t.U_DISK_PERCENT,"%")||!1}}))),c.a.createElement(Ge,{className:"c-2"},c.a.createElement("div",null,a.User,": ",c.a.createElement("span",{className:"stat"},t.DBUSER)),c.a.createElement("div",null,a.Charset,": ",c.a.createElement("span",{className:"stat"},t.CHARSET))),c.a.createElement(Ge,{className:"c-3"},c.a.createElement("div",null,a.Host,": ",c.a.createElement("span",{className:"stat"},t.HOST)),c.a.createElement("div",null,a.Type,": ",c.a.createElement("span",{className:"stat"},t.TYPE))))),c.a.createElement("div",{className:"actions"},c.a.createElement("div",null,c.a.createElement(pe.b,{className:"link-edit",to:"/edit/db/?database=".concat(t.NAME)},a.edit,t.FOCUSED?c.a.createElement("span",{className:"shortcut-button html-unicode"},"\u21a9"):c.a.createElement(W.a,{icon:"pen"}))),c.a.createElement("div",null,c.a.createElement("button",{className:"link-gray",onClick:function(){return function(){var a="yes"===t.SUSPENDED?"unsuspend":"suspend";e.handleModal(t.suspend_conf,"/api/v1/".concat(a,"/db/index.php?database=").concat(t.NAME))}()}},a[t.suspend_action],t.FOCUSED?c.a.createElement("span",{className:"shortcut-button"},"S"):c.a.createElement(W.a,{icon:"yes"===t.SUSPENDED?"unlock":"lock"}))),c.a.createElement("div",null,c.a.createElement("button",{className:"link-delete",onClick:function(){e.handleModal(t.delete_conf,"/api/v1/delete/db/index.php?database=".concat(t.NAME))}},a.Delete,t.FOCUSED?c.a.createElement("span",{className:"shortcut-button del"},"Del"):c.a.createElement(W.a,{icon:"times"})))))},Ga=(a(245),function(e){var t=Object(o.d)((function(e){return e.session})).i18n,a=Object(o.d)((function(e){return e.controlPanelContent})).controlPanelFocusedElement,r=Object(o.d)((function(e){return e.mainNavigation})).focusedElement,l=Object(o.c)(),s=Object(n.useState)(!1),i=Object(A.a)(s,2),m=i[0],d=i[1],E=Object(n.useState)({text:"",visible:!1,actionUrl:""}),p=Object(A.a)(E,2),v=p[0],f=p[1],b=Object(n.useState)({databases:[],dbFav:[],toggledAll:!1,dbAdmin:"",dbAdminLink:"",db_myadmin_link:"",db_pgadmin_link:"",sorting:t.Date,order:"descending",selection:[],totalAmount:""}),h=Object(A.a)(b,2),g=h[0],O=h[1];Object(n.useEffect)((function(){return l(Be("/list/db/")),l({type:"REMOVE_FOCUSED_ELEMENT",value:""}),l({type:"REMOVE_CPANEL_FOCUSED_ELEMENT",value:""}),D().then((function(){return d(!1)})),function(){l({type:"REMOVE_CPANEL_FOCUSED_ELEMENT",value:""})}}),[]),Object(n.useEffect)((function(){return window.addEventListener("keydown",N),window.addEventListener("keydown",_),function(){window.removeEventListener("keydown",N),window.removeEventListener("keydown",_)}}),[a,r,g.databases]);var N=function(e){38!==e.keyCode&&40!==e.keyCode||r&&l({type:"REMOVE_FOCUSED_ELEMENT",value:""}),38===e.keyCode?(e.preventDefault(),k()):40===e.keyCode&&(e.preventDefault(),y())},j=function(e){e[0].FOCUSED=e[0].NAME,O(Object(u.a)(Object(u.a)({},g),{},{databases:e})),l(vt(e[0].NAME))},y=function(){var e=Object(I.a)(g.databases);if(""!==a){var t=e.findIndex((function(e){return e.NAME===a}));if(t!==e.length-1){var n=e[t+1];e[t].FOCUSED="",n.FOCUSED=n.NAME,document.getElementById(n.NAME).scrollIntoView({behavior:"smooth",block:"center"}),O(Object(u.a)(Object(u.a)({},g),{},{databases:e})),l(vt(n.NAME))}}else j(e)},k=function(){var e=Object(I.a)(g.databases);if(""!==a){var t=e.findIndex((function(e){return e.NAME===a}));if(0!==t){var n=e[t-1];e[t].FOCUSED="",n.FOCUSED=n.NAME,document.getElementById(n.NAME).scrollIntoView({behavior:"smooth",block:"center"}),O(Object(u.a)(Object(u.a)({},g),{},{databases:e})),l(vt(n.NAME))}}else j(e)},_=function(e){var t=document.querySelector("input:focus")||document.querySelector("textarea:focus");if(a&&!t)switch(e.keyCode){case 8:return C();case 13:return S();case 83:return w()}},S=function(){e.history.push("/edit/database?domain=".concat(a))},w=function(){var e=g.databases.filter((function(e){return e.NAME===a}))[0],t="yes"===e.SUSPENDED?"unsuspend":"suspend";R(e.suspend_conf,"/api/v1/".concat(t,"/database/index.php?domain=").concat(a))},C=function(){var e=g.databases.filter((function(e){return e.NAME===a}))[0];R(e.delete_conf,"/api/v1/delete/database/index.php?domain=".concat(a))},D=function(){return d(!0),new Promise((function(e,t){be.a.get(Rt+"/api/v1/list/db/index.php").then((function(t){O(Object(u.a)(Object(u.a)({},g),{},{databases:M(t.data.data),dbAdmin:t.data.db_admin,dbAdminLink:t.data.db_admin_link,db_myadmin_link:t.data.db_myadmin_link,db_pgadmin_link:t.data.db_pgadmin_link,dbFav:t.data.dbFav,selection:[],toggledAll:!1,totalAmount:t.data.totalAmount})),e()})).catch((function(e){return console.error(e)}))}))},M=function(e){var t=[];for(var n in e)e[n].NAME=n,e[n].FOCUSED=a===n,t.push(e[n]);return t},F=function(e){var t=g.selection,a=g.databases,n=Object(I.a)(t),c=a,r=n.indexOf(e),l=c.findIndex((function(t){return t.NAME===e}));c[l].isChecked=!c[l].isChecked,-1!==r?n.splice(r,1):n.push(e),O(Object(u.a)(Object(u.a)({},g),{},{databases:c,selection:n}))},x=function(e){var t=g.order,a=g.sorting,n=T(a);return"descending"===t?e.sort((function(e,t){return e[n]t[n]?1:t[n]>e[n]?-1:0}))},T=function(e){var a=t.Date,n=t.Database,c=t.Disk,r=t.User,l=t.Host,o=t.Starred;switch(e){case a:return"DATE";case n:return"DATABASE";case c:return"U_DISK";case r:return"DBUSER";case l:return"HOST";case o:return"STARRED"}},L=function(e,t){var a=g.dbFav;"add"===t?(a[e]=1,gt(e,"db").then((function(){O(Object(u.a)(Object(u.a)({},g),{},{dbFav:a}))})).catch((function(e){console.error(e)}))):(a[e]=void 0,Ot(e,"db").then((function(){O(Object(u.a)(Object(u.a)({},g),{},{dbFav:a}))})).catch((function(e){console.error(e)})))},U=function(e){var t=Object(I.a)(g.databases);if(e){var a=[],n=t.map((function(e){return a.push(e.NAME),e.isChecked=!0,e}));O(Object(u.a)(Object(u.a)({},g),{},{databases:n,selection:a,toggledAll:e}))}else{var c=t.map((function(e){return e.isChecked=!1,e}));O(Object(u.a)(Object(u.a)({},g),{},{databases:c,selection:[],toggledAll:e}))}},R=function(e,t){f(Object(u.a)(Object(u.a)({},v),{},{visible:!0,text:e,actionUrl:t}))},V=function(){l(et()).then((function(){return d(!1)}))},B=function(){f(Object(u.a)(Object(u.a)({},v),{},{visible:!1,text:"",actionUrl:""}))};return c.a.createElement("div",{className:"databases"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(t.DB))),c.a.createElement(Xe,{mobile:!1},c.a.createElement(yt,{name:"Add Database",href:"/add/db",showLeftMenu:!0}),c.a.createElement("div",{className:"r-menu"},c.a.createElement("div",{className:"input-group input-group-sm"},g.db_myadmin_link&&c.a.createElement(pe.b,{to:{pathname:g.db_myadmin_link},className:"button-extra",type:"submit",target:"_blank"},"phpMyAdmin"),g.db_pgadmin_link&&c.a.createElement(pe.b,{to:{pathname:g.db_pgadmin_link},className:"button-extra",type:"submit",target:"_blank"},"phpPgAdmin"),c.a.createElement(kt,{toggleAll:U,toggled:g.toggledAll}),c.a.createElement(_t,{list:"dbList",bulkAction:function(e){var t=g.selection;t.length&&e&&(d(!0),function(e,t){var a=new FormData;return a.append("action",e),a.append("token",He()),t.forEach((function(e){a.append("database[]",e)})),be.a.post(Rt+"/api/v1/bulk/db/",a)}(e,t).then((function(e){200===e.status&&(U(!1),D().then((function(){return V()})))})).catch((function(e){return console.error(e)})))}}),c.a.createElement(ft,{changeSorting:function(e,t){O(Object(u.a)(Object(u.a)({},g),{},{sorting:e,order:t}))},sorting:g.sorting,order:g.order,list:"dbList"}),c.a.createElement(bt,{handleSearchTerm:function(t){return e.changeSearchTerm(t)}})))),c.a.createElement("div",{className:"mails-wrapper"},m?c.a.createElement(P,null):c.a.createElement(c.a.Fragment,null,function(){var e=g.databases,t=[],n=Object(u.a)({},g.dbFav);return e.forEach((function(e){e.FOCUSED=a===e.NAME,n[e.NAME]?e.STARRED=n[e.NAME]:e.STARRED=0,t.push(e)})),x(t).map((function(e,t){return c.a.createElement(Ya,{data:e,key:t,toggleFav:L,checkItem:F,handleModal:R})}))}(),c.a.createElement("div",{className:"total"},g.totalAmount))),c.a.createElement(St,{onSave:function(){if(!v.actionUrl)return B();var e;B(),d(!0),(e=v.actionUrl,be.a.get(Rt+e,{params:{token:He()}})).then((function(e){if(e.data.error)return d(!1),R(e.data.error,"");D().then((function(){return V()}))})).catch((function(e){d(!1),console.error(e)}))},onCancel:B,show:v.visible,text:v.text}))}),Qa=(a(246),function(e){var t=e.data,a=Object(w.a)(e,["data"]),n=Object(o.d)((function(e){return e.session})).i18n;return c.a.createElement(Nt,{id:t.NAME,date:t.DATE,starred:t.STARRED,focused:t.FOCUSED,checked:t.isChecked,toggleFav:function(e){e?a.toggleFav(t.NAME,"add"):a.toggleFav(t.NAME,"delete")},checkItem:function(){a.checkItem(t.NAME)},suspended:"yes"===t.SUSPENDED},c.a.createElement(Ge,{className:"cron-jobs-list r-col w-85"},c.a.createElement("div",{className:"stats"},c.a.createElement(Ge,{className:"cron-col"},c.a.createElement("div",null,c.a.createElement("span",{className:"stat"},t.ACTION))),c.a.createElement(Ge,{className:"cron-col"},c.a.createElement("div",null,c.a.createElement("span",null,c.a.createElement("span",{className:"stat"},t.PROTOCOL)," / ",t.COMMENT))),c.a.createElement(Ge,{className:"cron-col"},c.a.createElement("div",null)),c.a.createElement(Ge,{className:"cron-col"},c.a.createElement("div",null,c.a.createElement("span",{className:"stat"},t.PORT))),c.a.createElement(Ge,{className:"cron-col"},c.a.createElement("div",null,c.a.createElement("span",{className:"stat"},t.IP))))),c.a.createElement("div",{className:"actions"},c.a.createElement("div",null,c.a.createElement(pe.b,{className:"link-edit",to:"/edit/firewall/?rule=".concat(t.NAME)},n.edit,t.FOCUSED?c.a.createElement("span",{className:"shortcut-button html-unicode"},"\u21a9"):c.a.createElement(W.a,{icon:"pen"}))),c.a.createElement("div",null,c.a.createElement("button",{className:"link-gray",onClick:function(){return function(){var e="yes"===t.SUSPENDED?"unsuspend":"suspend";a.handleModal(t.suspend_conf,"/api/v1/".concat(e,"/firewall/index.php?rule=").concat(t.NAME))}()}},n[t.suspend_action],t.FOCUSED?c.a.createElement("span",{className:"shortcut-button"},"S"):c.a.createElement(W.a,{icon:"yes"===t.SUSPENDED?"unlock":"lock"}))),c.a.createElement("div",null,c.a.createElement("button",{className:"link-delete",onClick:function(){a.handleModal(t.delete_conf,"/api/v1/delete/firewall/index.php?rule=".concat(t.NAME))}},n.Delete,t.FOCUSED?c.a.createElement("span",{className:"shortcut-button del"},"Del"):c.a.createElement(W.a,{icon:"times"})))))}),Xa=(a(247),function(e){var t=Object(o.d)((function(e){return e.session})).i18n,a=Object(o.d)((function(e){return e.controlPanelContent})).controlPanelFocusedElement,r=Object(o.d)((function(e){return e.mainNavigation})).focusedElement,l=Object(o.c)(),s=Object(n.useState)(!1),i=Object(A.a)(s,2),m=i[0],d=i[1],E=Object(n.useState)({text:"",visible:!1,actionUrl:""}),p=Object(A.a)(E,2),v=p[0],f=p[1],b=Object(n.useState)({firewalls:[],firewallFav:[],selection:[],firewallExtension:"",toggledAll:!1,sorting:t.Action,order:"descending",totalAmount:""}),h=Object(A.a)(b,2),g=h[0],O=h[1];Object(n.useEffect)((function(){return l(Be("/list/firewall/")),l({type:"REMOVE_FOCUSED_ELEMENT",value:""}),l({type:"REMOVE_CPANEL_FOCUSED_ELEMENT",value:""}),D().then((function(){return d(!1)})),function(){l({type:"REMOVE_CPANEL_FOCUSED_ELEMENT",value:""})}}),[]),Object(n.useEffect)((function(){return window.addEventListener("keydown",N),window.addEventListener("keydown",_),function(){window.removeEventListener("keydown",N),window.removeEventListener("keydown",_)}}),[a,r,g.firewalls]);var N=function(e){38!==e.keyCode&&40!==e.keyCode||r&&l({type:"REMOVE_FOCUSED_ELEMENT",value:""}),38===e.keyCode?(e.preventDefault(),k()):40===e.keyCode&&(e.preventDefault(),y())},j=function(e){e[0].FOCUSED=e[0].NAME,O(Object(u.a)(Object(u.a)({},g),{},{firewalls:e})),l(vt(e[0].NAME))},y=function(){var e=Object(I.a)(g.firewalls);if(""!==a){var t=e.findIndex((function(e){return e.NAME===a}));if(t!==e.length-1){var n=e[t+1];e[t].FOCUSED="",n.FOCUSED=n.NAME,document.getElementById(n.NAME).scrollIntoView({behavior:"smooth",block:"center"}),O(Object(u.a)(Object(u.a)({},g),{},{firewalls:e})),l(vt(n.NAME))}}else j(e)},k=function(){var e=Object(I.a)(g.firewalls);if(""!==a){var t=e.findIndex((function(e){return e.NAME===a}));if(0!==t){var n=e[t-1];e[t].FOCUSED="",n.FOCUSED=n.NAME,document.getElementById(n.NAME).scrollIntoView({behavior:"smooth",block:"center"}),O(Object(u.a)(Object(u.a)({},g),{},{firewalls:e})),l(vt(n.NAME))}}else j(e)},_=function(e){var t=document.querySelector("input:focus")||document.querySelector("textarea:focus");if(a&&!t)switch(e.keyCode){case 8:return C();case 13:return S();case 83:return w()}},S=function(){e.history.push("/edit/firewall?rule=".concat(a))},w=function(){var e=g.firewalls.filter((function(e){return e.NAME===a}))[0],t="yes"===e.SUSPENDED?"unsuspend":"suspend";R(e.suspend_conf,"/api/v1/".concat(t,"/firewall/index.php?rule=").concat(a))},C=function(){var e=g.firewalls.filter((function(e){return e.NAME===a}))[0];R(e.delete_conf,"/api/v1/delete/firewall/index.php?rule=".concat(a))},D=function(){return d(!0),new Promise((function(e,t){be.a.get(Wt+"/api/v1/list/firewall/index.php").then((function(t){O(Object(u.a)(Object(u.a)({},g),{},{firewalls:M(t.data.data),firewallFav:t.data.firewallFav,selection:[],firewallExtension:t.data.firewallExtension,totalAmount:t.data.totalAmount,toggledAll:!1})),e()})).catch((function(e){return console.error(e)}))}))},M=function(e){var t=[];for(var n in e)e[n].NAME=n,e[n].FOCUSED=a===n,t.push(e[n]);return t},F=function(e){var t=g.selection,a=g.firewalls,n=Object(I.a)(t),c=a,r=n.indexOf(e),l=c.findIndex((function(t){return t.NAME===e}));c[l].isChecked=!c[l].isChecked,-1!==r?n.splice(r,1):n.push(e),O(Object(u.a)(Object(u.a)({},g),{},{firewalls:c,selection:n}))},x=function(e){var t=g.order,a=g.sorting,n=T(a);return"descending"===t?e.sort((function(e,t){return e[n]t[n]?1:t[n]>e[n]?-1:0}))},T=function(e){var a=t.Action,n=t.Protocol,c=t.Port,r=t.Comment,l=t.Starred;switch(e){case a:return"ACTION";case n:return"PROTOCOL";case c:return"PORT";case t["IP address"]:return"IP";case r:return"COMMENT";case l:return"STARRED"}},L=function(e,t){var a=g.firewallFav;"add"===t?(a[e]=1,gt(e,"firewall").then((function(){O(Object(u.a)(Object(u.a)({},g),{},{firewallFav:a}))})).catch((function(e){console.error(e)}))):(a[e]=void 0,Ot(e,"firewall").then((function(){O(Object(u.a)(Object(u.a)({},g),{},{firewallFav:a}))})).catch((function(e){console.error(e)})))},U=function(e){if(e){var t=[],a=g.firewalls.map((function(e){return t.push(e.NAME),e.isChecked=!0,e}));O(Object(u.a)(Object(u.a)({},g),{},{firewalls:a,selection:t,toggledAll:e}))}else{var n=g.firewalls.map((function(e){return e.isChecked=!1,e}));O(Object(u.a)(Object(u.a)({},g),{},{firewalls:n,selection:[],toggledAll:e}))}},R=function(e,t){f(Object(u.a)(Object(u.a)({},v),{},{visible:!v.visible,text:e,actionUrl:t}))},V=function(){l(et()).then((function(){return d(!1)}))},B=function(){f(Object(u.a)(Object(u.a)({},v),{},{visible:!v.visible,text:"",actionUrl:""}))};return c.a.createElement("div",{className:"firewalls"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(t.FIREWALL))),c.a.createElement(Xe,{mobile:!1},c.a.createElement(yt,{href:"/add/firewall/",name:t["Add Rule"],showLeftMenu:!0}),c.a.createElement("div",{className:"r-menu"},c.a.createElement("div",{className:"input-group input-group-sm"},c.a.createElement(pe.b,{to:"/list/firewall/banlist/",className:"button-extra",type:"submit"},t["list fail2ban"]),c.a.createElement(kt,{toggleAll:U,toggled:g.toggledAll}),c.a.createElement(_t,{list:"firewallList",bulkAction:function(e){var t=g.selection;t.length&&e&&(d(!0),function(e,t){var a=new FormData;return a.append("action",e),a.append("token",He()),t.forEach((function(e){a.append("rule[]",e)})),be.a.post(Wt+"/api/v1/bulk/firewall/",a)}(e,t).then((function(e){200===e.status&&(U(!1),D().then((function(){return V()})))})).catch((function(e){return console.error(e)})))}}),c.a.createElement(ft,{changeSorting:function(e,t){O(Object(u.a)(Object(u.a)({},g),{},{sorting:e,order:t}))},sorting:g.sorting,order:g.order,list:"firewallList"}),c.a.createElement(bt,{handleSearchTerm:function(t){return e.changeSearchTerm(t)}})))),c.a.createElement("div",{className:"firewalls-wrapper"},m?c.a.createElement(P,null):c.a.createElement(c.a.Fragment,null,function(){var e=Object(u.a)({},g.firewallFav),t=Object(I.a)(g.firewalls);return t.forEach((function(t){t.FOCUSED=a===t.NAME,e[t.NAME]?t.STARRED=e[t.NAME]:t.STARRED=0})),x(t).map((function(e,t){return c.a.createElement(Qa,{data:e,key:t,toggleFav:L,checkItem:F,handleModal:R})}))}(),c.a.createElement("div",{className:"total"},g.totalAmount))),c.a.createElement(St,{onSave:function(){if(!v.actionUrl)return B();B(),d(!0),Ht(v.actionUrl).then((function(e){if(e.data.error)return d(!1),R(e.data.error,"");D().then((function(){return V()}))})).catch((function(e){d(!1),console.error(e)}))},onCancel:B,show:v.visible,text:v.text}))}),Za=window.location.origin,$a=(a(248),function(e){var t=localStorage.getItem("token"),a=Object(o.d)((function(e){return e.session})).i18n,r=Object(R.g)(),l=Object(o.c)(),s=Object(n.useState)(""),i=Object(A.a)(s,2),m=i[0],d=i[1],E=Object(n.useState)(""),p=Object(A.a)(E,2),v=p[0],f=p[1],b=Object(n.useState)({data:{},loading:!1,username:""}),h=Object(A.a)(b,2),g=h[0],O=h[1];Object(n.useEffect)((function(){var e=ge.a.parse(r.location.search,{ignoreQueryPrefix:!0}).user;l(Be("/list/user/")),l({type:"REMOVE_FOCUSED_ELEMENT",value:""}),e&&(O(Object(u.a)(Object(u.a)({},g),{},{loading:!0})),N(e))}),[]);var N=function(e){var t;(t=e,be.a.get(Za+"/api/v1/edit/user/index.php",{params:{user:t,token:He()}})).then((function(t){O(Object(u.a)(Object(u.a)({},g),{},{username:e,data:t.data,loading:!1}))})).catch((function(e){O(Object(u.a)(Object(u.a)({},g),{},{loading:!1})),console.error(e)}))},j=function(e){e.preventDefault();var t,a={},n=Object(We.a)(new FormData(e.target).entries());try{for(n.s();!(t=n.n()).done;){var c=Object(A.a)(t.value,2),r=c[0],l=c[1];a[r]=l}}catch(o){n.e(o)}finally{n.f()}a.v_username=g.username,0!==Object.keys(a).length&&a.constructor===Object&&(O(Object(u.a)(Object(u.a)({},g),{},{loading:!0})),function(e,t){var a=new FormData;for(var n in e)a.append(n,e[n]);return be.a.post(Za+"/api/v1/edit/user/index.php",a,{params:{user:t,token:He()}})}(a,g.username).then((function(e){if(200===e.status){var t=e.data,a=t.error_msg,n=t.ok_msg;a?(d(a),f("")):(d(""),f(n))}})).then((function(){return N(g.username)})).catch((function(e){return console.error(e)})))};return c.a.createElement("div",{className:"edit-template edit-user"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(a.USER))),c.a.createElement(Xe,{mobile:!1},c.a.createElement("div",null),c.a.createElement("div",{className:"search-toolbar-name"},a["Editing User"]),c.a.createElement("div",{className:"error"},c.a.createElement("span",{className:"error-message"},m?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):""," ",m)),c.a.createElement("div",{className:"success"},c.a.createElement("span",{className:"ok-message"},v?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):""," ",c.a.createElement("span",null,at()(v))," "))),c.a.createElement(Qe,{date:g.data.date,time:g.data.time,status:g.data.status},g.loading?c.a.createElement(P,null):c.a.createElement("form",{onSubmit:function(e){return j(e)},id:"add-user"},c.a.createElement("input",{type:"hidden",name:"save",value:"save"}),c.a.createElement("input",{type:"hidden",name:"token",value:t}),c.a.createElement(ze,{id:"username",name:"v_user",title:a.Username,value:g.username,disabled:!0}),c.a.createElement(Mt,{name:"v_password"}),c.a.createElement(ze,{id:"email",name:"v_email",title:a.Email,value:g.data.email}),c.a.createElement(Je,{options:function(e){var t=[];for(var a in e)t.push(a);return t}(g.data.packages),selected:g.data.package,name:"v_package",id:"packages",title:a.Package}),c.a.createElement(Je,{options:g.data.languages,selected:g.data.language,name:"v_language",id:"languages",title:a.Language}),c.a.createElement(ze,{id:"first-name",name:"v_fname",title:a["First Name"],value:g.data.fname}),c.a.createElement(ze,{id:"last-name",name:"v_lname",title:a["Last Name"],value:g.data.lname}),c.a.createElement(Je,{options:g.data.shells,selected:g.data.shell,name:"v_shell",id:"shell",title:a["SSH Access"]}),c.a.createElement(oa,{usersNS:g.data.nameservers}),c.a.createElement("div",{className:"buttons-wrapper"},c.a.createElement("button",{type:"submit",className:"add"},a.Save),c.a.createElement("button",{type:"button",className:"back",onClick:function(){return r.push("/list/user/")}},a.Back)))))}),en=(a(249),function(){var e=localStorage.getItem("token"),t=Object(o.d)((function(e){return e.session})).i18n,a=Object(R.g)(),r=Object(o.c)(),l=Object(n.useState)(""),s=Object(A.a)(l,2),i=s[0],m=s[1],d=Object(n.useState)(""),E=Object(A.a)(d,2),p=E[0],v=E[1],f=Object(n.useState)({data:{},loading:!1}),b=Object(A.a)(f,2),h=b[0],g=b[1];Object(n.useEffect)((function(){r(Be("/list/server/")),r({type:"REMOVE_FOCUSED_ELEMENT",value:""}),g(Object(u.a)(Object(u.a)({},h),{},{loading:!0})),O()}),[]);var O=function(){it("bind9").then((function(e){e.data.config.includes("Error")&&a.push("/list/server"),g(Object(u.a)(Object(u.a)({},h),{},{data:e.data,loading:!1}))})).catch((function(e){g(Object(u.a)(Object(u.a)({},h),{},{loading:!1})),console.error(e)}))};return c.a.createElement("div",{className:"edit-template edit-bind9"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(t.SERVER))),c.a.createElement(Xe,{mobile:!1},c.a.createElement("div",null),c.a.createElement("div",{className:"search-toolbar-name"},t["Configuring Server"]," / ",h.data.service_name),c.a.createElement("div",{className:"error"},c.a.createElement("span",{className:"error-message"},i?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):""," ",i)),c.a.createElement("div",{className:"success"},c.a.createElement("span",{className:"ok-message"},p?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):""," ",c.a.createElement("span",null,at()(p))))),c.a.createElement(Qe,null,h.loading?c.a.createElement(P,null):c.a.createElement("form",{onSubmit:function(e){return function(e){e.preventDefault();var t,a={},n=Object(We.a)(new FormData(e.target).entries());try{for(n.s();!(t=n.n()).done;){var c=Object(A.a)(t.value,2),r=c[0],l=c[1];a[r]=l}}catch(o){n.e(o)}finally{n.f()}0!==Object.keys(a).length&&a.constructor===Object&&(g(Object(u.a)(Object(u.a)({},h),{},{loading:!0})),st(a,"/bind9").then((function(e){if(200===e.status){var t=e.data,a=t.error_msg,n=t.ok_msg;m(a||""),v(n||"")}})).then((function(){return O()})).catch((function(e){return console.error(e)})))}(e)},id:"edit-bind9"},c.a.createElement("input",{type:"hidden",name:"save",value:"save"}),c.a.createElement("input",{type:"hidden",name:"token",value:e}),c.a.createElement(rt,{defaultValue:h.data.options,title:h.data.options_path,name:"v_options",id:"v_options",rows:"10"}),c.a.createElement("br",null),c.a.createElement(rt,{defaultValue:h.data.config,title:h.data.config_path,name:"v_config",id:"v_config",rows:"10"}),c.a.createElement("br",null),c.a.createElement(Ye,{title:t.restart,defaultChecked:!0,name:"v_restart",id:"restart"}),c.a.createElement("div",{className:"buttons-wrapper"},c.a.createElement("button",{type:"submit",className:"add"},t.Save),c.a.createElement("button",{type:"button",className:"back",onClick:function(){return a.push("/list/server/")}},t.Back)))))}),tn=(a(250),function(e){var t=e.serviceName,a=void 0===t?"":t,r=localStorage.getItem("token"),l=Object(o.d)((function(e){return e.session})).i18n,s=Object(R.g)(),i=Object(o.c)(),m=Object(n.useState)(""),d=Object(A.a)(m,2),E=d[0],p=d[1],v=Object(n.useState)(""),f=Object(A.a)(v,2),b=f[0],h=f[1],g=Object(n.useState)(!0),O=Object(A.a)(g,2),N=O[0],j=O[1],y=Object(n.useState)({data:{},loading:!1,basicOptions:!0,advancedOptions:!1}),k=Object(A.a)(y,2),_=k[0],S=k[1];Object(n.useEffect)((function(){i(Be("/list/server/")),i({type:"REMOVE_FOCUSED_ELEMENT",value:""}),a||s.push("/list/server"),S(Object(u.a)(Object(u.a)({},_),{},{loading:!0})),w()}),[]);var w=function(){it("mysql").then((function(e){e.data.config.includes("Error")&&s.push("/list/server"),S(Object(u.a)(Object(u.a)({},_),{},{data:e.data,loading:!1}))})).catch((function(e){S(Object(u.a)(Object(u.a)({},_),{},{loading:!1})),console.error(e)}))},C=function(){S(Object(u.a)(Object(u.a)({},_),{},{advancedOptions:!_.advancedOptions,basicOptions:!_.basicOptions}))},D=function(e){var t=e.id,a=e.value;if(a){var n=new RegExp("(".concat(t,")(.+)(").concat(_.data[t],")"),"gm"),c=_.data.config.replace(n,"$1$2".concat(a));S(Object(u.a)(Object(u.a)({},_),{},{data:Object(u.a)(Object(u.a)({},_.data),{},Object(M.a)({config:c},t,a))}))}};return c.a.createElement("div",{className:"edit-template edit-mysql"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(l.SERVER))),c.a.createElement(Xe,{mobile:!1},c.a.createElement("div",null),c.a.createElement("div",{className:"search-toolbar-name"},l["Configuring Server"]," / ",_.data.service_name),c.a.createElement("div",{className:"error"},c.a.createElement("span",{className:"error-message"},E?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):""," ",E)),c.a.createElement("div",{className:"success"},c.a.createElement("span",{className:"ok-message"},b?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):""," ",c.a.createElement("span",null,at()(b))))),c.a.createElement(Qe,null,_.loading?c.a.createElement(P,null):c.a.createElement("form",{onSubmit:function(e){return function(e){e.preventDefault();var t,n={},c=Object(We.a)(new FormData(e.target).entries());try{for(c.s();!(t=c.n()).done;){var r=Object(A.a)(t.value,2),l=r[0],o=r[1];n[l]=o}}catch(s){c.e(s)}finally{c.f()}0!==Object.keys(n).length&&n.constructor===Object&&(S(Object(u.a)(Object(u.a)({},_),{},{loading:!0})),n.v_config=_.data.config,n.v_restart=N?"yes":"no",st(n,"/".concat(a)).then((function(e){if(200===e.status){var t=e.data,a=t.error_msg,n=t.ok_msg;p(a||""),h(n||"")}})).then((function(){return w()})).catch((function(e){return console.error(e)})))}(e)},id:"edit-mysql"},c.a.createElement("input",{type:"hidden",name:"save",value:"save"}),c.a.createElement("input",{type:"hidden",name:"token",value:r}),!_.basicOptions&&c.a.createElement("button",{type:"button",onClick:function(){return C()}},l["Basic options"],_.basicOptions?c.a.createElement(W.a,{icon:"caret-up"}):c.a.createElement(W.a,{icon:"caret-down"})),_.basicOptions&&c.a.createElement(c.a.Fragment,null,c.a.createElement(ze,{id:"max_connections",title:"max_connections",name:"v_max_connections",onChange:function(e){return D(e.target)},value:_.data.max_connections}),c.a.createElement(ze,{id:"max_user_connections",title:"v_max_user_connections",name:"v_max_user_connections",onChange:function(e){return D(e.target)},value:_.data.max_user_connections}),c.a.createElement(ze,{id:"wait_timeout",title:"v_wait_timeout",name:"v_wait_timeout",onChange:function(e){return D(e.target)},value:_.data.wait_timeout}),c.a.createElement(ze,{id:"interactive_timeout",title:"v_interactive_timeout",name:"v_interactive_timeout",onChange:function(e){return D(e.target)},value:_.data.interactive_timeout}),c.a.createElement(ze,{id:"display_errors",title:"v_display_errors",name:"v_display_errors",onChange:function(e){return D(e.target)},value:_.data.max_allowed_packet})),!_.advancedOptions&&c.a.createElement("button",{type:"button",onClick:function(){return C()}},l["Advanced options"],_.advancedOptions?c.a.createElement(W.a,{icon:"caret-up"}):c.a.createElement(W.a,{icon:"caret-down"})),c.a.createElement("br",null),c.a.createElement("br",null),_.advancedOptions&&c.a.createElement(c.a.Fragment,null,c.a.createElement(rt,{defaultValue:_.data.config,title:_.data.config_path,onChange:function(e){return S(Object(u.a)(Object(u.a)({},_),{},{data:Object(u.a)(Object(u.a)({},_.data),{},{config:e.target.value})}))},name:"v_config",id:"v_config",rows:"25"}),c.a.createElement("br",null),c.a.createElement(Ye,{title:l.restart,defaultChecked:!0,onChange:function(e){return j(e)},name:"v_restart",id:"restart"})),c.a.createElement("div",{className:"buttons-wrapper"},c.a.createElement("button",{type:"submit",className:"add"},l.Save),c.a.createElement("button",{type:"button",className:"back",onClick:function(){return s.push("/list/server/")}},l.Back)))))}),an=window.location.origin,nn=(a(251),a(252),function(e){var t,a,r,l,s=Object(o.d)((function(e){return e.session})).i18n,i=Object(n.useState)({nameServersAmount:[],userNS:e.userNS}),m=Object(A.a)(i,2),d=m[0],E=m[1];Object(n.useEffect)((function(){if(e.userNS.length){var t=e.userNS.map((function(e,t){return t+1}));E(Object(u.a)(Object(u.a)({},d),{},{nameServersAmount:t}))}}),[]);var p=function(e){var t=Object(I.a)(d.nameServersAmount);t.splice(e-1,1),E(Object(u.a)(Object(u.a)({},d),{},{nameServersAmount:t}))};return c.a.createElement("div",null,c.a.createElement("div",{className:"form-group exp-date"},c.a.createElement("label",{htmlFor:"exp_date"},null!==(t=s["Expiration Date"])&&void 0!==t?t:"Expiration Date",c.a.createElement("span",{className:"optional"},"(",null!==(a=s["YYYY-MM-DD"])&&void 0!==a?a:"YYYY-MM-DD",")")),c.a.createElement("input",{type:"text",className:"form-control",id:"exp_date",required:!0,defaultValue:K()().add(1,"year").format("YYYY-MM-DD"),name:"v_exp"})),c.a.createElement("div",{className:"form-group"},c.a.createElement("label",{htmlFor:"name_servers"},"TTL"),c.a.createElement("input",{type:"text",className:"form-control",id:"name_servers",required:!0,defaultValue:"14400",name:"v_ttl"})),c.a.createElement("div",{className:"form-group name-servers"},c.a.createElement("label",{htmlFor:"v_ns1"},null!==(r=s["Name servers"])&&void 0!==r?r:"Name servers"),d.nameServersAmount.map((function(e,t){var a;return c.a.createElement("div",{className:"name-server-input-wrapper",key:t},c.a.createElement("input",{type:"text",className:"form-control",id:"v_ns".concat(e),defaultValue:d.userNS[t]||"",name:"v_ns".concat(e)}),c.a.createElement("button",{type:"button",className:e<3?"hide":"show delete",onClick:function(){return p(e)}},null!==(a=s.delete)&&void 0!==a?a:"Delete"))}))),c.a.createElement("button",{type:"button",className:8===d.nameServersAmount.length?"hide":"show optional",onClick:function(){return function(){var e=d.nameServersAmount.length,t=Object(I.a)(d.nameServersAmount);t.push(e+1),E(Object(u.a)(Object(u.a)({},d),{},{nameServersAmount:t}))}()}},null!==(l=s["Add one more Name Server"])&&void 0!==l?l:"Add one more Name Server"))}),cn=function(e){var t,a,r,l,s,i,m=Object(o.d)((function(e){return e.session})).i18n,d=Object(o.c)(),E=localStorage.getItem("token"),p=Object(R.g)(),v=Object(n.useState)({loading:!1,showAdvancedOptions:!1,okMessage:"",domain:"",errorMessage:"",userNS:[]}),f=Object(A.a)(v,2),b=f[0],h=f[1];Object(n.useEffect)((function(){d(Be("/list/dns/")),d({type:"REMOVE_FOCUSED_ELEMENT",value:""}),h(Object(u.a)(Object(u.a)({},b),{},{loading:!0})),be.a.get(an+"/api/v1/list-user-ns.php").then((function(e){e.data.length&&h(Object(u.a)(Object(u.a)({},b),{},{userNS:e.data,loading:!1}))})).catch((function(e){return console.error(e)}))}),[]);var g=function(e){e.preventDefault();var t,a={},n=Object(We.a)(new FormData(e.target).entries());try{for(n.s();!(t=n.n()).done;){var c=Object(A.a)(t.value,2),r=c[0],l=c[1];a[r]=l}}catch(o){n.e(o)}finally{n.f()}0!==Object.keys(a).length&&a.constructor===Object&&(h(Object(u.a)(Object(u.a)({},b),{},{loading:!0})),function(e){var t=new FormData;for(var a in e)t.append(a,e[a]);return be.a.post(Ra+"/api/v1/add/dns/index.php",t)}(a).then((function(e){if(200===e.status){var t=e.data,a=t.error_msg,n=t.ok_msg;a?h(Object(u.a)(Object(u.a)({},b),{},{errorMessage:a,okMessage:n,loading:!1})):d(et()).then((function(){h(Object(u.a)(Object(u.a)({},b),{},{okMessage:n,errorMessage:"",loading:!1}))}))}})).catch((function(e){return console.error(e)})))};return c.a.createElement("div",{className:"edit-template add-dns"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(m.DNS))),c.a.createElement(Xe,{mobile:!1},c.a.createElement("div",null),c.a.createElement("div",{className:"search-toolbar-name"},null!==(t=m["Adding DNS Domain"])&&void 0!==t?t:"Adding DNS Domain"),c.a.createElement("div",{className:"error"},c.a.createElement("span",{className:"error-message"},b.errorMessage?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):"",b.errorMessage)),c.a.createElement("div",{className:"success"},c.a.createElement("span",{className:"ok-message"},b.okMessage?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):"",c.a.createElement("span",null,at()(b.okMessage))))),c.a.createElement(Qe,null,b.loading?c.a.createElement(P,null):c.a.createElement("form",{onSubmit:function(e){return g(e)}},c.a.createElement("input",{type:"hidden",name:"ok",value:"add"}),c.a.createElement("input",{type:"hidden",name:"token",value:E}),c.a.createElement("div",{className:"form-group"},c.a.createElement("label",{htmlFor:"domain"},null!==(a=m.Domain)&&void 0!==a?a:"Domain"),c.a.createElement("input",{type:"text",className:"form-control",id:"domain",required:!0,name:"v_domain"})),c.a.createElement("div",{className:"form-group"},c.a.createElement("label",{htmlFor:"ip_address"},null!==(r=m["IP address"])&&void 0!==r?r:"IP address"),c.a.createElement("input",{type:"text",className:"form-control",id:"ip_address",required:!0,name:"v_ip"})),c.a.createElement("div",{className:"form-group advanced-options-button"},c.a.createElement("button",{type:"button",onClick:function(){h(Object(u.a)(Object(u.a)({},b),{},{showAdvancedOptions:!b.showAdvancedOptions}))}},null!==(l=m["Advanced options"])&&void 0!==l?l:"Advanced options",b.showAdvancedOptions?c.a.createElement(W.a,{icon:"caret-down"}):c.a.createElement(W.a,{icon:"caret-up"}))),function(){if(b.showAdvancedOptions)return c.a.createElement(nn,{prefixI18N:b.prefixI18N,userNS:b.userNS,domain:b.domain,webStats:b.webStats})}(),c.a.createElement("div",{className:"buttons-wrapper"},c.a.createElement("button",{type:"submit",className:"add"},null!==(s=m.Add)&&void 0!==s?s:"Add"),c.a.createElement("button",{type:"button",className:"back",onClick:function(){return p.push("/list/dns/")}},null!==(i=m.Back)&&void 0!==i?i:"Back")))))};a(253);function rn(e){var t=Object(o.d)((function(e){return e.session})).i18n,a=Object(o.c)(),r=localStorage.getItem("token"),l=Object(R.g)(),s=Object(n.useState)({data:{},selectOptions:["A","AAAA","NS","CNAME","MX","TXT","SRV","DNSKEY","KEY","IPSECKEY","PTR","SPF","TLSA","CAA"],loading:!1,okMessage:"",errorMessage:""}),i=Object(A.a)(s,2),m=i[0],d=i[1];Object(n.useEffect)((function(){a(Be("/list/dns/")),a({type:"REMOVE_FOCUSED_ELEMENT",value:""})}),[]);var E=function(t){t.preventDefault();var n,c={},l=Object(We.a)(new FormData(t.target).entries());try{for(l.s();!(n=l.n()).done;){var o=Object(A.a)(n.value,2),s=o[0],i=o[1];c[s]=i}}catch(E){l.e(E)}finally{l.f()}c.ok_rec="add",c.token=r,c.v_domain=e.domain,0!==Object.keys(c).length&&c.constructor===Object&&(d(Object(u.a)(Object(u.a)({},m),{},{loading:!0})),function(e){var t=new FormData;for(var a in e)t.append(a,e[a]);return be.a.post(Ra+"/api/v1/add/dns/index.php",t)}(c).then((function(e){if(200===e.status){var t=e.data,n=t.error_msg,c=t.ok_msg;n?d(Object(u.a)(Object(u.a)({},m),{},{errorMessage:n,okMessage:c,loading:!1})):a(et()).then((function(){d(Object(u.a)(Object(u.a)({},m),{},{okMessage:c,errorMessage:"",loading:!1}))}))}})).catch((function(e){return console.error(e)})))};return c.a.createElement("div",{className:"edit-template add-dns-record"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(t.DNS))),c.a.createElement(Xe,{mobile:!1},c.a.createElement("div",null),c.a.createElement("div",{className:"search-toolbar-name"},t["Adding DNS Record"]),c.a.createElement("div",{className:"error"},c.a.createElement("span",{className:"error-message"},m.errorMessage?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):"",m.errorMessage)),c.a.createElement("div",{className:"success"},c.a.createElement("span",{className:"ok-message"},m.okMessage?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):"",c.a.createElement("span",null,at()(m.okMessage))))),c.a.createElement(Qe,null,m.loading?c.a.createElement(P,null):c.a.createElement("form",{onSubmit:function(e){return E(e)}},c.a.createElement(ze,{title:t.Domain,value:e.domain,name:"v_domain",id:"domain",disabled:!0}),c.a.createElement(ze,{title:t.Record,name:"v_rec",id:"domain"}),c.a.createElement(Je,{options:m.selectOptions,title:t.Type,name:"v_type",id:"type"}),c.a.createElement(ze,{title:t["IP or Value"],name:"v_val",id:"val"}),c.a.createElement(ze,{optionalTitle:"(".concat(t.optional,")"),title:t.Priority,name:"v_priority",id:"priority"}),c.a.createElement("div",{className:"buttons-wrapper"},c.a.createElement("button",{type:"submit",className:"add"},t.Add),c.a.createElement("button",{type:"button",className:"back",onClick:function(){return l.push("/list/dns/?domain=".concat(e.domain))}},t.Back)))))}function ln(){var e=Object(o.d)((function(e){return e.session})).i18n,t=Object(R.g)(),a=ge.a.parse(t.location.search,{ignoreQueryPrefix:!0}),r=Object(n.useState)(!1),l=Object(A.a)(r,2),s=l[0],i=l[1];return Object(n.useEffect)((function(){a.domain?i(!0):i(!1)}),[t.location]),c.a.createElement(c.a.Fragment,null,c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(e.DNS))),s?c.a.createElement(rn,{domain:a.domain}):c.a.createElement(cn,null))}a(254);function on(e){var t=e.data,a=e.checkItemFunc,n=void 0===a?function(){}:a,r=e.restoreSetting,l=void 0===r?function(){}:r,s=Object(o.d)((function(e){return e.session})).i18n;return c.a.createElement(Nt,{date:!1,id:t.NAME,focused:t.FOCUSED,checked:t.isChecked,checkItem:function(){n(t.NAME)}},c.a.createElement(Ge,{className:"r-col w-85"},c.a.createElement("div",{className:"stats"},c.a.createElement(Ge,{className:"c-1"},c.a.createElement("div",{style:{textTransform:"uppercase"}},function(e){switch(e){case"WEB":return"WEB ".concat(s.domain);case"MAIL":return"MAIL ".concat(s.domain);case"DNS":return"DNS ".concat(s.domain);case"CRON":return s.cron;case"UDIR":return s["user dir"];default:return s.domain}}(t.type))),c.a.createElement(Ge,{className:"c-2"},c.a.createElement("b",null,t.name)),c.a.createElement(Ge,{className:"c-3"}),c.a.createElement(Ge,{className:"c-4"}),c.a.createElement(Ge,{className:"c-5"}))),c.a.createElement("div",{className:"actions"},c.a.createElement("div",null,c.a.createElement("button",{className:"link-restore",onClick:function(){return l(t.restoreLinkParams)}},s.restore,t.FOCUSED?c.a.createElement("span",{className:"shortcut-button"},"R"):c.a.createElement(W.a,{icon:"play"})))))}a(255);function sn(e){var t=Object(o.d)((function(e){return e.session})).i18n,a=Object(o.d)((function(e){return e.controlPanelContent})).controlPanelFocusedElement,r=Object(o.d)((function(e){return e.mainNavigation})).focusedElement,l=Object(o.c)(),s=Object(n.useState)([]),i=Object(A.a)(s,2),m=i[0],d=i[1],E=Object(n.useState)({text:"",visible:!1}),p=Object(A.a)(E,2),v=p[0],f=p[1],b=Object(n.useState)({loading:!1,backupDetails:[],toggledAll:!1,selection:[],totalAmount:""}),h=Object(A.a)(b,2),g=h[0],O=h[1];Object(n.useEffect)((function(){return l({type:"REMOVE_CPANEL_FOCUSED_ELEMENT",value:""}),w(),function(){return l({type:"REMOVE_CPANEL_FOCUSED_ELEMENT",value:""})}}),[]),Object(n.useEffect)((function(){return window.addEventListener("keydown",N),window.addEventListener("keydown",_),function(){window.removeEventListener("keydown",N),window.removeEventListener("keydown",_)}}),[a,r,m]);var N=function(t){65!==t.keyCode?(38!==t.keyCode&&40!==t.keyCode||r&&l({type:"REMOVE_FOCUSED_ELEMENT",value:""}),38===t.keyCode?(t.preventDefault(),k()):40===t.keyCode&&(t.preventDefault(),y())):S("?backup=".concat(e.backup))},j=function(e){e[0].FOCUSED=e[0].NAME,d(e),l(vt(e[0].NAME))},y=function(){var e=Object(I.a)(m);if(""!==a){var t=e[a+1];t&&(e[a].FOCUSED="",t.FOCUSED=t.NAME,document.getElementById(t.NAME).scrollIntoView({behavior:"smooth",block:"center"}),d(e),l(vt(t.NAME)))}else j(e)},k=function(){var e=Object(I.a)(m);if(""!==a){var t=e[a-1];t&&(e[a].FOCUSED="",t.FOCUSED=t.NAME,document.getElementById(t.NAME).scrollIntoView({behavior:"smooth",block:"center"}),d(e),l(vt(t.NAME)))}else j(e)},_=function(e){var t=document.querySelector("input:focus")||document.querySelector("textarea:focus");if(a>0||""!==a&&!t)switch(e.keyCode){case 82:return S()}},S=function(e){(function(e){return be.a.get(Et+"".concat("/api/v1/schedule/restore/index.php").concat(e))})(e||m[a].restoreLinkParams).then((function(e){return F(e.data.message)})).catch((function(e){return console.error(e)}))},w=function(){var t;O(Object(u.a)(Object(u.a)({},g),{},{loading:!0})),(t=e.backup,be.a.get(Et+"".concat("/api/v1/list/backup/index.php","?backup=").concat(t))).then((function(t){C(t.data.data[e.backup]),O(Object(u.a)(Object(u.a)({},g),{},{totalAmount:t.data.totalAmount,selection:[],toggledAll:!1,loading:!1}))})).catch((function(e){return console.error(e)}))},C=function(t){var a=["WEB","DNS","MAIL","DB","UDIR","CRON"].reduce((function(a,n){return t[n].split(",").map((function(t){a.push({type:n,name:t,restoreLinkParams:"?backup=".concat(e.backup,"&type=").concat(n.toLowerCase(),"&object=").concat(t)})})),a}),[]);d(a)},D=function(e){var t=g.selection,a=Object(I.a)(t),n=Object(I.a)(m),c=a.indexOf(e),r=n.findIndex((function(t){return t.NAME===e}));n[r].isChecked=!n[r].isChecked,-1!==c?a.splice(n[e].name,1):a.push(n[e].name),O(Object(u.a)(Object(u.a)({},g),{},{selection:a})),d(n)},M=function(e){var t=Object(I.a)(m);if(e){var a=[],n=t.map((function(e){return a.push(e.name),e.isChecked=!0,e}));O(Object(u.a)(Object(u.a)({},g),{},{selection:a,toggledAll:e})),d(n)}else{var c=t.map((function(e){return e.isChecked=!1,e}));O(Object(u.a)(Object(u.a)({},g),{},{selection:[],toggledAll:e})),d(c)}},F=function(e){O(Object(u.a)(Object(u.a)({},g),{},{loading:!1})),f(Object(u.a)(Object(u.a)({},v),{},{visible:!0,text:e}))};return c.a.createElement("div",{className:"mail-accounts backups-restore-settings"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(t.BACKUP))),c.a.createElement(Xe,{mobile:!1},c.a.createElement(yt,{name:t["Restore All"],list:"backup-details",onClick:function(){return S("?backup=".concat(e.backup))},showLeftMenu:!0}),c.a.createElement("div",{className:"r-menu"},c.a.createElement("div",{className:"input-group input-group-sm"},c.a.createElement(kt,{toggleAll:M,toggled:g.toggledAll}),c.a.createElement(_t,{list:"backupDetailList",bulkAction:function(t){var a=g.selection;a.length&&t&&(O(Object(u.a)(Object(u.a)({},g),{},{loading:!0})),function(e,t,a){var n=new FormData;return n.append("token",He()),n.append("action",e),n.append("backup",a),t.forEach((function(e){n.append("udir[]",e)})),be.a.post(Et+"".concat("/api/v1/bulk/restore/index.php"),n)}(t,a,e.backup).then((function(e){200===e.status&&(F(e.data.message),M(!1))})).catch((function(e){return console.error(e)})))}}),c.a.createElement(bt,{handleSearchTerm:function(t){return e.changeSearchTerm(t)}})))),g.loading?c.a.createElement(P,null):c.a.createElement(c.a.Fragment,null,c.a.createElement("div",{className:"mail-accounts-wrapper"},c.a.createElement("div",{className:"subtitle"},c.a.createElement("span",null,"".concat(t.Listing," ").concat(e.backup))),function(){var e=Object(I.a)(m),t=[];return e.forEach((function(e,n){e.NAME=n,e.FOCUSED=a===n,t.push(e)})),t.map((function(e,t){return c.a.createElement(on,{data:e,key:t,checkItemFunc:function(e){return D(e)},restoreSetting:S})}))}()),c.a.createElement("div",{className:"footer-actions-wrapper"},c.a.createElement("div",{className:"total"},g.totalAmount),c.a.createElement("div",{className:"back"},c.a.createElement(pe.b,{to:"/list/backup/"},t.Back)))),c.a.createElement(St,{onSave:function(){f(Object(u.a)(Object(u.a)({},v),{},{visible:!1,text:""}))},showCancelButton:!1,show:v.visible,text:v.text}))}a(256);var un=function(e){var t=e.data,a=Object(o.d)((function(e){return e.session})).i18n,n=localStorage.getItem("token");return c.a.createElement(Nt,{id:t.NAME,date:t.DATE,toggleFav:function(t){t?e.toggleFav(e.data.NAME,"add"):e.toggleFav(e.data.NAME,"delete")},checkItem:function(){e.checkItem(e.data.NAME)},focused:t.FOCUSED,starred:t.STARRED,checked:t.isChecked},c.a.createElement(Ge,{className:"r-col w-85"},c.a.createElement("div",{className:"name"},t.NAME),c.a.createElement("div",{className:"stats"},c.a.createElement(Ge,{className:"c-1"},c.a.createElement("div",null,a["Backup Size"],": ",c.a.createElement("span",null,c.a.createElement("span",{className:"stat"},t.SIZE),a.mb))),c.a.createElement(Ge,{className:"c-2"},c.a.createElement("div",null,a.Type,": ",c.a.createElement("span",{className:"stat"},t.TYPE))),c.a.createElement(Ge,{className:"c-3"},c.a.createElement("div",null,a["Run Time"],": ",c.a.createElement("span",{className:"stat"},t.RUNTIME," minute"))))),c.a.createElement("div",{className:"actions"},"no"===t.UPDATED&&c.a.createElement("div",null,c.a.createElement("a",{href:"/update/vesta/?pkg=".concat(t.NAME)},a.update," ",c.a.createElement(W.a,{icon:"wrench"}))),c.a.createElement("div",null,c.a.createElement("a",{className:"link-download",href:"/api/v1/download/backup/?backup=".concat(t.NAME,"&token=").concat(n)},a.download,t.FOCUSED?c.a.createElement("span",{className:"shortcut-button"},"D"):c.a.createElement(W.a,{icon:Re.r}))),c.a.createElement("div",null,c.a.createElement(pe.b,{className:"link-download",to:"/list/backup?backup=".concat(t.NAME)},a["configure restore settings"],t.FOCUSED?c.a.createElement("span",{className:"shortcut-button html-unicode"},"\u21a9"):c.a.createElement(W.a,{icon:"list"}))),c.a.createElement("div",null,c.a.createElement("button",{className:"link-delete",onClick:function(){e.handleModal(t.delete_conf,"/api/v1/delete/backup/?backup=".concat(t.NAME))}},a.Delete,t.FOCUSED?c.a.createElement("span",{className:"shortcut-button del"},"Del"):c.a.createElement(W.a,{icon:"times"})))))},mn=(a(257),function(e){var t=Object(o.d)((function(e){return e.session})).i18n,a=Object(o.d)((function(e){return e.controlPanelContent})).controlPanelFocusedElement,r=Object(o.d)((function(e){return e.mainNavigation})).focusedElement,l=Object(o.c)(),s=Object(n.useState)(!1),i=Object(A.a)(s,2),m=i[0],d=i[1],E=Object(n.useState)({text:"",visible:!1,actionUrl:""}),p=Object(A.a)(E,2),v=p[0],f=p[1],b=Object(n.useState)({backups:[],backupFav:[],toggledAll:!1,selection:[],totalAmount:""}),h=Object(A.a)(b,2),g=h[0],O=h[1];Object(n.useEffect)((function(){return l(Be("/list/backup/")),l({type:"REMOVE_FOCUSED_ELEMENT",value:""}),l({type:"REMOVE_CPANEL_FOCUSED_ELEMENT",value:""}),D().then((function(){return d(!1)})),function(){l({type:"REMOVE_CPANEL_FOCUSED_ELEMENT",value:""})}}),[]),Object(n.useEffect)((function(){return window.addEventListener("keydown",N),window.addEventListener("keydown",_),function(){window.removeEventListener("keydown",N),window.removeEventListener("keydown",_)}}),[a,r,g.backups]);var N=function(e){38!==e.keyCode&&40!==e.keyCode||r&&l({type:"REMOVE_FOCUSED_ELEMENT",value:""}),38===e.keyCode?(e.preventDefault(),k()):40===e.keyCode&&(e.preventDefault(),y())},j=function(e){e[0].FOCUSED=e[0].NAME,O(Object(u.a)(Object(u.a)({},g),{},{backups:e})),l(vt(e[0].NAME))},y=function(){var e=Object(I.a)(g.backups);if(""!==a){var t=e.findIndex((function(e){return e.NAME===a}));if(t!==e.length-1){var n=e[t+1];e[t].FOCUSED="",n.FOCUSED=n.NAME,document.getElementById(n.NAME).scrollIntoView({behavior:"smooth",block:"center"}),O(Object(u.a)(Object(u.a)({},g),{},{backups:e})),l(vt(n.NAME))}}else j(e)},k=function(){var e=Object(I.a)(g.backups);if(""!==a){var t=e.findIndex((function(e){return e.NAME===a}));if(0!==t){var n=e[t-1];e[t].FOCUSED="",n.FOCUSED=n.NAME,document.getElementById(n.NAME).scrollIntoView({behavior:"smooth",block:"center"}),O(Object(u.a)(Object(u.a)({},g),{},{backups:e})),l(vt(n.NAME))}}else j(e)},_=function(e){var t=document.querySelector("input:focus")||document.querySelector("textarea:focus");if(a&&!t)switch(e.keyCode){case 8:return C();case 13:return S();case 68:return w()}},S=function(){e.history.push("/list/backup?backup=".concat(a))},w=function(){window.open("/api/v1/download/backup?backup=".concat(a))},C=function(){var e=g.backups.filter((function(e){return e.NAME===a}))[0];L(e.delete_conf,"/api/v1/delete/cron/?job=".concat(a))},D=function(){return d(!0),new Promise((function(e,t){be.a.get(Et+"/api/v1/list/backup/index.php").then((function(t){O(Object(u.a)(Object(u.a)({},g),{},{backups:M(t.data.data),backupFav:t.data.backup_fav,totalAmount:t.data.totalAmount,selection:[],toggledAll:!1})),e()})).catch((function(e){return console.error(e)}))}))},M=function(e){var t=[];for(var n in e)e[n].NAME=n,e[n].isChecked=!1,e[n].FOCUSED=a===n,t.push(e[n]);return t},F=function(e){var t=g.selection,a=g.backups,n=Object(I.a)(t),c=Object(I.a)(a),r=n.indexOf(e),l=c.findIndex((function(t){return t.NAME===e}));c[l].isChecked=!c[l].isChecked,-1!==r?n.splice(r,1):n.push(e),O(Object(u.a)(Object(u.a)({},g),{},{backups:c,selection:n}))},x=function(e,t){var a=g.backupFav;"add"===t?(a[e]=1,gt(e,"backup").then((function(){O(Object(u.a)(Object(u.a)({},g),{},{backupFav:a}))})).catch((function(e){console.error(e)}))):(a[e]=void 0,Ot(e,"backup").then((function(){O(Object(u.a)(Object(u.a)({},g),{},{backupFav:a}))})).catch((function(e){console.error(e)})))},T=function(e){var t=Object(I.a)(g.backups);if(e){var a=[],n=t.map((function(e){return a.push(e.NAME),e.isChecked=!0,e}));O(Object(u.a)(Object(u.a)({},g),{},{backups:n,selection:a,toggledAll:e}))}else{var c=t.map((function(e){return e.isChecked=!1,e}));O(Object(u.a)(Object(u.a)({},g),{},{backups:c,selection:[],toggledAll:e}))}},L=function(e,t){d(!1),f(Object(u.a)(Object(u.a)({},v),{},{visible:!0,text:e,actionUrl:t}))},U=function(){l(et()).then((function(){return d(!1)}))},R=function(){f(Object(u.a)(Object(u.a)({},v),{},{visible:!1,text:"",actionUrl:""}))};return c.a.createElement("div",{className:"backups"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(t.BACKUP))),c.a.createElement(Xe,{mobile:!1},c.a.createElement("div",{className:"l-menu"},c.a.createElement("button",{onClick:function(){d(!0),be.a.get(Et+"/api/v1/schedule/backup/").then((function(e){e.data.error?L(e.data.error,""):L(e.data.ok,"")})).catch((function(e){return console.error(e)}))}},c.a.createElement(W.a,{icon:"plus"}),c.a.createElement("span",{className:"add"},t["Create Backup"]))),c.a.createElement("div",{className:"r-menu"},c.a.createElement("div",{className:"input-group input-group-sm"},c.a.createElement(pe.b,{to:"/list/backup/exclusions",className:"button-extra",type:"submit"},t["backup exclusions"]),c.a.createElement(kt,{toggleAll:T,toggled:g.toggledAll}),c.a.createElement(_t,{list:"backupList",bulkAction:function(e){var t=g.selection;t.length&&e&&(d(!0),function(e,t){var a=new FormData;return a.append("action",e),a.append("token",He()),t.forEach((function(e){a.append("backup[]",e)})),be.a.post(Et+"/api/v1/bulk/backup/",a)}(e,t).then((function(e){200===e.status&&(T(!1),D().then((function(){return U()})))})).catch((function(e){return console.error(e)})))}}),c.a.createElement(bt,{handleSearchTerm:function(t){return e.changeSearchTerm(t)}})))),c.a.createElement("div",{className:"backups-wrapper"},m?c.a.createElement(P,null):c.a.createElement(c.a.Fragment,null,function(){var e=g.backups,t=[],n=Object(u.a)({},g.backupFav);return e.forEach((function(e){e.FOCUSED=a===e.NAME,n[e.NAME]?e.STARRED=n[e.NAME]:e.STARRED=0,t.push(e)})),t.map((function(e,t){return c.a.createElement(un,{data:e,key:t,toggleFav:x,checkItem:F,handleModal:L})}))}(),c.a.createElement("div",{className:"total"},g.totalAmount))),c.a.createElement(St,{onSave:function(){if(!v.actionUrl)return R();var e;R(),d(!0),(e=v.actionUrl,be.a.get(Et+e,{params:{token:He()}})).then((function(e){if(e.data.error)return d(!1),L(e.data.error,"");D().then((function(){return U()}))})).catch((function(e){d(!1),console.error(e)}))},onCancel:R,show:v.visible,text:v.text}))});function dn(e){var t=Object(o.d)((function(e){return e.session})).i18n,a=Object(R.g)(),r=ge.a.parse(a.location.search,{ignoreQueryPrefix:!0}),l=Object(n.useState)(!1),s=Object(A.a)(l,2),i=s[0],u=s[1];return Object(n.useEffect)((function(){r.backup?u(!0):u(!1)}),[a.location]),c.a.createElement(c.a.Fragment,null,c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(t.DNS))),i?c.a.createElement(sn,{backup:r.backup}):c.a.createElement(mn,Object.assign({},e,{changeSearchTerm:e.changeSearchTerm})))}var En=function(){var e=Object(o.d)((function(e){return e.session})).i18n,t=localStorage.getItem("language"),a=Object(R.g)(),r=Object(o.c)(),l=Object(n.useState)({banIps:[],errorMessage:"",okMessage:"",loading:!1}),s=Object(A.a)(l,2),i=s[0],m=s[1];Object(n.useEffect)((function(){r(Be("/list/firewall/")),r({type:"REMOVE_FOCUSED_ELEMENT",value:""}),m(Object(u.a)(Object(u.a)({},i),{},{loading:!0})),function(e){var t=new FormData;for(var a in e)t.append(a,e[a]);return be.a.get(Wt+qt,{params:{token:He()}})}().then((function(e){m(Object(u.a)(Object(u.a)({},i),{},{ip:e.data.ip,chain:e.data.chain,loading:!1}))}))}),[]);var d=function(e){e.preventDefault();var t,a={},n=Object(We.a)(new FormData(e.target).entries());try{for(n.s();!(t=n.n()).done;){var c=Object(A.a)(t.value,2),r=c[0],l=c[1];a[r]=l}}catch(o){n.e(o)}finally{n.f()}0!==Object.keys(a).length&&a.constructor===Object&&(m(Object(u.a)(Object(u.a)({},i),{},{loading:!0})),function(e){var t=new FormData;for(var a in t.append("token",He()),e)t.append(a,e[a]);return be.a.post(Wt+qt,t,{params:{token:He()}})}(a).then((function(e){if(200===e.status){var t=e.data,a=t.error_msg,n=t.ok_msg;m(a?Object(u.a)(Object(u.a)({},i),{},{errorMessage:a,okMessage:"",loading:!1}):n?Object(u.a)(Object(u.a)({},i),{},{errorMessage:"",okMessage:n,loading:!1}):Object(u.a)(Object(u.a)({},i),{},{loading:!1}))}})).catch((function(e){return console.error(e)})))};return c.a.createElement("div",{className:"edit-template add-user"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(e.FIREWALL))),c.a.createElement(Xe,{mobile:!1},c.a.createElement("div",null),c.a.createElement("div",{className:"search-toolbar-name"},e["Adding IP Address to Banlist"]),c.a.createElement("div",{className:"error"},c.a.createElement("span",{className:"error-message"},i.errorMessage?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):""," ",i.errorMessage)),c.a.createElement("div",{className:"success"},c.a.createElement("span",{className:"ok-message"},i.okMessage?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):""," ",c.a.createElement("span",null,at()(i.okMessage))," "))),c.a.createElement(Qe,null,i.loading?c.a.createElement(P,null):c.a.createElement("form",{onSubmit:function(e){return d(e)},id:"add-user"},c.a.createElement("input",{type:"hidden",name:"ok",value:"add"}),c.a.createElement("div",{class:"form-group"},c.a.createElement("label",{htmlFor:"chain"},e.Banlist),c.a.createElement("select",{class:"form-control",id:"chain",name:"v_chain"},["SSH","WEB","FTP","DNS","MAIL","DB","VESTA"].map((function(e,a){return c.a.createElement("option",{key:a,selected:t===e,value:e},e)})))),c.a.createElement("div",{className:"form-group exp-date"},c.a.createElement("label",{htmlFor:"ip"},e["IP address"],c.a.createElement("span",{className:"optional"},"(",e["CIDR format is supported"],")")),c.a.createElement("input",{type:"text",className:"form-control",id:"ip",required:!0,name:"v_ip"})),c.a.createElement("div",{className:"buttons-wrapper"},c.a.createElement("button",{type:"submit",className:"add"},e.Add),c.a.createElement("button",{type:"button",className:"back",onClick:function(){return a.push("/list/firewall/banlist")}},e.Back)))))},pn=(a(258),function(e){var t=e.data,a=Object(o.d)((function(e){return e.session})).i18n;localStorage.getItem("token");return c.a.createElement(Nt,{id:t.NAME,date:t.DATE,checkItem:function(){e.checkItem(e.data.NAME)},toggleFav:function(t){t?e.toggleFav(e.data.NAME,"add"):e.toggleFav(e.data.NAME,"delete")},focused:t.FOCUSED,starred:t.STARRED,checked:t.isChecked,suspended:"yes"===t.SUSPENDED},c.a.createElement(Ge,{className:"cron-jobs-list r-col w-85"},c.a.createElement("div",{className:"name"},t.CMD),c.a.createElement("div",{className:"stats"},c.a.createElement(Ge,{className:"cron-col"},c.a.createElement("div",null,a.Min," ",c.a.createElement("span",null,t.MIN))),c.a.createElement(Ge,{className:"cron-col"},c.a.createElement("div",null,a.Hour," ",c.a.createElement("span",null,t.HOUR))),c.a.createElement(Ge,{className:"cron-col"},c.a.createElement("div",null,a.Day," ",c.a.createElement("span",null,t.DAY))),c.a.createElement(Ge,{className:"cron-col"},c.a.createElement("div",null,a.Month," ",c.a.createElement("span",null,t.MONTH))),c.a.createElement(Ge,{className:"cron-col"},c.a.createElement("div",null,a["Day of week"]," ",c.a.createElement("span",null,t.WDAY))))),c.a.createElement("div",{className:"actions"},c.a.createElement("div",null,c.a.createElement(pe.b,{className:"link-edit",to:"/edit/cron/?job=".concat(t.NAME)},a.edit,t.FOCUSED?c.a.createElement("span",{className:"shortcut-button html-unicode"},"\u21a9"):c.a.createElement(W.a,{icon:"pen"}))),c.a.createElement("div",null,c.a.createElement("button",{className:"link-gray",onClick:function(){return function(){var a="yes"===t.SUSPENDED?"unsuspend":"suspend";e.handleModal(t.suspend_conf,"/api/v1/".concat(a,"/cron/index.php?job=").concat(t.NAME))}()}},a[t.suspend_action],t.FOCUSED?c.a.createElement("span",{className:"shortcut-button"},"S"):c.a.createElement(W.a,{icon:"yes"===t.SUSPENDED?"unlock":"lock"}))),c.a.createElement("div",null,c.a.createElement("button",{className:"link-delete",onClick:function(){e.handleModal(t.delete_conf,"/api/v1/delete/cron/index.php?job=".concat(t.NAME))}},a.Delete,t.FOCUSED?c.a.createElement("span",{className:"shortcut-button del"},"Del"):c.a.createElement(W.a,{icon:"times"})))))}),vn=(a(259),function(e){var t=Object(o.d)((function(e){return e.session})).i18n,a=Object(o.d)((function(e){return e.controlPanelContent})).controlPanelFocusedElement,r=Object(o.d)((function(e){return e.mainNavigation})).focusedElement,l=Object(o.c)(),s=Object(n.useState)(!1),i=Object(A.a)(s,2),m=i[0],d=i[1],E=Object(n.useState)({text:"",visible:!1,actionUrl:""}),p=Object(A.a)(E,2),v=p[0],f=p[1],b=Object(n.useState)({cronJobs:[],cronFav:[],toggledAll:!1,cronReports:"",sorting:t.Date,order:"descending",selection:[],totalAmount:""}),h=Object(A.a)(b,2),g=h[0],O=h[1];Object(n.useEffect)((function(){return l(Be("/list/cron/")),l({type:"REMOVE_FOCUSED_ELEMENT",value:""}),l({type:"REMOVE_CPANEL_FOCUSED_ELEMENT",value:""}),D().then((function(){return d(!1)})),function(){l({type:"REMOVE_CPANEL_FOCUSED_ELEMENT",value:""})}}),[]),Object(n.useEffect)((function(){return window.addEventListener("keydown",N),window.addEventListener("keydown",_),function(){window.removeEventListener("keydown",N),window.removeEventListener("keydown",_)}}),[a,r,g.cronJobs]);var N=function(e){38!==e.keyCode&&40!==e.keyCode||r&&l({type:"REMOVE_FOCUSED_ELEMENT",value:""}),38===e.keyCode?(e.preventDefault(),k()):40===e.keyCode&&(e.preventDefault(),y())},j=function(e){e[0].FOCUSED=e[0].NAME,O(Object(u.a)(Object(u.a)({},g),{},{cronJobs:e})),l(vt(e[0].NAME))},y=function(){var e=Object(I.a)(g.cronJobs);if(""!==a){var t=e.findIndex((function(e){return e.NAME===a}));if(t!==e.length-1){var n=e[t+1];e[t].FOCUSED="",n.FOCUSED=n.NAME,document.getElementById(n.NAME).scrollIntoView({behavior:"smooth",block:"center"}),O(Object(u.a)(Object(u.a)({},g),{},{cronJobs:e})),l(vt(n.NAME))}}else j(e)},k=function(){var e=Object(I.a)(g.cronJobs);if(""!==a){var t=e.findIndex((function(e){return e.NAME===a}));if(0!==t){var n=e[t-1];e[t].FOCUSED="",n.FOCUSED=n.NAME,document.getElementById(n.NAME).scrollIntoView({behavior:"smooth",block:"center"}),O(Object(u.a)(Object(u.a)({},g),{},{cronJobs:e})),l(vt(n.NAME))}}else j(e)},_=function(e){var t=document.querySelector("input:focus")||document.querySelector("textarea:focus");if(a&&!t)switch(e.keyCode){case 8:return C();case 13:return S();case 83:return w()}},S=function(){e.history.push("/edit/cron?job=".concat(a))},w=function(){var e=g.cronJobs.filter((function(e){return e.NAME===a}))[0],t="yes"===e.SUSPENDED?"unsuspend":"suspend";R(e.suspend_conf,"/api/v1/".concat(t,"/cron/index.php?job=").concat(a))},C=function(){var e=g.cronJobs.filter((function(e){return e.NAME===a}))[0];R(e.delete_conf,"/api/v1/delete/cron/index.php?job=".concat(a))},D=function(){return d(!0),new Promise((function(e,t){be.a.get(Gt+"/api/v1/list/cron/index.php").then((function(t){O(Object(u.a)(Object(u.a)({},g),{},{cronJobs:M(t.data.data),cronReports:t.data.cron_reports,cronFav:t.data.cron_fav,selection:[],toggledAll:!1,totalAmount:t.data.totalAmount})),e()})).catch((function(e){return console.error(e)}))}))},M=function(e){var t=[];for(var n in e)e[n].NAME=n,e[n].isChecked=!1,e[n].FOCUSED=a===n,t.push(e[n]);return t},F=function(e){var t=g.selection,a=g.cronJobs,n=Object(I.a)(t),c=a,r=n.indexOf(e),l=c.findIndex((function(t){return t.NAME===e}));c[l].isChecked=!c[l].isChecked,-1!==r?n.splice(r,1):n.push(e),O(Object(u.a)(Object(u.a)({},g),{},{cronJobs:c,selection:n}))},x=function(e){var t=g.order,a=g.sorting,n=T(a);return"descending"===t?e.sort((function(e,t){return e[n]t[n]?1:t[n]>e[n]?-1:0}))},T=function(e){var a=t.Date,n=t.Command,c=t.Starred;switch(e){case a:return"DATE";case n:return"CMD";case c:return"STARRED"}},L=function(e,t){var a=g.cronFav;"add"===t?(a[e]=1,gt(e,"cron").then((function(){O(Object(u.a)(Object(u.a)({},g),{},{cronFav:a}))})).catch((function(e){console.error(e)}))):(a[e]=void 0,Ot(e,"cron").then((function(){O(Object(u.a)(Object(u.a)({},g),{},{cronFav:a}))})).catch((function(e){console.error(e)})))},U=function(e){var t=Object(I.a)(g.cronJobs);if(e){var a=[],n=t.map((function(e){return a.push(e.NAME),e.isChecked=!0,e}));O(Object(u.a)(Object(u.a)({},g),{},{cronJobs:n,selection:a,toggledAll:e}))}else{var c=t.map((function(e){return e.isChecked=!1,e}));O(Object(u.a)(Object(u.a)({},g),{},{cronJobs:c,selection:[],toggledAll:e}))}},R=function(e,t){f(Object(u.a)(Object(u.a)({},v),{},{visible:!g.modalVisible,text:e,actionUrl:t}))},V=function(){l(et()).then((function(){return d(!1)}))},B=function(){f(Object(u.a)(Object(u.a)({},v),{},{visible:!1,text:"",actionUrl:""}))},W=function(){var e=localStorage.getItem("token"),t="/api/v1/".concat("yes"===g.cronReports?"delete":"add","/cron/reports/?token=").concat(e);Qt(t).then((function(e){R(e.data.message,""),D().then((function(){return d(!1)}))})).catch((function(e){return console.error(e)}))};return c.a.createElement("div",{className:"cronJobs"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(t.CRON))),c.a.createElement(Xe,{mobile:!1},c.a.createElement(yt,{name:t["Add Cron Job"],href:"/add/cron",showLeftMenu:!0}),c.a.createElement("div",{className:"r-menu"},c.a.createElement("div",{className:"input-group input-group-sm"},c.a.createElement("button",{onClick:W,className:"button-extra",type:"submit"},"yes"===g.cronReports?t["turn off notifications"]:t["turn on notifications"]),c.a.createElement(kt,{toggleAll:U,toggled:g.toggledAll}),c.a.createElement(_t,{list:"cronList",bulkAction:function(e){var t=g.selection;if(e===("yes"===g.cronReports?"delete-cron-reports":"add-cron-reports"))return W();t.length&&e&&(d(!0),function(e,t){var a=new FormData;return a.append("action",e),a.append("token",He()),t.forEach((function(e){a.append("job[]",e)})),be.a.post(Gt+"/api/v1/bulk/cron/",a)}(e,t).then((function(e){200===e.status&&(U(!1),D().then((function(){return V()})))})).catch((function(e){return console.error(e)})))},cronReports:"yes"===g.cronReports}),c.a.createElement(ft,{changeSorting:function(e,t){O(Object(u.a)(Object(u.a)({},g),{},{sorting:e,order:t}))},sorting:g.sorting,order:g.order,list:"cronList"}),c.a.createElement(bt,{handleSearchTerm:function(t){return e.changeSearchTerm(t)}})))),c.a.createElement("div",{className:"cron-wrapper"},m?c.a.createElement(P,null):c.a.createElement(c.a.Fragment,null,function(){var e=g.cronJobs,t=[],n=Object(u.a)({},g.cronFav);return e.forEach((function(e){e.FOCUSED=a===e.NAME,n[e.NAME]?e.STARRED=n[e.NAME]:e.STARRED=0,t.push(e)})),x(t).map((function(e,t){return c.a.createElement(pn,{data:e,key:t,toggleFav:L,checkItem:F,handleModal:R})}))}(),c.a.createElement("div",{className:"total"},g.totalAmount))),c.a.createElement(St,{showCancelButton:v.actionUrl,onCancel:B,onSave:function(){if(!v.actionUrl)return B();B(),d(!0),Qt(v.actionUrl).then((function(e){if(e.data.error)return d(!1),R(e.data.error,"");D().then((function(){return V()}))})).catch((function(e){d(!1),console.error(e)}))},show:v.visible,text:v.text}))}),fn=(a(260),function(e){var t=e.data,a=Object(o.d)((function(e){return e.session})).i18n,n=Object(o.d)((function(e){return e.userSession})).session;return c.a.createElement(Nt,{id:t.NAME,date:t.DATE,toggleFav:function(a){a?e.toggleFav(t.NAME,"add"):e.toggleFav(t.NAME,"delete")},checkItem:function(){e.checkItem(t.NAME)},starred:t.STARRED,focused:t.FOCUSED,checked:t.isChecked},c.a.createElement(Ge,{className:"r-col w-85"},c.a.createElement("div",{className:"name"},t.NAME),c.a.createElement("div",null,t.FNAME," ",t.LNAME),c.a.createElement("div",{className:"stats"},c.a.createElement(Ge,{className:"c-1 w-30"},c.a.createElement("div",null,a["Web Template"],": ",c.a.createElement("span",null,c.a.createElement("span",{className:"stat"},t.WEB_TEMPLATE))),n.PROXY_SYSTEM&&c.a.createElement("div",null,a["Proxy Template"],": ",c.a.createElement("span",null,c.a.createElement("span",{className:"stat"},t.PROXY_TEMPLATE))),c.a.createElement("div",null,a["DNS Template"],": ",c.a.createElement("span",null,c.a.createElement("span",{className:"stat"},t.DNS_TEMPLATE))),c.a.createElement("div",null,a["SSH Access"],": ",c.a.createElement("span",null,c.a.createElement("span",{className:"stat"},t.SHELL))),c.a.createElement("div",null,a["Web Domains"],": ",c.a.createElement("span",null,c.a.createElement("span",{className:"stat"},t.WEB_DOMAINS))),c.a.createElement("div",null,a["Web Aliases"],": ",c.a.createElement("span",null,c.a.createElement("span",{className:"stat"},t.WEB_ALIASES)))),c.a.createElement(Ge,{className:"c-2 w-35"},c.a.createElement("div",null,a["DNS domains"],": ",c.a.createElement("span",null,c.a.createElement("span",{className:"stat"},t.DNS_DOMAINS))),c.a.createElement("div",null,a["DNS records"],": ",c.a.createElement("span",null,c.a.createElement("span",{className:"stat"},t.DNS_RECORDS))),c.a.createElement("div",null,a["Mail Domains"],": ",c.a.createElement("span",null,c.a.createElement("span",{className:"stat"},t.MAIL_DOMAINS))),c.a.createElement("div",null,a["Mail Accounts"],": ",c.a.createElement("span",null,c.a.createElement("span",{className:"stat"},t.MAIL_ACCOUNTS))),c.a.createElement("div",null,a.Databases,": ",c.a.createElement("span",null,c.a.createElement("span",{className:"stat"},t.DATABASES))),c.a.createElement("div",null,a["Cron Jobs"],": ",c.a.createElement("span",null,c.a.createElement("span",{className:"stat"},t.CRON_JOBS)))),c.a.createElement(Ge,{className:"c-3 w-35"},c.a.createElement("div",null,c.a.createElement("span",null,a.Backups,":")," ",c.a.createElement("span",null,c.a.createElement("span",{className:"stat"},t.BACKUPS))),c.a.createElement("div",null,c.a.createElement("span",null,a.Bandwidth,":")," ",c.a.createElement("span",null,c.a.createElement("span",null,c.a.createElement("span",{className:"stat"},t.BANDWIDTH)," ",a.mb))),c.a.createElement("div",null,c.a.createElement("span",null,a.Disk,":")," ",c.a.createElement("span",null,c.a.createElement("span",null,c.a.createElement("span",{className:"stat"},t.DISK_QUOTA)," ",a.mb))),c.a.createElement("div",{className:"ns"},c.a.createElement("span",null,a["Name Servers"],":")," ",c.a.createElement("span",null,c.a.createElement("span",{className:"stat"},t.NS.split(",").map((function(e,t){return c.a.createElement("div",{key:t},e)})))))))),c.a.createElement("div",{className:"actions"},c.a.createElement("div",null,c.a.createElement(pe.b,{className:"link-edit",to:"/edit/package/?package=".concat(t.NAME)},a.edit,t.FOCUSED?c.a.createElement("span",{className:"shortcut-button html-unicode"},"\u21a9"):c.a.createElement(W.a,{icon:"pen"}))),c.a.createElement("div",null,c.a.createElement("button",{className:"link-delete",onClick:function(){e.handleModal(t.delete_conf,"/api/v1/delete/package/index.php?package=".concat(t.NAME))}},a.Delete,t.FOCUSED?c.a.createElement("span",{className:"shortcut-button del"},"Del"):c.a.createElement(W.a,{icon:"times"})))))}),bn=(a(261),function(e){var t=Object(o.d)((function(e){return e.session})).i18n,a=Object(o.d)((function(e){return e.controlPanelContent})).controlPanelFocusedElement,r=Object(o.d)((function(e){return e.mainNavigation})).focusedElement,l=Object(o.c)(),s=Object(n.useState)(!1),i=Object(A.a)(s,2),m=i[0],d=i[1],E=Object(n.useState)({text:"",visible:!1,actionUrl:""}),p=Object(A.a)(E,2),v=p[0],f=p[1],b=Object(n.useState)({packages:[],packagesFav:[],toggledAll:!1,sorting:t.Date,order:"descending",selection:[],totalAmount:""}),h=Object(A.a)(b,2),g=h[0],O=h[1];Object(n.useEffect)((function(){return l(Be("/list/package/")),l({type:"REMOVE_FOCUSED_ELEMENT",value:""}),l({type:"REMOVE_CPANEL_FOCUSED_ELEMENT",value:""}),C().then((function(){return d(!1)})),function(){l({type:"REMOVE_CPANEL_FOCUSED_ELEMENT",value:""})}}),[]),Object(n.useEffect)((function(){return window.addEventListener("keydown",N),window.addEventListener("keydown",_),function(){window.removeEventListener("keydown",N),window.removeEventListener("keydown",_)}}),[a,r,g.packages]);var N=function(e){38!==e.keyCode&&40!==e.keyCode||r&&l({type:"REMOVE_FOCUSED_ELEMENT",value:""}),38===e.keyCode?(e.preventDefault(),k()):40===e.keyCode&&(e.preventDefault(),y())},j=function(e){e[0].FOCUSED=e[0].NAME,O(Object(u.a)(Object(u.a)({},g),{},{packages:e})),l(vt(e[0].NAME))},y=function(){var e=Object(I.a)(g.packages);if(""!==a){var t=e.findIndex((function(e){return e.NAME===a}));if(t!==e.length-1){var n=e[t+1];e[t].FOCUSED="",n.FOCUSED=n.NAME,document.getElementById(n.NAME).scrollIntoView({behavior:"smooth",block:"center"}),O(Object(u.a)(Object(u.a)({},g),{},{packages:e})),l(vt(n.NAME))}}else j(e)},k=function(){var e=Object(I.a)(g.packages);if(""!==a){var t=e.findIndex((function(e){return e.NAME===a}));if(0!==t){var n=e[t-1];e[t].FOCUSED="",n.FOCUSED=n.NAME,document.getElementById(n.NAME).scrollIntoView({behavior:"smooth",block:"center"}),O(Object(u.a)(Object(u.a)({},g),{},{packages:e})),l(vt(n.NAME))}}else j(e)},_=function(e){var t=document.querySelector("input:focus")||document.querySelector("textarea:focus");if(a&&!t)switch(e.keyCode){case 8:return w();case 13:return S()}},S=function(){e.history.push("/edit/package/?package=".concat(a))},w=function(){var e=g.packages.filter((function(e){return e.NAME===a}))[0];U(e.delete_conf,"/api/v1/delete/package/index.php?package=".concat(a))},C=function(){return d(!0),new Promise((function(e,t){ia().then((function(t){O(Object(u.a)(Object(u.a)({},g),{},{packages:D(t.data.data),packagesFav:t.data.packagesFav,totalAmount:t.data.totalAmount,selection:[],toggledAll:!1})),e()})).catch((function(e){return console.error(e)}))}))},D=function(e){var t=[];for(var n in e)e[n].NAME=n,e[n].FOCUSED=a===n,t.push(e[n]);return t},M=function(e){var t=g.selection,a=g.packages,n=Object(I.a)(t),c=a,r=n.indexOf(e),l=c.findIndex((function(t){return t.NAME===e}));c[l].isChecked=!c[l].isChecked,-1!==r?n.splice(r,1):n.push(e),O(Object(u.a)(Object(u.a)({},g),{},{packages:c,selection:n}))},F=function(e){var t=g.order,a=g.sorting,n=x(a);return"descending"===t?e.sort((function(e,t){return e[n]t[n]?1:t[n]>e[n]?-1:0}))},x=function(e){var a=t.Date,n=t.Starred;switch(e){case a:return"DATE";case t["Package Name"]:return"NAME";case n:return"STARRED"}},T=function(e,t){var a=g.packagesFav;"add"===t?(a[e]=1,gt(e,"package").then((function(){O(Object(u.a)(Object(u.a)({},g),{},{packagesFav:a}))})).catch((function(e){console.error(e)}))):(a[e]=void 0,Ot(e,"package").then((function(){O(Object(u.a)(Object(u.a)({},g),{},{packagesFav:a}))})).catch((function(e){console.error(e)})))},L=function(e){var t=Object(I.a)(g.packages);if(e){var a=[],n=t.map((function(e){return a.push(e.NAME),e.isChecked=!0,e}));O(Object(u.a)(Object(u.a)({},g),{},{packages:n,selection:a,toggledAll:e}))}else{var c=t.map((function(e){return e.isChecked=!1,e}));O(Object(u.a)(Object(u.a)({},g),{},{packages:c,selection:[],toggledAll:e}))}},U=function(e,t){f(Object(u.a)(Object(u.a)({},v),{},{visible:!v.visible,text:e,actionUrl:t}))},R=function(){l(et()).then((function(){return d(!1)}))},V=function(){f(Object(u.a)(Object(u.a)({},v),{},{visible:!1,text:"",actionUrl:""}))};return c.a.createElement("div",{className:"packages"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(t.PACKAGE))),c.a.createElement(Xe,{mobile:!1},c.a.createElement(yt,{name:t["Add Package"],href:"/add/package/",showLeftMenu:!0}),c.a.createElement("div",{className:"r-menu"},c.a.createElement("div",{className:"input-group input-group-sm"},c.a.createElement(kt,{toggleAll:L,toggled:g.toggledAll}),c.a.createElement(_t,{list:"packagesList",bulkAction:function(e){var t=g.selection;t.length&&e&&(d(!0),function(e,t){var a=new FormData;return a.append("action",e),a.append("token",He()),t.forEach((function(e){a.append("package[]",e)})),be.a.post(sa+"/api/v1/bulk/package/",a)}(e,t).then((function(e){200===e.status&&(L(!1),C().then((function(){return R()})))})).catch((function(e){return console.error(e)})))}}),c.a.createElement(ft,{changeSorting:function(e,t){O(Object(u.a)(Object(u.a)({},g),{},{sorting:e,order:t}))},sorting:g.sorting,order:g.order,list:"packagesList"}),c.a.createElement(bt,{handleSearchTerm:function(t){return e.changeSearchTerm(t)}})))),c.a.createElement("div",{className:"packages-wrapper"},m?c.a.createElement(P,null):c.a.createElement(c.a.Fragment,null,function(){var e=g.packages,t=Object(u.a)({},g.packagesFav),n=[];return e.forEach((function(e){e.FOCUSED=a===e.NAME,t[e.NAME]?e.STARRED=t[e.NAME]:e.STARRED=0,n.push(e)})),F(n).map((function(e,t){return c.a.createElement(fn,{data:e,key:t,toggleFav:T,checkItem:M,handleModal:U})}))}(),c.a.createElement("div",{className:"total"},g.totalAmount))),c.a.createElement(St,{onSave:function(){if(!v.actionUrl)return V();var e;V(),d(!0),(e=v.actionUrl,be.a.get(sa+e,{params:{token:He()}})).then((function(e){if(e.data.error)return d(!1),U(e.data.error,"");C().then((function(){return R()}))})).catch((function(e){d(!1),console.error(e)}))},onCancel:V,show:v.visible,text:v.text}))}),hn=window.location.origin,gn=(a(262),function(e){var t=Object(o.d)((function(e){return e.session})).i18n,a=Object(o.d)((function(e){return e.userSession})).session,r=Object(R.g)(),l=Object(o.c)(),s=Object(n.useState)({vEmail:"",vNotify:"",languages:[],packages:[],errorMessage:"",okMessage:"",loading:!1}),i=Object(A.a)(s,2),m=i[0],d=i[1];Object(n.useEffect)((function(){l(Be("/list/user/")),l({type:"REMOVE_FOCUSED_ELEMENT",value:""}),d(Object(u.a)(Object(u.a)({},m),{},{loading:!0})),Promise.all([E(),p()]).then((function(e){var t=Object(A.a)(e,2),a=t[0],n=t[1],c=v(a.data.data);d(Object(u.a)(Object(u.a)({},m),{},{packages:c,languages:n.data,loading:!1}))}))}),[]);var E=function(){return ia().catch((function(e){return console.error(e)}))},p=function(){return be.a.get(hn+"/api/v1/languages.php").catch((function(e){return console.error(e)}))},v=function(e){var t=[];for(var a in e)t.push(a);return t},f=function(e){e.preventDefault();var t,a={},n=Object(We.a)(new FormData(e.target).entries());try{for(n.s();!(t=n.n()).done;){var c=Object(A.a)(t.value,2),r=c[0],o=c[1];a[r]=o}}catch(s){n.e(s)}finally{n.f()}0!==Object.keys(a).length&&a.constructor===Object&&(d(Object(u.a)(Object(u.a)({},m),{},{loading:!0})),function(e){var t=new FormData;for(var a in e)t.append(a,e[a]);return t.append("token",He()),t.append("ok","Add"),be.a.post(Za+"/api/v1/add/user/index.php",t)}(a).then((function(e){var t=e.data,a=t.error_msg,n=t.ok_msg;a?d(Object(u.a)(Object(u.a)({},m),{},{errorMessage:a,okMessage:n,loading:!1})):l(et()).then((function(){d(Object(u.a)(Object(u.a)({},m),{},{okMessage:n,errorMessage:"",loading:!1}))}))})).catch((function(e){d(Object(u.a)(Object(u.a)({},m),{},{loading:!1})),console.error(e)})))};return c.a.createElement("div",{className:"edit-template add-user"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(t.USER))),c.a.createElement(Xe,{mobile:!1},c.a.createElement("div",null),c.a.createElement("div",{className:"search-toolbar-name"},t["Adding User"]),c.a.createElement("div",{className:"error"},c.a.createElement("span",{className:"error-message"},m.errorMessage?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):""," ",m.errorMessage)),c.a.createElement("div",{className:"success"},c.a.createElement("span",{className:"ok-message"},m.okMessage?c.a.createElement(W.a,{icon:"long-arrow-alt-right"}):""," ",c.a.createElement("span",null,at()(m.okMessage))," "))),c.a.createElement(Qe,null,m.loading?c.a.createElement(P,null):c.a.createElement("form",{onSubmit:function(e){return f(e)},id:"add-user"},c.a.createElement("div",{className:"form-group"},c.a.createElement("label",{htmlFor:"username"},t.Username),c.a.createElement("input",{type:"text",className:"form-control",id:"username",name:"v_username"})),c.a.createElement(Mt,{name:"v_password"}),c.a.createElement("div",{className:"form-group"},c.a.createElement("label",{htmlFor:"email"},t.Email," /",c.a.createElement("div",null,c.a.createElement("input",{type:"checkbox",id:"send-credentials",onChange:function(e){e.target.checked?m.vEmail&&d(Object(u.a)(Object(u.a)({},m),{},{vNotify:m.vEmail})):d(Object(u.a)(Object(u.a)({},m),{},{vNotify:""}))}}),c.a.createElement("label",{htmlFor:"send-credentials"},t["Send login credentials to email address"]))),c.a.createElement("input",{type:"email",name:"v_email",className:"form-control",id:"email",value:m.vEmail,onChange:function(e){return t=e.target.value,void d(Object(u.a)(Object(u.a)({},m),{},{vEmail:t}));var t},onBlur:function(){m.vNotify||d(Object(u.a)(Object(u.a)({},m),{},{vNotify:m.vEmail}))}})),c.a.createElement("div",{class:"form-group"},c.a.createElement("label",{htmlFor:"package"},t.Package),c.a.createElement("select",{class:"form-control",id:"package",name:"v_package"},m.packages.map((function(e,t){return c.a.createElement("option",{key:t,value:e},e)})))),c.a.createElement("div",{class:"form-group"},c.a.createElement("label",{htmlFor:"language"},t.Language),c.a.createElement("select",{class:"form-control",id:"language",name:"v_language"},m.languages.map((function(e,t){return c.a.createElement("option",{key:t,selected:a.LANGUAGE===e,value:e},e)})))),c.a.createElement("div",{className:"form-group"},c.a.createElement("label",{htmlFor:"firstName"},t["First Name"]),c.a.createElement("input",{type:"text",className:"form-control",id:"firstName",name:"v_fname"})),c.a.createElement("div",{className:"form-group"},c.a.createElement("label",{htmlFor:"lastName"},t["Last Name"]),c.a.createElement("input",{type:"text",className:"form-control",id:"lastName",name:"v_lname"})),c.a.createElement("div",{className:"form-group"},c.a.createElement("label",{htmlFor:"sendLoginCredentialsToEmailAddress"},t["Send login credentials to email address"]),c.a.createElement("input",{type:"email",className:"form-control",id:"sendLoginCredentialsToEmailAddress",value:m.vNotify,onChange:function(e){return t=e.target.value,void d(Object(u.a)(Object(u.a)({},m),{},{vNotify:t}));var t},name:"v_notify"})),c.a.createElement("div",{className:"buttons-wrapper"},c.a.createElement("button",{type:"submit",className:"add"},t.Add),c.a.createElement("button",{type:"button",className:"back",onClick:function(){return r.push("/list/user/")}},t.Back)))))}),On=window.location.origin,Nn=(a(263),function(e){var t,a=e.data,n=Object(o.d)((function(e){return e.session})).i18n;return c.a.createElement(Nt,{date:!1,id:a.NAME,checkItem:function(){e.checkItem(e.data.NAME)},focused:a.FOCUSED,checked:a.isChecked,outdated:(t=a.UPDATED,"no"===t),leftNameText:function(e){return"no"===e?"OUTDATED":"UPDATED"}(a.UPDATED)},c.a.createElement(Ge,{className:"r-col w-85"},c.a.createElement("div",{className:"name"},a.NAME),c.a.createElement("div",{className:"stats"},c.a.createElement(Ge,{className:"c-1"},c.a.createElement("div",{className:"descr"},c.a.createElement("span",{className:"stat"},a.DESCR))),c.a.createElement(Ge,{className:"c-2"},c.a.createElement("div",null,n.Version,": ",c.a.createElement("span",null,c.a.createElement("span",{className:"stat"},a.VERSION)," ","(".concat(a.ARCH,")")))),c.a.createElement(Ge,{className:"c-3"},c.a.createElement("div",null,n.Release,": ",c.a.createElement("span",{className:"stat"},a.RELEASE))))))}),jn=(a(264),function(e){var t=Object(o.d)((function(e){return e.session})).i18n,a=Object(o.d)((function(e){return e.controlPanelContent})).controlPanelFocusedElement,r=Object(o.d)((function(e){return e.mainNavigation})).focusedElement,l=Object(o.c)(),s=Object(n.useState)({updates:[],selection:[],autoUpdate:"",token:"",loading:!1,toggledAll:!1}),i=Object(A.a)(s,2),m=i[0],d=i[1],E=Object(n.useState)({text:"",visible:!1,actionUrl:""}),p=Object(A.a)(E,2),v=p[0],f=p[1];Object(n.useEffect)((function(){return l(Be("/list/updates/")),l({type:"REMOVE_FOCUSED_ELEMENT",value:""}),l({type:"REMOVE_CPANEL_FOCUSED_ELEMENT",value:""}),N(),function(){l({type:"REMOVE_CPANEL_FOCUSED_ELEMENT",value:""})}}),[]),Object(n.useEffect)((function(){return window.addEventListener("keydown",b),function(){window.removeEventListener("keydown",b)}}),[a,r,m.updates]);var b=function(e){38!==e.keyCode&&40!==e.keyCode||r&&l({type:"REMOVE_FOCUSED_ELEMENT",value:""}),38===e.keyCode?(e.preventDefault(),O()):40===e.keyCode&&(e.preventDefault(),g())},h=function(e){e[0].FOCUSED=e[0].NAME,d(Object(u.a)(Object(u.a)({},m),{},{updates:e})),l(vt(e[0].NAME))},g=function(){var e=Object(I.a)(m.updates);if(""!==a){var t=e.findIndex((function(e){return e.NAME===a}));if(t!==e.length-1){var n=e[t+1];e[t].FOCUSED="",n.FOCUSED=n.NAME,document.getElementById(n.NAME).scrollIntoView({behavior:"smooth",block:"center"}),d(Object(u.a)(Object(u.a)({},m),{},{updates:e})),l(vt(n.NAME))}}else h(e)},O=function(){var e=Object(I.a)(m.updates);if(""!==a){var t=e.findIndex((function(e){return e.NAME===a}));if(0!==t){var n=e[t-1];e[t].FOCUSED="",n.FOCUSED=n.NAME,document.getElementById(n.NAME).scrollIntoView({behavior:"smooth",block:"center"}),d(Object(u.a)(Object(u.a)({},m),{},{updates:e})),l(vt(n.NAME))}}else h(e)},N=function(){d(Object(u.a)(Object(u.a)({},m),{},{loading:!0})),be.a.get(On+"/api/v1/list/updates/index.php").then((function(e){d(Object(u.a)(Object(u.a)({},m),{},{selection:[],updates:j(e.data.data),autoUpdate:e.data.autoUpdate,loading:!1}))})).catch((function(e){return console.error(e)}))},j=function(e){var t=[];for(var n in e)e[n].NAME=n,e[n].FOCUSED=a===n,t.push(e[n]);return t},y=function(e){var t=Object(I.a)(m.selection),a=Object(I.a)(m.updates),n=t.indexOf(e),c=a.findIndex((function(t){return t.NAME===e}));a[c].isChecked=!a[c].isChecked,-1!==n?t.splice(n,1):t.push(e),d(Object(u.a)(Object(u.a)({},m),{},{updates:a,selection:t}))},k=function(e){var t=Object(I.a)(m.updates);if(e){var a=[],n=t.map((function(e){return a.push(e.NAME),e.isChecked=!0,e}));d(Object(u.a)(Object(u.a)({},m),{},{updates:n,selection:a,toggledAll:e}))}else{var c=t.map((function(e){return e.isChecked=!1,e}));d(Object(u.a)(Object(u.a)({},m),{},{updates:c,selection:[],toggledAll:e}))}},_=function(e,t){d(Object(u.a)(Object(u.a)({},m),{},{loading:!0})),f(Object(u.a)(Object(u.a)({},v),{},{visible:!0,text:e,actionUrl:t}))},S=function(){f(Object(u.a)(Object(u.a)({},v),{},{visible:!1,text:"",actionUrl:""}))};return c.a.createElement("div",{className:"statistics-list updates"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(t.UPDATES))),c.a.createElement(Xe,{mobile:!1,className:"justify-right"},c.a.createElement(yt,{name:"Add Cron Job",showLeftMenu:!1}),c.a.createElement("div",{className:"r-menu"},c.a.createElement("div",{className:"input-group input-group-sm"},c.a.createElement("button",{onClick:function(){"Enabled"===m.autoUpdate?be.a.get("".concat(On).concat("/api/v1/delete/cron/autoupdate/"),{params:{token:He()}}).then((function(e){if(e.data.error)return d(Object(u.a)(Object(u.a)({},m),{},{loading:!1})),_(e.data.error,"");_(e.data.message,""),N()})).catch((function(e){d(Object(u.a)(Object(u.a)({},m),{},{loading:!1})),console.error(e)})):be.a.get("".concat(On).concat("/api/v1/add/cron/autoupdate/"),{params:{token:He()}}).then((function(e){if(e.data.error)return d(Object(u.a)(Object(u.a)({},m),{},{loading:!1})),_(e.data.error,"");_(e.data.message,""),N()})).catch((function(e){d(Object(u.a)(Object(u.a)({},m),{},{loading:!1})),console.error(e)}))},className:"button-extra"},"Enabled"===m.autoUpdate?t["disable autoupdate"]:t["enable autoupdate"]),c.a.createElement(kt,{toggleAll:k}),c.a.createElement(_t,{list:"updatesList",bulkAction:function(e){var t=m.selection;t.length&&"apply to selected"!==e&&function(e,t){var a=new FormData;return a.append("action",e),a.append("token",He()),t.forEach((function(e){a.append("pkg[]",e)})),be.a.post(On+"/api/v1/bulk/vesta/",a)}(e,t).then((function(e){if(k(!1),200===e.status){if(e.data.error)return d(Object(u.a)(Object(u.a)({},m),{},{loading:!1})),_(e.data.error,"");_(e.data.message,""),N()}})).catch((function(e){return console.error(e)}))}}),c.a.createElement(bt,{handleSearchTerm:function(t){return e.changeSearchTerm(t)}})))),m.loading?c.a.createElement(P,null):function(){var e=Object(I.a)(m.updates);return e.forEach((function(e){e.FOCUSED=a===e.NAME})),e.map((function(e,t){return c.a.createElement(Nn,{data:e,key:t,checkItem:y})}))}(),c.a.createElement(St,{onSave:S,onCancel:S,show:v.visible,text:v.text}))}),yn=(a(265),function(e){var t=e.data,a=Object(o.d)((function(e){return e.session})).i18n;return c.a.createElement(Nt,{id:t.NAME,focused:t.FOCUSED,sysInfo:t.HOSTNAME,checked:t.isChecked,checkItem:function(){e.checkItem(e.data.HOSTNAME)}},c.a.createElement(Ge,{className:"r-col w-85"},c.a.createElement("div",{className:"name"},t.HOSTNAME),c.a.createElement("div",{className:"stats"},c.a.createElement(Ge,{className:"c-1"},c.a.createElement("div",{className:"descr"},c.a.createElement("span",null,c.a.createElement("span",{className:"stat"},t.OS," ",t.VERSION),"\xa0\xa0\xa0\xa0\xa0 ","(".concat(t.ARCH,")")))),c.a.createElement(Ge,{className:"c-2"},c.a.createElement("div",null,a["Load Average"],": ",c.a.createElement("span",null,c.a.createElement("span",{className:"stat"},t.LOADAVERAGE)))),c.a.createElement(Ge,{className:"c-3"},c.a.createElement("div",null,c.a.createElement("span",null,a.Uptime,": ",c.a.createElement("span",{className:"stat"},t.UPTIME)))))),c.a.createElement("div",{className:"actions"},c.a.createElement("div",null,c.a.createElement(pe.b,{className:"link-list",to:"/edit/server/"},a.configure,t.FOCUSED?c.a.createElement("span",{className:"shortcut-button html-unicode"},"\u21a9"):c.a.createElement(W.a,{icon:"cogs"}))),c.a.createElement("div",null,c.a.createElement("button",{className:"link-download restart",onClick:function(){return e.handleAction("/api/v1/restart/system/?hostname=".concat(t.NAME))}},a.restart,t.FOCUSED?c.a.createElement("span",{className:"shortcut-button"},"R"):c.a.createElement("svg",{width:"1em",height:"1em",viewBox:"0 0 16 16",class:"bi bi-arrow-repeat",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"},c.a.createElement("path",{"fill-rule":"evenodd",d:"M2.854 7.146a.5.5 0 0 0-.708 0l-2 2a.5.5 0 1 0 .708.708L2.5 8.207l1.646 1.647a.5.5 0 0 0 .708-.708l-2-2zm13-1a.5.5 0 0 0-.708 0L13.5 7.793l-1.646-1.647a.5.5 0 0 0-.708.708l2 2a.5.5 0 0 0 .708 0l2-2a.5.5 0 0 0 0-.708z"}),c.a.createElement("path",{"fill-rule":"evenodd",d:"M8 3a4.995 4.995 0 0 0-4.192 2.273.5.5 0 0 1-.837-.546A6 6 0 0 1 14 8a.5.5 0 0 1-1.001 0 5 5 0 0 0-5-5zM2.5 7.5A.5.5 0 0 1 3 8a5 5 0 0 0 9.192 2.727.5.5 0 1 1 .837.546A6 6 0 0 1 2 8a.5.5 0 0 1 .501-.5z"}))))))}),kn=(a(266),function(e){var t=e.data,a=Object(o.d)((function(e){return e.session})).i18n;return c.a.createElement(Nt,{id:t.NAME,focused:t.FOCUSED,checked:t.isChecked,stopped:"stopped"===t.STATE,checkItem:function(){e.checkItem(t.NAME)}},c.a.createElement(Ge,{className:"r-col w-85"},c.a.createElement("div",{className:"server-name"},t.NAME),c.a.createElement("div",{className:"stats"},c.a.createElement(Ge,{className:"c-1"},c.a.createElement("div",{className:"descr"},c.a.createElement("span",{className:"stat"},a[t.SYSTEM]))),c.a.createElement(Ge,{className:"c-1"}),c.a.createElement(Ge,{className:"c-1"},c.a.createElement("div",{className:"descr"},c.a.createElement("span",null,a.CPU,": ",c.a.createElement("span",{className:"stat"},t.CPU)))),c.a.createElement(Ge,{className:"c-2"},c.a.createElement("div",null,c.a.createElement("span",null,a.Memory,": ",c.a.createElement("span",{className:"stat"},t.MEM," ",a.mb)))),c.a.createElement(Ge,{className:"c-3"},c.a.createElement("div",null,c.a.createElement("span",null,a.Uptime,": ",c.a.createElement("span",{className:"stat"},t.RTIME)))),c.a.createElement(Ge,{className:"c-1"}))),c.a.createElement("div",{className:"actions"},c.a.createElement("div",null,c.a.createElement(pe.b,{className:"link-list",to:"/edit/server/".concat(t.NAME)},a.configure,t.FOCUSED?c.a.createElement("span",{className:"shortcut-button html-unicode"},"\u21a9"):c.a.createElement(W.a,{icon:"cogs"}))),c.a.createElement("div",null,c.a.createElement("button",{className:"link-delete",onClick:function(){return e.handleAction("/api/v1"+t.action_url)}},"running"===t.STATE?a.stop:a.start,t.FOCUSED?c.a.createElement("span",{className:"shortcut-button"},"S"):c.a.createElement(W.a,{icon:"running"===t.STATE?"stop":"play"}))),c.a.createElement("div",null,c.a.createElement("button",{className:"link-download restart",onClick:function(){return e.handleAction("/api/v1/restart/service/?srv=".concat(t.NAME))}},a.restart,t.FOCUSED?c.a.createElement("span",{className:"shortcut-button"},"R"):c.a.createElement("svg",{width:"1em",height:"1em",viewBox:"0 0 16 16",class:"bi bi-arrow-repeat",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"},c.a.createElement("path",{"fill-rule":"evenodd",d:"M2.854 7.146a.5.5 0 0 0-.708 0l-2 2a.5.5 0 1 0 .708.708L2.5 8.207l1.646 1.647a.5.5 0 0 0 .708-.708l-2-2zm13-1a.5.5 0 0 0-.708 0L13.5 7.793l-1.646-1.647a.5.5 0 0 0-.708.708l2 2a.5.5 0 0 0 .708 0l2-2a.5.5 0 0 0 0-.708z"}),c.a.createElement("path",{"fill-rule":"evenodd",d:"M8 3a4.995 4.995 0 0 0-4.192 2.273.5.5 0 0 1-.837-.546A6 6 0 0 1 14 8a.5.5 0 0 1-1.001 0 5 5 0 0 0-5-5zM2.5 7.5A.5.5 0 0 1 3 8a5 5 0 0 0 9.192 2.727.5.5 0 1 1 .837.546A6 6 0 0 1 2 8a.5.5 0 0 1 .501-.5z"}))))))}),_n=(a(267),function(e){var t=Object(o.d)((function(e){return e.session})).i18n,a=Object(o.d)((function(e){return e.controlPanelContent})).controlPanelFocusedElement,r=Object(o.d)((function(e){return e.mainNavigation})).focusedElement,l=Object(o.c)(),s=Object(n.useState)(!1),i=Object(A.a)(s,2),m=i[0],d=i[1],E=Object(n.useState)({text:"",visible:!1,actionUrl:""}),p=Object(A.a)(E,2),v=p[0],f=p[1],b=Object(n.useState)({servers:[],selection:[],toggledAll:!1,sorting:t.Action,order:"descending"}),h=Object(A.a)(b,2),g=h[0],O=h[1];Object(n.useEffect)((function(){return l(Be("/list/server/")),l({type:"REMOVE_FOCUSED_ELEMENT",value:""}),l({type:"REMOVE_CPANEL_FOCUSED_ELEMENT",value:""}),D().then((function(){return d(!1)})),function(){l({type:"REMOVE_CPANEL_FOCUSED_ELEMENT",value:""})}}),[]),Object(n.useEffect)((function(){return window.addEventListener("keydown",N),window.addEventListener("keydown",_),function(){window.removeEventListener("keydown",N),window.removeEventListener("keydown",_)}}),[a,r,g.servers]);var N=function(e){38!==e.keyCode&&40!==e.keyCode||r&&l({type:"REMOVE_FOCUSED_ELEMENT",value:""}),38===e.keyCode?(e.preventDefault(),k()):40===e.keyCode&&(e.preventDefault(),y())},j=function(e){e[0].FOCUSED=e[0].NAME,O(Object(u.a)(Object(u.a)({},g),{},{servers:e})),l(vt(e[0]))},y=function(){var e=Object(I.a)(g.servers);if(""!==a.NAME&&""!==a){var t=e.findIndex((function(e){return e.NAME===a.NAME}));if(t!==e.length-1){var n=e[t+1];e[t].FOCUSED="",n.FOCUSED=n.NAME,document.getElementById(n.NAME).scrollIntoView({behavior:"smooth",block:"center"}),O(Object(u.a)(Object(u.a)({},g),{},{servers:e})),l(vt(n))}}else j(e)},k=function(){var e=Object(I.a)(g.servers);if(""!==a.NAME&&""!==a){var t=e.findIndex((function(e){return e.NAME===a.NAME}));if(0!==t){var n=e[t-1];e[t].FOCUSED="",n.FOCUSED=n.NAME,document.getElementById(n.NAME).scrollIntoView({behavior:"smooth",block:"center"}),O(Object(u.a)(Object(u.a)({},g),{},{servers:e})),l(vt(n))}}else j(e)},_=function(e){var t=document.querySelector("input:focus")||document.querySelector("textarea:focus");if(a.NAME&&!t)switch(e.keyCode){case 13:return S();case 82:return C();case 83:return w()}},S=function(){a.NAME!==g.servers[0].NAME?e.history.push("/edit/server/".concat(a.NAME)):e.history.push("/edit/server/")},w=function(){F("/api/v1"+a.action_url)},C=function(){F("/api/v1/restart/service/?srv=".concat(a.NAME))},D=function(){return d(!0),new Promise((function(e,t){be.a.get(lt+"/api/v1/list/server/index.php").then((function(t){O(Object(u.a)(Object(u.a)({},g),{},{selection:[],toggledAll:!1,servers:M(t.data.data,t.data.sys)})),e()})).catch((function(e){return console.error(e)}))}))},M=function(e,t){var n=[];for(var c in e)e[c].NAME=c,e[c].FOCUSED=a.NAME===c,n.push(e[c]);return n.splice(0,0,Object.values(t)[0]),n[0].NAME=n[0].HOSTNAME,n},F=function(e){l({type:"REMOVE_CPANEL_FOCUSED_ELEMENT",value:""}),e&&(d(!0),ot(e).then((function(e){e.data.error&&L(e.data.error),D().then((function(){return d(!1)}))})).catch((function(e){d(!1),console.error(e)})))},x=function(e){var t=Object(I.a)(g.servers);if(e){var a=[],n=t.map((function(e){return a.push(e.NAME),e.isChecked=!0,e}));O(Object(u.a)(Object(u.a)({},g),{},{servers:n,selection:a,toggledAll:e}))}else{var c=t.map((function(e){return e.isChecked=!1,e}));O(Object(u.a)(Object(u.a)({},g),{},{servers:c,selection:[],toggledAll:e}))}},T=function(e){var t=g.selection,a=Object(I.a)(t),n=Object(I.a)(g.servers),c=a.indexOf(e),r=n.findIndex((function(t){return t.NAME===e}));n[r].isChecked=!n[r].isChecked,-1!==c?a.splice(c,1):a.push(e),O(Object(u.a)(Object(u.a)({},g),{},{servers:n,selection:a}))},L=function(e){f(Object(u.a)(Object(u.a)({},v),{},{visible:!0,text:e}))},U=function(){f(Object(u.a)(Object(u.a)({},v),{},{visible:!1,text:""}))};return c.a.createElement("div",{className:"servers-list"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(t.SERVER))),c.a.createElement(Xe,{mobile:!1},c.a.createElement(yt,{href:"/edit/server/",list:"server",name:t.configure,showLeftMenu:!0}),c.a.createElement("div",{className:"r-menu"},c.a.createElement("div",{className:"input-group input-group-sm"},c.a.createElement(pe.b,{to:"/list/server/service/?srv=cpu",className:"button-extra"},t["show: CPU / MEM / NET / DISK"]),c.a.createElement(kt,{toggleAll:x,toggled:g.toggledAll}),c.a.createElement(_t,{list:"serverList",bulkAction:function(e){var t=g.selection;t.length&&e&&(O(Object(u.a)(Object(u.a)({},g),{},{loading:!0})),function(e,t){var a=new FormData;return a.append("action",e),a.append("token",He()),t.forEach((function(e){a.append("service[]",e)})),be.a.post(lt+"/api/v1/bulk/service/",a)}(e,t).then((function(e){e.data.error&&L(e.data.error),x(!1),D().then((function(){return d(!1)}))})).catch((function(e){return console.error(e)})))}}),c.a.createElement(bt,{handleSearchTerm:function(t){return e.changeSearchTerm(t)}})))),m?c.a.createElement(P,null):c.a.createElement("div",{className:"servers-wrapper"},function(){var e=[];return g.servers.forEach((function(t){t.FOCUSED=a.NAME===t.NAME,e.push(t)})),e.map((function(e,t){return e.HOSTNAME?c.a.createElement(yn,{data:e,key:t,checkItem:T,handleAction:F}):c.a.createElement(kn,{data:e,key:t,checkItem:T,handleAction:F})}))}()),c.a.createElement(St,{onSave:function(){if(!v.actionUrl)return U();U(),d(!0),ot(v.actionUrl).then((function(e){if(e.data.error)return d(!1),L(e.data.error,"");D().then((function(){return d(!1)}))})).catch((function(e){d(!1),console.error(e)}))},onCancel:U,showCancelButton:!1,show:v.visible,text:v.text}))}),Sn=(a(268),function(e){var t=e.menuHeight;if(!e.mobile)return document.documentElement.clientWidth>900?t:45}),wn=function(e){var t=Object(o.d)((function(e){return e.mainNavigation})),a=t.activeElement,r=t.focusedElement,l=Object(o.d)((function(e){return e.session})),s=l.i18n,i=l.userName,u=Object(o.d)((function(e){return e.panel})).panel,m=Object(o.d)((function(e){return e.userSession})).session,d=Object(o.d)((function(e){return e.menuCounters})).user,E=Object(o.c)();Object(n.useEffect)((function(){d.LANGUAGE&&localStorage.setItem("language",d.LANGUAGE)}),[d]);var p,v=function(e,t){if("".concat(window.location.pathname).concat(window.location.search)===e)return t.preventDefault();E(Be(e))},f=function(e){return"stat ".concat(e===a&&"l-active"," ").concat(e===r&&"focus")};return u[i]?c.a.createElement("div",{className:"menu-wrapper"},c.a.createElement("div",{className:(p=e.menuHeight,35===p?"menu-stat shadow":"menu-stat"),style:{height:Sn(e)}},c.a.createElement("div",{className:f("/list/user/")},c.a.createElement(pe.b,{to:"/list/user/",onClick:function(e){return v("/list/user/",e)},onKeyPress:function(e){return e.preventDefault()}},c.a.createElement("h3",null,s.USER),c.a.createElement("div",{className:"stats"},m.look&&u[m.look]?c.a.createElement(c.a.Fragment,null,c.a.createElement("div",null,c.a.createElement("span",null,s.Disk,":"),c.a.createElement("span",null,c.a.createElement("span",{className:"value"},u[m.look].U_DISK,c.a.createElement("span",{className:"unit"},u[m.look].U_DISK_MEASURE)))),c.a.createElement("div",null,c.a.createElement("span",null,s.Bandwidth,":"),c.a.createElement("span",null,c.a.createElement("span",{className:"value"},u[m.look].U_BANDWIDTH,c.a.createElement("span",{className:"unit"},u[m.look].U_BANDWIDTH_MEASURE))))):c.a.createElement(c.a.Fragment,null,c.a.createElement("div",null,c.a.createElement("span",null,s.users,":")," ",c.a.createElement("span",null,d.U_USERS)),c.a.createElement("div",null,c.a.createElement("span",null,s.spnd,":")," ",c.a.createElement("span",null,d.SUSPENDED_USERS)))))),"0"!==u[i].WEB_DOMAINS&&c.a.createElement("div",{className:f("/list/web/")},c.a.createElement(pe.b,{to:"/list/web/",onClick:function(e){return v("/list/web/",e)},onKeyPress:function(e){return e.preventDefault()}},c.a.createElement("h3",null,s.WEB),c.a.createElement("div",{className:"stats"},c.a.createElement("div",null,c.a.createElement("span",null,s.domains,":")," ",c.a.createElement("span",null,d.U_WEB_DOMAINS)),c.a.createElement("div",null,c.a.createElement("span",null,s.aliases,":")," ",c.a.createElement("span",null,d.U_WEB_ALIASES)),c.a.createElement("div",null,c.a.createElement("span",null,s.spnd,":")," ",c.a.createElement("span",null,d.SUSPENDED_WEB))))),"0"!==u[i].DNS_DOMAINS&&c.a.createElement("div",{className:f("/list/dns/")},c.a.createElement(pe.b,{to:"/list/dns/",onClick:function(e){return v("/list/dns/",e)},onKeyPress:function(e){return e.preventDefault()}},c.a.createElement("h3",null,s.DNS),c.a.createElement("div",{className:"stats"},c.a.createElement("div",null,c.a.createElement("span",null,s.domains,":")," ",c.a.createElement("span",null,d.U_DNS_DOMAINS)),c.a.createElement("div",null,c.a.createElement("span",null,s.records,":")," ",c.a.createElement("span",null,d.U_DNS_RECORDS)),c.a.createElement("div",null,c.a.createElement("span",null,s.spnd,":")," ",c.a.createElement("span",null,d.SUSPENDED_DNS))))),"0"!==u[i].MAIL_DOMAINS&&c.a.createElement("div",{className:f("/list/mail/")},c.a.createElement(pe.b,{to:"/list/mail/",onClick:function(e){return v("/list/mail/",e)},onKeyPress:function(e){return e.preventDefault()}},c.a.createElement("h3",null,s.MAIL),c.a.createElement("div",{className:"stats"},c.a.createElement("div",null,c.a.createElement("span",null,s.domains,":")," ",c.a.createElement("span",null,d.U_MAIL_DOMAINS)),c.a.createElement("div",null,c.a.createElement("span",null,s.accounts,":")," ",c.a.createElement("span",null,d.U_MAIL_ACCOUNTS)),c.a.createElement("div",null,c.a.createElement("span",null,s.spnd,":")," ",c.a.createElement("span",null,d.SUSPENDED_MAIL))))),"0"!==u[i].DATABASES&&c.a.createElement("div",{className:f("/list/db/")},c.a.createElement(pe.b,{to:"/list/db/",onClick:function(e){return v("/list/db/",e)},onKeyPress:function(e){return e.preventDefault()}},c.a.createElement("h3",null,s.DB),c.a.createElement("div",{className:"stats"},c.a.createElement("div",null,c.a.createElement("span",null,s.databases,":")," ",c.a.createElement("span",null,d.U_DATABASES)),c.a.createElement("div",null,c.a.createElement("span",null,s.spnd,":")," ",c.a.createElement("span",null,d.SUSPENDED_DB))))),"0"!==u[i].CRON_JOBS&&c.a.createElement("div",{className:f("/list/cron/")},c.a.createElement(pe.b,{to:"/list/cron/",onClick:function(e){return v("/list/cron/",e)},onKeyPress:function(e){return e.preventDefault()}},c.a.createElement("h3",null,s.CRON),c.a.createElement("div",{className:"stats"},c.a.createElement("div",null,c.a.createElement("span",null,s.jobs,":")," ",c.a.createElement("span",null,d.U_CRON_JOBS)),c.a.createElement("div",null,c.a.createElement("span",null,s.spnd,":")," ",c.a.createElement("span",null,d.SUSPENDED_CRON))))),"0"!==u[i].BACKUPS&&c.a.createElement("div",{className:f("/list/backup/")+" last"},c.a.createElement(pe.b,{to:"/list/backup/",onClick:function(e){return v("/list/backup/",e)},onKeyPress:function(e){return e.preventDefault()}},c.a.createElement("h3",null,s.BACKUP),c.a.createElement("div",{className:"stats"},c.a.createElement("div",null,c.a.createElement("span",null,s.backups,":")," ",c.a.createElement("span",null,d.U_BACKUPS))))))):c.a.createElement(P,null)},An=(a(269),function(e){var t,a=Object(o.d)((function(e){return e.session})),n=a.i18n,r=a.userName,l=Object(o.d)((function(e){return e.userSession})).session,s=Object(o.d)((function(e){return e.mainNavigation})),i=s.activeElement,u=s.focusedElement,m=Object(o.c)(),d=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",a="top-link";return e===i&&(a+=" active"),e===u&&(a+=" focus"),a+" ".concat(t)},E=function(e,t){if("".concat(window.location.pathname).concat(window.location.search)===e)return t.preventDefault();m(Be(e))};return c.a.createElement("div",{className:e.class},c.a.createElement("div",{className:"mobile-menu"},"admin"===r&&c.a.createElement(c.a.Fragment,null,c.a.createElement("div",{className:d("/list/package/")},c.a.createElement(pe.b,{to:"/list/package/",onClick:function(e){return E("/list/package/",e)},onKeyPress:function(e){return e.preventDefault()}},n.Packages)),c.a.createElement("div",{className:d("/list/ip/")},c.a.createElement(pe.b,{to:"/list/ip/",onClick:function(e){return E("/list/ip/",e)},onKeyPress:function(e){return e.preventDefault()}},n.IP)),c.a.createElement("div",{className:d("/list/rrd/")},c.a.createElement(pe.b,{to:"/list/rrd/",onClick:function(e){return E("/list/rrd/",e)},onKeyPress:function(e){return e.preventDefault()}},n.Graphs))),c.a.createElement("div",{className:d("/list/stats/")},c.a.createElement(pe.b,{to:"/list/stats/",onClick:function(e){return E("/list/stats/",e)},onKeyPress:function(e){return e.preventDefault()}},n.Statistics)),c.a.createElement("div",{className:d("/list/log/")},c.a.createElement(pe.b,{to:"/list/log/",onClick:function(e){return E("/list/log/",e)},onKeyPress:function(e){return e.preventDefault()}},n.Log)),"admin"===r&&c.a.createElement(c.a.Fragment,null,c.a.createElement("div",{className:d("/list/updates/")},c.a.createElement(pe.b,{to:"/list/updates/",onClick:function(e){return E("/list/updates/",e)},onKeyPress:function(e){return e.preventDefault()}},n.Updates)),l.FIREWALL_SYSTEM&&c.a.createElement("div",{className:d("/list/firewall/")},c.a.createElement(pe.b,{to:"/list/firewall/",onClick:function(e){return E("/list/firewall/",e)},onKeyPress:function(e){return e.preventDefault()}},n.Firewall))),l.FILEMANAGER_KEY&&c.a.createElement("div",{className:d("/list/directory/")},c.a.createElement(pe.b,{to:"/list/directory/"},n["File Manager"])),"yes"===l.SOFTACULOUS&&c.a.createElement("div",{className:d("/softaculous/")},c.a.createElement(pe.b,{to:"/softaculous/",target:"_blank"},null!==(t=n.Apps)&&void 0!==t?t:"Apps")),"admin"===r&&c.a.createElement("div",{className:d("/list/server/")},c.a.createElement(pe.b,{to:"/list/server/",onClick:function(e){return E("/list/server/",e)},onKeyPress:function(e){return e.preventDefault()}},n.Server))),c.a.createElement("div",{className:"mobile-stat-menu"},c.a.createElement(wn,{mobile:!0})))}),Cn=window.location.origin;function Dn(e){return c.a.createElement("svg",{width:"24px",height:"24px",viewBox:"0 0 24 24",id:"_24x24_On_Light_Notification","data-name":"24x24/On Light/Notification",xmlns:"http://www.w3.org/2000/svg"},c.a.createElement("rect",{id:"view-box",width:"24",height:"24",fill:"none"}),c.a.createElement("path",{id:"Shape",d:"M6,17v-.5H2.25A2.253,2.253,0,0,1,0,14.25v-.382a2.542,2.542,0,0,1,1.415-2.289A1.248,1.248,0,0,0,2.1,10.572l.446-4.91a6.225,6.225,0,0,1,12.4,0l.446,4.91a1.26,1.26,0,0,0,.686,1.005,2.547,2.547,0,0,1,1.418,2.29v.382a2.252,2.252,0,0,1-2.25,2.25H11.5V17A2.75,2.75,0,0,1,6,17Zm1.5,0A1.25,1.25,0,0,0,10,17v-.5H7.5ZM4.045,5.8,3.6,10.708A2.738,2.738,0,0,1,2.089,12.92a1.055,1.055,0,0,0-.589.949v.382A.751.751,0,0,0,2.25,15h13A.751.751,0,0,0,16,14.25v-.382a1.054,1.054,0,0,0-.586-.948A2.739,2.739,0,0,1,13.9,10.708L13.456,5.8a4.725,4.725,0,0,0-9.411,0Z",transform:"translate(3.25 2.25)",fill:"#f8b014"}))}function Mn(e){return c.a.createElement("svg",{width:"24px",height:"24px",viewBox:"0 0 24 24",id:"_24x24_On_Light_Notification-Alert","data-name":"24x24/On Light/Notification-Alert",xmlns:"http://www.w3.org/2000/svg"},c.a.createElement("rect",{id:"view-box",width:"24",height:"24",fill:"none"}),c.a.createElement("path",{id:"Shape",d:"M6,17v-.5H2.25A2.253,2.253,0,0,1,0,14.25v-.382a2.542,2.542,0,0,1,1.415-2.289A1.247,1.247,0,0,0,2.1,10.572l.446-4.91A6.227,6.227,0,0,1,10.618.286a5.477,5.477,0,0,0-.635,1.374A4.794,4.794,0,0,0,8.75,1.5,4.7,4.7,0,0,0,4.045,5.8L3.6,10.708A2.739,2.739,0,0,1,2.089,12.92a1.055,1.055,0,0,0-.589.949v.382A.751.751,0,0,0,2.25,15h13A.751.751,0,0,0,16,14.25v-.382a1.053,1.053,0,0,0-.586-.948A2.739,2.739,0,0,1,13.9,10.708l-.2-2.18a5.473,5.473,0,0,0,1.526.221l.166,1.822a1.26,1.26,0,0,0,.686,1.005,2.547,2.547,0,0,1,1.418,2.29v.382a2.252,2.252,0,0,1-2.25,2.25H11.5V17A2.75,2.75,0,0,1,6,17Zm1.5,0A1.25,1.25,0,0,0,10,17v-.5H7.5ZM15.047,6.744A3.486,3.486,0,0,1,13.5,6.28L13.456,5.8a4.7,4.7,0,0,0-1.648-3.185,3.5,3.5,0,0,1,.61-1.417A6.221,6.221,0,0,1,14.95,5.662l.1,1.081v0Z",transform:"translate(3.25 2.25)",fill:"#f8b014"}),c.a.createElement("path",{id:"Shape-2","data-name":"Shape",d:"M3.5,7A3.5,3.5,0,1,1,7,3.5,3.5,3.5,0,0,1,3.5,7Z",transform:"translate(15 2)",fill:"#f8b014"}))}a(270);var Fn=function(){var e=Object(o.d)((function(e){return e.session})).i18n,t=Object(o.d)((function(e){return e.notifications})).notifications,a=Object(o.c)(),r=Object(n.useState)(!1),l=Object(A.a)(r,2),s=l[0],i=l[1];Object(n.useEffect)((function(){t.length||u()}),[t]);var u=function(){i(!0),be.a.get(Cn+"/api/v1/list/notifications/index.php",{params:{ajax:1,token:He()}}).then((function(e){var t=[];for(var n in e.data.result)t.push(e.data.result[n]);a({type:"ADD_NOTIFICATIONS",value:t}),i(!1)})).catch((function(e){console.error(e),i(!1)}))},m=function(e){(function(e){return be.a.get(Cn+"/api/v1/delete/notification/index.php",{params:{delete:1,notification_id:e,token:He()}})})(e).then((function(){u()})).catch((function(e){return console.error(e)}))};return c.a.createElement("div",{className:"btn-group"},c.a.createElement("button",{type:"button",className:"btn btn-danger dropdown-toggle","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},c.a.createElement("div",{className:"bell"},t.length?c.a.createElement(Mn,null):c.a.createElement(Dn,null))),c.a.createElement("div",{className:"dropdown-menu"},s?"Loading":t.length?t.map((function(e){return c.a.createElement(c.a.Fragment,null,c.a.createElement("div",{className:"dropdown-item"},c.a.createElement("span",{className:"title"},c.a.createElement("b",null,e.TOPIC)),c.a.createElement("span",{className:"delete-notification",onClick:function(){return m(e.ID)}})),c.a.createElement("div",null,at()(e.NOTICE)),c.a.createElement("div",{className:"dropdown-divider"}))})):c.a.createElement("div",{className:"dropdown-item",style:{cursor:"default",marginBottom:"10"}},c.a.createElement("span",{className:"title"},e["no notifications"]))))},xn=(a(271),function(e){var t,a=Object(o.d)((function(e){return e.session})),r=a.i18n,l=a.userName,s=Object(o.d)((function(e){return e.panel})).panel,i=Object(o.d)((function(e){return e.userSession})).session,m=Object(o.d)((function(e){return e.mainNavigation})),d=m.activeElement,E=m.focusedElement,p=Object(o.c)(),v=Object(n.useState)(!1),f=Object(A.a)(v,2),b=f[0],h=f[1],g=Object(n.useState)({smallNavigationClass:"small-navigation hidden"}),O=Object(A.a)(g,2),N=O[0],j=O[1],y=function(t){e.showTopNav(),"small-navigation hidden"===N.smallNavigationClass?j(Object(u.a)(Object(u.a)({},N),{},{smallNavigationClass:"small-navigation show"})):j(Object(u.a)(Object(u.a)({},N),{},{smallNavigationClass:"small-navigation hidden"}))},k=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",a="top-link";return e===d&&(a+=" active"),e===E&&(a+=" focus"),a+" ".concat(t)},_=function(e,t){if("".concat(window.location.pathname).concat(window.location.search)===e)return t.preventDefault();p(Be(e))},S=function(){h(!0),p(_a()).then((function(){h(!1)}),(function(e){h(!1),console.error(e)}))},w=function(){if(s[l]&&"yes"===s[l].NOTIFICATIONS)return c.a.createElement(Fn,null)};return c.a.createElement("div",{className:"panel-wrapper"},b&&c.a.createElement(P,null),c.a.createElement("div",{className:"top-panel ".concat(i.look?"long-profile":"")},c.a.createElement("div",{className:"container left-menu"},c.a.createElement("div",{className:"logo"},c.a.createElement(pe.b,{to:"/list/user/",onClick:function(){return p(Be("/list/user/"))}},c.a.createElement("div",null,c.a.createElement("img",{src:"/images/white_logo.png",alt:"Logo"})))),"admin"===l&&c.a.createElement(c.a.Fragment,null,c.a.createElement("div",{className:k("/list/package/")},c.a.createElement(pe.b,{to:"/list/package/",onClick:function(e){return _("/list/package/",e)},onKeyPress:function(e){return e.preventDefault()}},r.Packages)),c.a.createElement("div",{className:k("/list/ip/")},c.a.createElement(pe.b,{to:"/list/ip/",onClick:function(e){return _("/list/ip/",e)},onKeyPress:function(e){return e.preventDefault()}},r.IP)),c.a.createElement("div",{className:k("/list/rrd/")},c.a.createElement(pe.b,{to:"/list/rrd/",onClick:function(e){return _("/list/rrd/",e)},onKeyPress:function(e){return e.preventDefault()}},r.Graphs))),c.a.createElement("div",{className:k("/list/stats/")},c.a.createElement(pe.b,{to:"/list/stats/",onClick:function(e){return _("/list/stats/",e)},onKeyPress:function(e){return e.preventDefault()}},r.Statistics)),c.a.createElement("div",{className:k("/list/log/")},c.a.createElement(pe.b,{to:"/list/log/",onClick:function(e){return _("/list/log/",e)},onKeyPress:function(e){return e.preventDefault()}},r.Log)),"admin"===l&&c.a.createElement(c.a.Fragment,null,c.a.createElement("div",{className:k("/list/updates/")},c.a.createElement(pe.b,{to:"/list/updates/",onClick:function(e){return _("/list/updates/",e)},onKeyPress:function(e){return e.preventDefault()}},r.Updates)),i.FIREWALL_SYSTEM&&c.a.createElement("div",{className:k("/list/firewall/")},c.a.createElement(pe.b,{to:"/list/firewall/",onClick:function(e){return _("/list/firewall/",e)},onKeyPress:function(e){return e.preventDefault()}},r.Firewall))),i.FILEMANAGER_KEY&&c.a.createElement("div",{className:k("/list/directory/")},c.a.createElement(pe.b,{to:"/list/directory/"},r["File Manager"])),"yes"===i.SOFTACULOUS&&c.a.createElement("div",{className:k("/softaculous/")},c.a.createElement(pe.b,{to:"/softaculous/",target:"_blank"},null!==(t=r.Apps)&&void 0!==t?t:"Apps")),"admin"===l&&c.a.createElement("div",{className:k("/list/server/")},c.a.createElement(pe.b,{to:"/list/server/",onClick:function(e){return _("/list/server/",e)},onKeyPress:function(e){return e.preventDefault()}},r.Server))),c.a.createElement("div",{className:"container profile-menu"},w(),c.a.createElement("div",{className:"edit-user"},c.a.createElement(pe.b,{to:"/edit/user?user=".concat(l)},i.look?c.a.createElement("div",{className:"long-username"},c.a.createElement("span",null,i.user),c.a.createElement(W.a,{icon:"long-arrow-alt-right"}),c.a.createElement("span",null,i.look)):l)),c.a.createElement("div",{className:"logout-button"},c.a.createElement("button",{onClick:S},r["Log out"])))),function(){if(document.documentElement.clientWidth<900)return c.a.createElement("div",{className:"top-panel small-device"},c.a.createElement("div",{className:"container left-menu"},c.a.createElement("div",{className:"logo"},c.a.createElement(pe.b,{to:"/list/user/",onClick:function(){return p(Be("/list/user/"))}},c.a.createElement("div",null,c.a.createElement("img",{src:"/images/white_logo.png",alt:"Logo"}))))),c.a.createElement("div",{className:"container hamburger",onClick:y},c.a.createElement("span",{className:"bar"}),c.a.createElement("span",{className:"bar"}),c.a.createElement("span",{className:"bar"})),c.a.createElement("div",{className:"container profile-menu"},w(),c.a.createElement("div",null,c.a.createElement(pe.b,{to:"/edit/user?user=".concat(l)},l)),c.a.createElement("div",null,c.a.createElement("button",{onClick:S},r["Log out"]))))}())}),Tn=(a(272),function(){var e=Object(R.g)(),t=Object(n.useState)(!0),a=Object(A.a)(t,2),r=a[0],l=a[1],s=Object(n.useState)({menuHeight:135,tabs:[],showTopNav:!1}),i=Object(A.a)(s,2),m=i[0],d=i[1],E=Object(o.d)((function(e){return e.session})).userName,p=Object(o.d)((function(e){return e.userSession})).session,v=Object(o.d)((function(e){return e.menuCounters})).user,f=Object(o.d)((function(e){return e.mainNavigation})),b=f.activeElement,h=f.focusedElement,g=f.adminMenuTabs,O=f.userMenuTabs,N=Object(o.d)((function(e){return e.controlPanelContent})).controlPanelFocusedElement,j=Object(o.c)();Object(n.useEffect)((function(){if(!E||!Object.entries(v).length||!Object.entries(p).length)return e.push("/login");if(p.look){var t=e.location.pathname.split("/")[2];if("/add/user/"===e.location.pathname)return e.push("/");if(["package","ip","rrd","updates","firewall","server"].includes(t))return e.push("/")}var a=p.look?O:g;d(Object(u.a)(Object(u.a)({},m),{},{tabs:a})),l(!1)}),[E,v,e,p]);var y=Object(n.useCallback)((function(t){var a;if(!(document.querySelector("input:focus")||document.querySelector("textarea:focus")||document.querySelector("textarea:focus"))&&(37!==t.keyCode&&39!==t.keyCode||(N&&j({type:"REMOVE_CPANEL_FOCUSED_ELEMENT",value:""}),h?a=m.tabs.indexOf(h):(j(Ve(b)),a=m.tabs.indexOf(b))),-1!==a))if(37===t.keyCode){var n=k(m.tabs,a);j(Ve(n))}else if(39===t.keyCode){var c=_(m.tabs,a);j(Ve(c))}else 13===t.keyCode&&!N&&h&&h!==b&&(e.push({pathname:h}),j(Be(h)),j({type:"REMOVE_FOCUSED_ELEMENT",value:""}))}),[b,h,N]);Object(n.useEffect)((function(){return window.addEventListener("resize",S),window.addEventListener("keyup",y),window.addEventListener("scroll",w),function(){window.removeEventListener("resize",S),window.removeEventListener("keyup",y),window.removeEventListener("scroll",w)}}),[y]),Object(n.useEffect)((function(){j({type:"REMOVE_FOCUSED_ELEMENT",value:""})}),[b]),Object(n.useEffect)((function(){j(Be(e.location.pathname))}),[]);var k=function(e,t){return 0===t?e[e.length-1]:e[t-1]},_=function(e,t){return t===e.length-1?e[0]:e[t+1]},S=function(){document.documentElement.clientWidth<900?d(Object(u.a)(Object(u.a)({},m),{},{menuHeight:45})):d(Object(u.a)(Object(u.a)({},m),{},{menuHeight:135}))},w=function(){if(document.documentElement.clientWidth>900){var e=window.scrollY,t=Math.max(45,135-e);d(Object(u.a)(Object(u.a)({},m),{},{menuHeight:t}))}};return c.a.createElement("div",{className:"main-nav"},r?c.a.createElement(P,null):c.a.createElement(c.a.Fragment,null,c.a.createElement(xn,{showTopNav:function(){var e=!m.showTopNav;d(Object(u.a)(Object(u.a)({},m),{},{showTopNav:e}))},visibleNav:m.showTopNav}),window.innerWidth>900?c.a.createElement("div",{className:m.showTopNav?"nav-wrapper show-nav":"nav-wrapper hide-nav"},c.a.createElement(wn,{menuHeight:m.menuHeight,mobile:!1})):c.a.createElement(An,{class:m.showTopNav?"mobile-top-nav-wrapper show":"mobile-top-nav-wrapper hide"})))}),Ln=(a(273),function(e){var t=e.data,a=e.focused,n=Object(o.d)((function(e){return e.session})).i18n;return c.a.createElement("div",{className:a?"statistic-item focused":"statistic-item",id:t.NAME},c.a.createElement(Ge,{className:"l-col w-15"}),c.a.createElement(Ge,{className:"r-col w-85"},c.a.createElement("div",{className:"stats"},c.a.createElement("div",{className:"name"},t.NAME),c.a.createElement("div",{className:"exclusion-items"},function(){if(Array.isArray(t.ITEMS))return n["no exclusions"];for(var e in t.ITEMS)return c.a.createElement(c.a.Fragment,null,c.a.createElement("b",null,e)," \xa0 ",t.ITEMS[e],c.a.createElement("br",null))}()))))}),Un=function(e){var t=Object(o.d)((function(e){return e.session})).i18n,a=Object(o.d)((function(e){return e.controlPanelContent})).controlPanelFocusedElement,r=Object(o.d)((function(e){return e.mainNavigation})).focusedElement,l=Object(o.c)(),s=Object(n.useState)({exclusions:[],loading:!1,total:0}),i=Object(A.a)(s,2),m=i[0],d=i[1];Object(n.useEffect)((function(){return l(Be("/list/backup/")),l({type:"REMOVE_FOCUSED_ELEMENT",value:""}),l({type:"REMOVE_CPANEL_FOCUSED_ELEMENT",value:""}),b(),function(){l({type:"REMOVE_CPANEL_FOCUSED_ELEMENT",value:""})}}),[]),Object(n.useEffect)((function(){return window.addEventListener("keydown",E),function(){window.removeEventListener("keydown",E)}}),[a,r,m.exclusions]);var E=function(e){38!==e.keyCode&&40!==e.keyCode||r&&l({type:"REMOVE_FOCUSED_ELEMENT",value:""}),38===e.keyCode?(e.preventDefault(),f()):40===e.keyCode&&(e.preventDefault(),v())},p=function(e){e[0].FOCUSED=e[0].NAME,d(Object(u.a)(Object(u.a)({},m),{},{exclusions:e})),l(vt(e[0].NAME))},v=function(){var e=Object(I.a)(m.exclusions);if(""!==a){var t=e.findIndex((function(e){return e.NAME===a}));if(t!==e.length-1){var n=e[t+1];e[t].FOCUSED="",n.FOCUSED=n.NAME,document.getElementById(n.NAME).scrollIntoView({behavior:"smooth",block:"center"}),d(Object(u.a)(Object(u.a)({},m),{},{exclusions:e})),l(vt(n.NAME))}}else p(e)},f=function(){var e=Object(I.a)(m.exclusions);if(""!==a){var t=e.findIndex((function(e){return e.NAME===a}));if(0!==t){var n=e[t-1];e[t].FOCUSED="",n.FOCUSED=n.NAME,document.getElementById(n.NAME).scrollIntoView({behavior:"smooth",block:"center"}),d(Object(u.a)(Object(u.a)({},m),{},{exclusions:e})),l(vt(n.NAME))}}else p(e)},b=function(){d(Object(u.a)(Object(u.a)({},m),{},{loading:!0})),be.a.get(Et+"".concat("/api/v1/list/backup/exclusions/index.php")).then((function(e){d({exclusions:h(e.data.data),loading:!1})})).catch((function(e){return console.error(e)}))},h=function(e){var t=[];for(var a in e)t.push({NAME:a,ITEMS:e[a]});return t};return c.a.createElement("div",{className:"exclusions-list"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(t.BACKUP))),c.a.createElement(Xe,{mobile:!1},c.a.createElement(yt,{href:"/edit/backup/exclusions",list:"server",name:t.configure,showLeftMenu:!0}),c.a.createElement("div",{className:"r-menu"},c.a.createElement("div",{className:"input-group input-group-sm"},c.a.createElement(bt,{handleSearchTerm:function(t){return e.changeSearchTerm(t)}})))),c.a.createElement("div",{className:"exclusions-wrapper"},m.loading?c.a.createElement(P,null):m.exclusions.map((function(e,t){return c.a.createElement(Ln,{data:e,key:t,focused:a===e.NAME})}))))};function In(e){var t,a,n=e.data,r=e.domain,l=Object(o.d)((function(e){return e.session})).i18n;localStorage.getItem("token");return c.a.createElement(Nt,{id:n.NAME,focused:n.FOCUSED,checked:n.isChecked,date:n.DATE,starred:n.STARRED,toggleFav:function(t){t?e.toggleFav(e.data.NAME,"add"):e.toggleFav(e.data.NAME,"delete")},checkItem:function(){e.checkItem(e.data.NAME)},suspended:"yes"===n.SUSPENDED},c.a.createElement(Ge,{className:"r-col w-85"},c.a.createElement("div",{className:"name"},"".concat(n.NAME,"@").concat(r)),c.a.createElement("div",{className:"stats"},c.a.createElement(Ge,{className:"c-1"},c.a.createElement("div",{className:"bandwidth"},l.Disk,c.a.createElement("span",null,c.a.createElement("span",{className:"stat"},n.U_DISK),"\xa0",l.mb),c.a.createElement("div",{className:"percent",style:{width:"".concat(n.U_DISK_PERCENT,"%")||!1}}))),c.a.createElement(Ge,{className:"c-2"},c.a.createElement("div",null,l.Quota,": ",c.a.createElement("span",null,c.a.createElement("span",{className:"stat"},n.QUOTA),"\xa0 ",l.mb)),c.a.createElement("div",null,l["Forward to"],": ",c.a.createElement("span",{className:"stat email"},n.FWD))),c.a.createElement(Ge,{className:"c-3"},(t=l.Autoreply,"no"===(a=n.AUTOREPLY)?c.a.createElement("div",{className:"crossed"},t):c.a.createElement("div",null,t,": ",c.a.createElement("span",{className:"stat"},a)))))),c.a.createElement("div",{className:"actions"},c.a.createElement("div",null,c.a.createElement(pe.b,{className:"link-edit",to:"/edit/mail/?domain=".concat(r,"&account=").concat(n.NAME)},l.edit,n.FOCUSED?c.a.createElement("span",{className:"shortcut-button html-unicode"},"\u21a9"):c.a.createElement(W.a,{icon:"pen"}))),c.a.createElement("div",null,c.a.createElement("button",{className:"link-gray",onClick:function(){return function(){var t="yes"===n.SUSPENDED?"unsuspend":"suspend";e.handleModal(n.suspend_conf,"/api/v1/".concat(t,"/mail/index.php?domain=").concat(r,"&account=").concat(n.NAME))}()}},l[n.suspend_action],n.FOCUSED?c.a.createElement("span",{className:"shortcut-button"},"S"):c.a.createElement(W.a,{icon:"yes"===n.SUSPENDED?"unlock":"lock"}))),c.a.createElement("div",null,c.a.createElement("button",{className:"link-delete",onClick:function(){e.handleModal(n.delete_conf,"/api/v1/delete/mail/index.php?domain=".concat(r,"&account=").concat(n.NAME))}},l.Delete,n.FOCUSED?c.a.createElement("span",{className:"shortcut-button del"},"Del"):c.a.createElement(W.a,{icon:"times"})))))}a(274);function Pn(e){var t=Object(o.d)((function(e){return e.session})).i18n,a=Object(o.d)((function(e){return e.controlPanelContent})).controlPanelFocusedElement,r=Object(o.d)((function(e){return e.mainNavigation})).focusedElement,l=Object(o.c)(),s=Object(n.useState)(!1),i=Object(A.a)(s,2),m=i[0],d=i[1],E=Object(n.useState)({text:"",visible:!1,actionUrl:""}),p=Object(A.a)(E,2),v=p[0],f=p[1],b=Object(n.useState)({mailAccounts:[],mailAccountsFav:[],domain:e.domain,toggledAll:!1,sorting:t.Date,order:"descending",selection:[],totalAmount:""}),h=Object(A.a)(b,2),g=h[0],O=h[1];Object(n.useEffect)((function(){return l({type:"REMOVE_CPANEL_FOCUSED_ELEMENT",value:""}),D().then((function(){return d(!1)})),function(){l({type:"REMOVE_CPANEL_FOCUSED_ELEMENT",value:""})}}),[]),Object(n.useEffect)((function(){return window.addEventListener("keydown",N),window.addEventListener("keydown",_),function(){window.removeEventListener("keydown",N),window.removeEventListener("keydown",_)}}),[a,r,g.mailAccounts]);var N=function(e){38!==e.keyCode&&40!==e.keyCode||r&&l({type:"REMOVE_FOCUSED_ELEMENT",value:""}),38===e.keyCode?(e.preventDefault(),k()):40===e.keyCode&&(e.preventDefault(),y())},j=function(e){e[0].FOCUSED=e[0].NAME,O(Object(u.a)(Object(u.a)({},g),{},{mailAccounts:e})),l(vt(e[0].NAME))},y=function(){var e=Object(I.a)(g.mailAccounts);if(""!==a){var t=e.findIndex((function(e){return e.NAME===a}));if(t!==e.length-1){var n=e[t+1];e[t].FOCUSED="",n.FOCUSED=n.NAME,document.getElementById(n.NAME).scrollIntoView({behavior:"smooth",block:"center"}),O(Object(u.a)(Object(u.a)({},g),{},{mailAccounts:e})),l(vt(n.NAME))}}else j(e)},k=function(){var e=Object(I.a)(g.mailAccounts);if(""!==a){var t=e.findIndex((function(e){return e.NAME===a}));if(0!==t){var n=e[t-1];e[t].FOCUSED="",n.FOCUSED=n.NAME,document.getElementById(n.NAME).scrollIntoView({behavior:"smooth",block:"center"}),O(Object(u.a)(Object(u.a)({},g),{},{mailAccounts:e})),l(vt(n.NAME))}}else j(e)},_=function(e){var t=document.querySelector("input:focus")||document.querySelector("textarea:focus");if(a&&!t)switch(e.keyCode){case 8:return C();case 13:return S();case 83:return w()}},S=function(){e.history.push("/edit/mail?domain=".concat(e.domain,"&account=").concat(a))},w=function(){var t=g.mailAccounts.filter((function(e){return e.NAME===a}))[0],n="yes"===t.SUSPENDED?"unsuspend":"suspend";R(t.suspend_conf,"/api/v1/".concat(n,"/mail/index.php?domain=").concat(e.domain,"&account=").concat(a))},C=function(){var t=g.mailAccounts.filter((function(e){return e.NAME===a}))[0];R(t.delete_conf,"/api/v1/delete/mail/index.php?domain=".concat(e.domain,"&account=").concat(a))},D=function(){return d(!0),new Promise((function(t,a){var n;(n=e.domain,be.a.get("".concat(Aa).concat("/api/v1/list/mail/index.php","?domain=").concat(n))).then((function(e){O(Object(u.a)(Object(u.a)({},g),{},{mailAccounts:M(e.data.data),webMail:e.data.webmail,selection:[],toggledAll:!1,mailAccountsFav:e.data.mailAccountsFav,totalAmount:e.data.totalAmount})),t()})).catch((function(e){return console.error(e)}))}))},M=function(e){var t=[];for(var n in e)e[n].NAME=n,e[n].FOCUSED=a===n,t.push(e[n]);return t},F=function(e){var t=g.selection,a=g.mailAccounts,n=Object(I.a)(t),c=a,r=n.indexOf(e),l=c.findIndex((function(t){return t.NAME===e}));c[l].isChecked=!c[l].isChecked,-1!==r?n.splice(r,1):n.push(e),O(Object(u.a)(Object(u.a)({},g),{},{mailAccounts:c,selection:n}))},x=function(e){var t=g.order,a=g.sorting,n=T(a);return"descending"===t?e.sort((function(e,t){return e[n]t[n]?1:t[n]>e[n]?-1:0}))},T=function(e){var a=t.Date,n=t.Accounts,c=t.Disk,r=t.Starred;switch(e){case a:return"DATE";case n:return"ACCOUNTS";case c:return"U_DISK";case r:return"STARRED"}},L=function(e,t){var a=g.mailAccountsFav;"add"===t?(a[e]=1,gt(e,"mail_acc").then((function(){O(Object(u.a)(Object(u.a)({},g),{},{mailAccountsFav:a}))})).catch((function(e){console.error(e)}))):(a[e]=void 0,Ot(e,"mail_acc").then((function(){O(Object(u.a)(Object(u.a)({},g),{},{mailAccountsFav:a}))})).catch((function(e){console.error(e)})))},U=function(e){var t=Object(I.a)(g.mailAccounts);if(e){var a=[],n=t.map((function(e){return a.push(e.NAME),e.isChecked=!0,e}));O(Object(u.a)(Object(u.a)({},g),{},{mailAccounts:n,selection:a,toggledAll:e}))}else{var c=t.map((function(e){return e.isChecked=!1,e}));O(Object(u.a)(Object(u.a)({},g),{},{mailAccounts:c,selection:[],toggledAll:e}))}},R=function(e,t){f(Object(u.a)(Object(u.a)({},v),{},{visible:!0,text:e,actionUrl:t}))},V=function(){l(et()).then((function(){return d(!1)}))},B=function(){f(Object(u.a)(Object(u.a)({},v),{},{visible:!1,text:"",actionUrl:""}))};return c.a.createElement("div",{className:"mail-accounts"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(t.MAIL))),c.a.createElement(Xe,{mobile:!1},c.a.createElement(yt,{name:t["Add Mail Account"],href:"/add/mail/?domain=".concat(e.domain),showLeftMenu:!0}),c.a.createElement("div",{className:"r-menu"},c.a.createElement("div",{className:"input-group input-group-sm"},g.webMail&&c.a.createElement("a",{href:g.webMail,className:"button-extra",type:"submit"},t["open webmail"]),c.a.createElement(kt,{toggleAll:U,toggled:g.toggledAll}),c.a.createElement(_t,{list:"mailList",bulkAction:function(t){var a=g.selection;a.length&&t&&(d(!0),function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],n=new FormData;return n.append("action",e),n.append("token",He()),n.append("domain",t),a.forEach((function(e){n.append("account[]",e)})),be.a.post(Aa+"/api/v1/bulk/mail/",n)}(t,e.domain,a).then((function(e){200===e.status&&(U(!1),D().then((function(){return V()})))})).catch((function(e){return console.error(e)})))}}),c.a.createElement(ft,{changeSorting:function(e,t){O(Object(u.a)(Object(u.a)({},g),{},{sorting:e,order:t}))},sorting:g.sorting,order:g.order,list:"mailAccountList"}),c.a.createElement(bt,{handleSearchTerm:function(t){return e.changeSearchTerm(t)}})))),m?c.a.createElement(P,null):c.a.createElement(c.a.Fragment,null,c.a.createElement("div",{className:"mail-accounts-wrapper"},c.a.createElement("div",{className:"subtitle"},c.a.createElement("span",null,"".concat(t.Listing," ").concat(g.domain))),function(){var e=g.mailAccounts,t=Object(u.a)({},g.mailAccountsFav),n=[];return e.forEach((function(e){e.FOCUSED=a===e.NAME,t[e.NAME]?e.STARRED=t[e.NAME]:e.STARRED=0,n.push(e)})),x(n).map((function(e,t){return c.a.createElement(In,{data:e,key:t,domain:g.domain,toggleFav:L,checkItem:F,handleModal:R})}))}()),c.a.createElement("div",{className:"footer-actions-wrapper"},c.a.createElement("div",{className:"total"},g.totalAmount),c.a.createElement("div",{className:"back"},c.a.createElement(pe.b,{to:"/list/mail/"},t.Back)))),c.a.createElement(St,{onSave:function(){if(!v.actionUrl)return B();B(),d(!0),Da(v.actionUrl).then((function(e){if(e.data.error)return d(!1),R(e.data.error,"");D().then((function(){return V()}))})).catch((function(e){d(!1),console.error(e)}))},onCancel:B,show:v.visible,text:v.text}))}a(275);var Rn=function(e){var t=e.data,a=Object(o.d)((function(e){return e.session})).i18n,n=(localStorage.getItem("token"),function(e,t){return"no"===t?c.a.createElement("div",{className:"crossed"},e):c.a.createElement("div",null,e,": ",c.a.createElement("span",{className:"stat"},t))});return c.a.createElement(Nt,{id:t.NAME,focused:t.FOCUSED,checked:t.isChecked,date:t.DATE,starred:t.STARRED,toggleFav:function(t){t?e.toggleFav(e.data.NAME,"add"):e.toggleFav(e.data.NAME,"delete")},checkItem:function(){e.checkItem(e.data.NAME)},suspended:"yes"===t.SUSPENDED},c.a.createElement(Ge,{className:"r-col w-85"},c.a.createElement("div",{className:"name"},t.NAME),c.a.createElement("div",{className:"stats"},c.a.createElement(Ge,{className:"c-1"},c.a.createElement("div",{className:"bandwidth"},a.Disk,c.a.createElement("span",null,c.a.createElement("span",{className:"stat"},t.U_DISK),a.mb),c.a.createElement("div",{className:"percent",style:{width:"".concat(t.U_DISK_PERCENT,"%")||!1}}))),c.a.createElement(Ge,{className:"c-2"},n(a["AntiVirus Support"],t.ANTIVIRUS),n(a["DKIM Support"],t.DKIM)),c.a.createElement(Ge,{className:"c-3"},n(a["AntiSpam Support"],t.ANTISPAM),c.a.createElement("div",null,a["Catchall email"],": ",c.a.createElement("span",{className:"stat catchall-mail"},t.CATCHALL))))),c.a.createElement("div",{className:"actions"},c.a.createElement("div",null,c.a.createElement(pe.b,{className:"link-gray",to:"/list/mail/?domain=".concat(t.NAME)},t.list_accounts_button,t.FOCUSED?c.a.createElement("span",{className:"shortcut-button"},"L"):c.a.createElement(W.a,{icon:"list"}))),c.a.createElement("div",null,c.a.createElement(pe.b,{className:"link-edit",to:"/add/mail/?domain=".concat(t.NAME)},a["add account"],t.FOCUSED?c.a.createElement("span",{className:"shortcut-button"},"N"):c.a.createElement(W.a,{icon:"plus"}))),c.a.createElement("div",null,c.a.createElement(pe.b,{className:"link-edit",to:"/edit/mail/?domain=".concat(t.NAME)},a.edit,t.FOCUSED?c.a.createElement("span",{className:"shortcut-button html-unicode"},"\u21a9"):c.a.createElement(W.a,{icon:"pen"}))),c.a.createElement("div",null,c.a.createElement("button",{className:"link-gray",onClick:function(){return function(){var a="yes"===t.SUSPENDED?"unsuspend":"suspend";e.handleModal(t.suspend_conf,"/api/v1/".concat(a,"/mail/index.php?domain=").concat(t.NAME))}()}},a[t.suspend_action],t.FOCUSED?c.a.createElement("span",{className:"shortcut-button"},"S"):c.a.createElement(W.a,{icon:"yes"===t.SUSPENDED?"unlock":"lock"}))),c.a.createElement("div",null,c.a.createElement("button",{className:"link-delete",onClick:function(){e.handleModal(t.delete_conf,"/api/v1/delete/mail/index.php?domain=".concat(t.NAME))}},a.Delete,t.FOCUSED?c.a.createElement("span",{className:"shortcut-button del"},"Del"):c.a.createElement(W.a,{icon:"times"})))))},Vn=(a(276),function(e){var t=Object(o.d)((function(e){return e.session})).i18n,a=Object(o.d)((function(e){return e.controlPanelContent})).controlPanelFocusedElement,r=Object(o.d)((function(e){return e.mainNavigation})).focusedElement,l=Object(o.c)(),s=Object(n.useState)(!1),i=Object(A.a)(s,2),m=i[0],d=i[1],E=Object(n.useState)({text:"",visible:!1,actionUrl:""}),p=Object(A.a)(E,2),v=p[0],f=p[1],b=Object(n.useState)({mails:[],mailFav:[],toggledAll:!1,webmail:"",sorting:t.Date,order:"descending",selection:[],totalAmount:""}),h=Object(A.a)(b,2),g=h[0],O=h[1];Object(n.useEffect)((function(){return l(Be("/list/mail/")),l({type:"REMOVE_FOCUSED_ELEMENT",value:""}),l({type:"REMOVE_CPANEL_FOCUSED_ELEMENT",value:""}),F().then((function(){return d(!1)})),function(){l({type:"REMOVE_CPANEL_FOCUSED_ELEMENT",value:""})}}),[]),Object(n.useEffect)((function(){return window.addEventListener("keydown",N),window.addEventListener("keydown",_),function(){window.removeEventListener("keydown",N),window.removeEventListener("keydown",_)}}),[a,r,g.mails]);var N=function(e){38!==e.keyCode&&40!==e.keyCode||r&&l({type:"REMOVE_FOCUSED_ELEMENT",value:""}),38===e.keyCode?(e.preventDefault(),k()):40===e.keyCode&&(e.preventDefault(),y())},j=function(e){e[0].FOCUSED=e[0].NAME,O(Object(u.a)(Object(u.a)({},g),{},{mails:e})),l(vt(e[0].NAME))},y=function(){var e=Object(I.a)(g.mails);if(""!==a){var t=e.findIndex((function(e){return e.NAME===a}));if(t!==e.length-1){var n=e[t+1];e[t].FOCUSED="",n.FOCUSED=n.NAME,document.getElementById(n.NAME).scrollIntoView({behavior:"smooth",block:"center"}),O(Object(u.a)(Object(u.a)({},g),{},{mails:e})),l(vt(n.NAME))}}else j(e)},k=function(){var e=Object(I.a)(g.mails);if(""!==a){var t=e.findIndex((function(e){return e.NAME===a}));if(0!==t){var n=e[t-1];e[t].FOCUSED="",n.FOCUSED=n.NAME,document.getElementById(n.NAME).scrollIntoView({behavior:"smooth",block:"center"}),O(Object(u.a)(Object(u.a)({},g),{},{mails:e})),l(vt(n.NAME))}}else j(e)},_=function(e){var t=document.querySelector("input:focus")||document.querySelector("textarea:focus");if(a&&!t)switch(e.keyCode){case 8:return M();case 13:return C();case 76:return w();case 78:return S();case 83:return D()}},S=function(){e.history.push("/add/mail/?domain=".concat(a))},w=function(){e.history.push("/list/mail?domain=".concat(a,"&type=access"))},C=function(){e.history.push("/edit/mail?domain=".concat(a))},D=function(){var e=g.mails.filter((function(e){return e.NAME===a}))[0],t="yes"===e.SUSPENDED?"unsuspend":"suspend";B(e.suspend_conf,"/api/v1/".concat(t,"/mail/index.php?domain=").concat(a))},M=function(){var e=g.mails.filter((function(e){return e.NAME===a}))[0];B(e.delete_conf,"/api/v1/delete/mail/index.php?domain=".concat(a))},F=function(){return d(!0),new Promise((function(e,t){Ca().then((function(t){O(Object(u.a)(Object(u.a)({},g),{},{mails:x(t.data.data),webmail:t.data.webmail,mailFav:t.data.mailFav,selection:[],toggledAll:!1,totalAmount:t.data.totalAmount})),e()})).catch((function(e){return console.error(e)}))}))},x=function(e){var t=[];for(var n in e)e[n].NAME=n,e[n].FOCUSED=a===n,t.push(e[n]);return t},T=function(e){var t=g.selection,a=g.mails,n=Object(I.a)(t),c=a,r=n.indexOf(e),l=c.findIndex((function(t){return t.NAME===e}));c[l].isChecked=!c[l].isChecked,-1!==r?n.splice(r,1):n.push(e),O(Object(u.a)(Object(u.a)({},g),{},{mails:c,selection:n}))},L=function(e){var t=g.order,a=g.sorting,n=U(a);return"descending"===t?e.sort((function(e,t){return e[n]t[n]?1:t[n]>e[n]?-1:0}))},U=function(e){var a=t.Date,n=t.Domains,c=t.Accounts,r=t.Disk,l=t.Starred;switch(e){case a:return"DATE";case n:return"domain_account";case c:return"ACCOUNTS";case r:return"U_DISK";case l:return"STARRED"}},R=function(e,t){var a=g.mailFav;"add"===t?(a[e]=1,gt(e,"mail").then((function(){O(Object(u.a)(Object(u.a)({},g),{},{mailFav:a}))})).catch((function(e){console.error(e)}))):(a[e]=void 0,Ot(e,"mail").then((function(){O(Object(u.a)(Object(u.a)({},g),{},{mailFav:a}))})).catch((function(e){console.error(e)})))},V=function(e){var t=Object(I.a)(g.mails);if(e){var a=[],n=t.map((function(e){return a.push(e.NAME),e.isChecked=!0,e}));O(Object(u.a)(Object(u.a)({},g),{},{mails:n,selection:a,toggledAll:e}))}else{var c=t.map((function(e){return e.isChecked=!1,e}));O(Object(u.a)(Object(u.a)({},g),{},{mails:c,selection:[],toggledAll:e}))}},B=function(e,t){f(Object(u.a)(Object(u.a)({},v),{},{visible:!0,text:e,actionUrl:t}))},W=function(){l(et()).then((function(){return d(!1)}))},q=function(){f(Object(u.a)(Object(u.a)({},v),{},{visible:!1,text:"",actionUrl:""}))};return c.a.createElement("div",{className:"mails"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(t.MAIL))),c.a.createElement(Xe,{mobile:!1},c.a.createElement(yt,{name:"Add Mail Domain",href:"/add/mail",showLeftMenu:!0}),c.a.createElement("div",{className:"r-menu"},c.a.createElement("div",{className:"input-group input-group-sm"},g.webmail&&c.a.createElement(pe.b,{to:{pathname:"http://".concat(window.location.hostname).concat(g.webmail)},target:"_blank",className:"button-extra",type:"submit"},t["open webmail"]),c.a.createElement(kt,{toggleAll:V,toggled:g.toggledAll}),c.a.createElement(_t,{list:"mailList",bulkAction:function(e){var t=g.selection;t.length&&e&&(d(!0),function(e,t){var a=new FormData;return a.append("action",e),a.append("token",He()),t.forEach((function(e){a.append("domain[]",e)})),be.a.post(Aa+"/api/v1/bulk/mail/",a)}(e,t).then((function(e){200===e.status&&(V(!1),F().then((function(){return W()})))})).catch((function(e){return console.error(e)})))}}),c.a.createElement(ft,{changeSorting:function(e,t){O(Object(u.a)(Object(u.a)({},g),{},{sorting:e,order:t}))},sorting:g.sorting,order:g.order,list:"mailList"}),c.a.createElement(bt,{handleSearchTerm:function(t){return e.changeSearchTerm(t)}})))),c.a.createElement("div",{className:"mails-wrapper"},m?c.a.createElement(P,null):c.a.createElement(c.a.Fragment,null,function(){var e=g.mails,t=Object(u.a)({},g.mailFav),n=[];return e.forEach((function(e){e.FOCUSED=a===e.NAME,t[e.NAME]?e.STARRED=t[e.NAME]:e.STARRED=0,n.push(e)})),L(n).map((function(e,t){return c.a.createElement(Rn,{data:e,key:t,toggleFav:R,checkItem:T,handleModal:B})}))}(),c.a.createElement("div",{className:"total"},g.totalAmount))),c.a.createElement(St,{onSave:function(){if(!v.actionUrl)return q();q(),d(!0),Da(v.actionUrl).then((function(e){if(e.data.error)return d(!1),B(e.data.error,"");F().then((function(){return W()}))})).catch((function(e){d(!1),console.error(e)}))},onCancel:q,show:v.visible,text:v.text}))});function Bn(e){var t=Object(o.d)((function(e){return e.session})).i18n,a=Object(n.useState)(""),r=Object(A.a)(a,2),l=r[0],s=r[1],i=Object(R.g)();return Object(n.useEffect)((function(){var e=ge.a.parse(i.location.search,{ignoreQueryPrefix:!0});e.domain?s(e.domain):s("")}),[i.location]),c.a.createElement(c.a.Fragment,null,c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(t.MAIL))),l?c.a.createElement(Pn,Object.assign({},e,{domain:l,changeSearchTerm:e.changeSearchTerm})):c.a.createElement(Vn,Object.assign({},e,{changeSearchTerm:e.changeSearchTerm})))}function Wn(e){var t=e.data,a=e.domain,n=e.handleModal,r=Object(w.a)(e,["data","domain","handleModal"]),l=Object(o.d)((function(e){return e.session})).i18n;return c.a.createElement(Nt,{id:t.NAME,date:t.DATE,toggleFav:function(e){e?r.toggleFav(t.NAME,"add"):r.toggleFav(t.NAME,"delete")},checkItem:function(){r.checkItem(t.NAME)},starred:t.STARRED,focused:t.FOCUSED,checked:t.isChecked,suspended:"yes"===t.SUSPENDED},c.a.createElement(Ge,{className:"r-col w-85"},c.a.createElement("div",{className:"name"},t.dnsRecord),c.a.createElement("br",null),c.a.createElement("div",{className:"stats"},c.a.createElement(Ge,{className:"c-1"},c.a.createElement("span",{className:"stat"},"".concat(t.RECORD.substring(0,12)).concat(t.RECORD.length>12?"...":""))),c.a.createElement(Ge,{className:"c-2"},c.a.createElement("span",{className:"stat"},t.TYPE)),c.a.createElement(Ge,{className:"c-3"},c.a.createElement("span",{className:"stat"},t.PRIORITY)),c.a.createElement(Ge,{className:"c-4 long-value"},c.a.createElement("span",{className:"stat"},t.VALUE)))),c.a.createElement("div",{className:"actions"},c.a.createElement("div",null,c.a.createElement(pe.b,{className:"link-edit",to:"/edit/dns/?domain=".concat(a,"&record_id=").concat(t.ID)},l.edit,t.FOCUSED?c.a.createElement("span",{className:"shortcut-button html-unicode"},"\u21a9"):c.a.createElement(W.a,{icon:"pen"}))),c.a.createElement("div",null,c.a.createElement("button",{className:"link-gray",onClick:function(){n(t.suspend_conf,"/api/v1/".concat(t.suspend_action,"/dns/?domain=").concat(a,"&record_id=").concat(t.ID))}},t.suspend_action,t.FOCUSED?c.a.createElement("span",{className:"shortcut-button"},"S"):c.a.createElement(W.a,{icon:"yes"===t.SUSPENDED?"unlock":"lock"}))),c.a.createElement("div",null,c.a.createElement("button",{className:"link-delete",onClick:function(){n(t.delete_conf,"/api/v1/delete/dns/?domain=".concat(a,"&record_id=").concat(t.ID))}},l.Delete,t.FOCUSED?c.a.createElement("span",{className:"shortcut-button del"},"Del"):c.a.createElement(W.a,{icon:"times"})))))}a(277);function qn(e){var t=Object(o.d)((function(e){return e.session})).i18n,a=Object(o.d)((function(e){return e.controlPanelContent})).controlPanelFocusedElement,r=Object(o.d)((function(e){return e.mainNavigation})).focusedElement,l=Object(o.c)(),s=Object(R.g)(),i=Object(n.useState)(!1),m=Object(A.a)(i,2),d=m[0],E=m[1],p=Object(n.useState)({text:"",visible:!1,actionUrl:""}),v=Object(A.a)(p,2),f=v[0],b=v[1],h=Object(n.useState)({dnsRecords:[],dnsRecordFav:[],domain:"",toggledAll:!1,sorting:t.Date,order:"descending",selection:[],totalAmount:""}),g=Object(A.a)(h,2),O=g[0],N=g[1];Object(n.useEffect)((function(){return l({type:"REMOVE_CPANEL_FOCUSED_ELEMENT",value:""}),D().then((function(){return E(!1)})),function(){l({type:"REMOVE_CPANEL_FOCUSED_ELEMENT",value:""})}}),[]),Object(n.useEffect)((function(){return window.addEventListener("keydown",j),window.addEventListener("keydown",S),function(){window.removeEventListener("keydown",j),window.removeEventListener("keydown",S)}}),[a,r,O.dnsRecords]);var j=function(e){38!==e.keyCode&&40!==e.keyCode||r&&l({type:"REMOVE_FOCUSED_ELEMENT",value:""}),38===e.keyCode?(e.preventDefault(),_()):40===e.keyCode&&(e.preventDefault(),k())},y=function(e){e[0].FOCUSED=e[0].NAME,N(Object(u.a)(Object(u.a)({},O),{},{dnsRecords:e})),l(vt(e[0].NAME))},k=function(){var e=Object(I.a)(O.dnsRecords);if(""!==a){var t=e.findIndex((function(e){return e.NAME===a}));if(t!==e.length-1){var n=e[t+1];e[t].FOCUSED="",n.FOCUSED=n.NAME,document.getElementById(n.NAME).scrollIntoView({behavior:"smooth",block:"center"}),N(Object(u.a)(Object(u.a)({},O),{},{dnsRecords:e})),l(vt(n.NAME))}}else y(e)},_=function(){var e=Object(I.a)(O.dnsRecords);if(""!==a){var t=e.findIndex((function(e){return e.NAME===a}));if(0!==t){var n=e[t-1];e[t].FOCUSED="",n.FOCUSED=n.NAME,document.getElementById(n.NAME).scrollIntoView({behavior:"smooth",block:"center"}),N(Object(u.a)(Object(u.a)({},O),{},{dnsRecords:e})),l(vt(n.NAME))}}else y(e)},S=function(e){var t=document.querySelector("input:focus")||document.querySelector("textarea:focus");if(a&&!t){if(13===e.keyCode)return w();if(8===e.keyCode)return C()}},w=function(){e.history.push("/edit/dns/?domain=".concat(a))},C=function(){var e=O.databases.filter((function(e){return e.NAME===a}))[0];L(e.delete_conf,"/api/v1/delete/database/?domain=".concat(a))},D=function(){var e=ge.a.parse(s.location.search,{ignoreQueryPrefix:!0});return E(!0),new Promise((function(t,a){var n;(n=e.domain||"",be.a.get("".concat(Ra).concat("/api/v1/list/dns/index.php","?domain=").concat(n))).then((function(a){N(Object(u.a)(Object(u.a)({},O),{},{dnsRecords:M(a.data.data),dnsRecordFav:a.data.dnsRecordsFav,totalAmount:a.data.totalAmount,domain:e.domain,toggledAll:!1,selection:[]})),t()})).catch((function(e){return console.error(e)}))}))},M=function(e){var t=[];for(var n in e)e[n].NAME=n,e[n].FOCUSED=a===n,t.push(e[n]);return t},F=function(e){var t=O.selection,a=O.dnsRecords,n=Object(I.a)(t),c=a,r=n.indexOf(e),l=c.findIndex((function(t){return t.NAME===e}));c[l].isChecked=!c[l].isChecked,-1!==r?n.splice(r,1):n.push(e),N(Object(u.a)(Object(u.a)({},O),{},{dnsRecords:c,selection:n}))},x=function(e,t){var a=O.dnsRecordFav;"add"===t?(a[e]=1,gt(e,"dns_rec").then((function(){N(Object(u.a)(Object(u.a)({},O),{},{dnsRecordFav:a}))})).catch((function(e){console.error(e)}))):(a[e]=void 0,Ot(e,"dns_rec").then((function(){N(Object(u.a)(Object(u.a)({},O),{},{dnsRecordFav:a}))})).catch((function(e){console.error(e)})))},T=function(e){var t=Object(I.a)(O.dnsRecords);if(e){var a=[],n=t.map((function(e){return a.push(e.NAME),e.isChecked=!0,e}));N(Object(u.a)(Object(u.a)({},O),{},{dnsRecords:n,selection:a,toggledAll:e}))}else{var c=t.map((function(e){return e.isChecked=!1,e}));N(Object(u.a)(Object(u.a)({},O),{},{dnsRecords:c,selection:[],toggledAll:e}))}},L=function(e,t){b(Object(u.a)(Object(u.a)({},f),{},{visible:!0,text:e,actionUrl:t}))},U=function(){l(et()).then((function(){return E(!1)}))},V=function(){b(Object(u.a)(Object(u.a)({},f),{},{visible:!1,text:"",actionUrl:""}))};return c.a.createElement("div",{className:"dns-records"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(t.DNS))),c.a.createElement(Xe,{mobile:!1},c.a.createElement(yt,{name:t["Add DNS Record"],href:"/add/dns/?domain=".concat(O.domain),showLeftMenu:!0}),c.a.createElement("div",{className:"r-menu"},c.a.createElement("div",{className:"input-group input-group-sm"},c.a.createElement(kt,{toggleAll:T,toggled:O.toggledAll}),c.a.createElement(_t,{list:"dnsList",bulkAction:function(e){var t=O.selection;t.length&&e&&(E(!0),function(e,t,a){var n=new FormData;return n.append("action",e),n.append("token",He()),n.append("domain",a),t.forEach((function(e){n.append("record[]",e)})),be.a.post(Ra+"/api/v1/bulk/dns/",n)}(e,t,O.domain).then((function(e){200===e.status&&(T(!1),D().then((function(){return U()})))})).catch((function(e){return console.error(e)})))}}),c.a.createElement(bt,{handleSearchTerm:function(t){return e.changeSearchTerm(t)}})))),d?c.a.createElement(P,null):c.a.createElement(c.a.Fragment,null,c.a.createElement("div",{className:"dns-records-wrapper"},c.a.createElement("div",{className:"subtitle"},c.a.createElement("span",null,"".concat(t.Listing," ").concat(O.domain))),function(){var e=O.dnsRecords,t=[],n=Object(u.a)({},O.dnsRecordFav);return e.forEach((function(e){e.FOCUSED=a===e.NAME,n[e.NAME]?e.STARRED=n[e.NAME]:e.STARRED=0,t.push(e)})),t.map((function(e,t){return c.a.createElement(Wn,{data:e,key:t,domain:O.domain,toggleFav:x,checkItem:F,handleModal:L})}))}()),c.a.createElement("div",{className:"footer-actions-wrapper"},c.a.createElement("div",{className:"total"},O.totalAmount),c.a.createElement("div",{className:"back"},c.a.createElement(pe.b,{to:"/list/dns/"},t.Back)))),c.a.createElement(St,{onSave:function(){if(!f.actionUrl)return V();V(),E(!0),Va(f.actionUrl).then((function(e){if(e.data.error)return E(!1),L(e.data.error,"");D().then((function(){return U()}))})).catch((function(e){E(!1),console.error(e)}))},onCancel:V,show:f.visible,text:f.text}))}a(278);var Hn=function(e){var t=e.data,a=Object(o.d)((function(e){return e.session})).i18n;localStorage.getItem("token");return c.a.createElement(Nt,{id:t.NAME,checked:t.isChecked,starred:t.STARRED,date:t.DATE,toggleFav:function(t){t?e.toggleFav(e.data.NAME,"add"):e.toggleFav(e.data.NAME,"delete")},checkItem:function(){e.checkItem(e.data.NAME)},suspended:"yes"===t.SUSPENDED,focused:t.FOCUSED},c.a.createElement(Ge,{className:"r-col w-85"},c.a.createElement("div",{className:"name"},t.NAME," ",c.a.createElement("span",{className:"dns-records"},"/ ",t.RECORDS)),c.a.createElement("br",null),c.a.createElement("div",{className:"stats"},c.a.createElement(Ge,{className:"c-1 w-35"},c.a.createElement("div",{className:"ip"},t.IP),c.a.createElement("div",{className:"soa"},c.a.createElement("span",{className:"stat"},t.SOA))),c.a.createElement(Ge,{className:"c-2 w-30"},c.a.createElement("div",null,a.TTL,": ",c.a.createElement("span",{className:"stat"},t.TTL)),c.a.createElement("div",null,a.Serial,": ",c.a.createElement("span",{className:"stat"},t.SERIAL))),c.a.createElement(Ge,{className:"c-3 w-35"},c.a.createElement("div",null,a.Template,": ",c.a.createElement("span",{className:"stat"},t.TPL)),c.a.createElement("div",null,a.Expire,": ",c.a.createElement("span",{className:"stat"},t.EXP))))),c.a.createElement("div",{className:"actions"},c.a.createElement("div",null,c.a.createElement(pe.b,{className:"link-gray",to:"/list/dns/?domain=".concat(t.NAME)},t.RECORDS_I18N,t.FOCUSED?c.a.createElement("span",{className:"shortcut-button"},"L"):c.a.createElement(W.a,{icon:"list"}))),c.a.createElement("div",null,c.a.createElement(pe.b,{className:"link-edit",to:"/add/dns/?domain=".concat(t.NAME)},a["add record"],t.FOCUSED?c.a.createElement("span",{className:"shortcut-button"},"N"):c.a.createElement(W.a,{icon:"plus"}))),c.a.createElement("div",null,c.a.createElement(pe.b,{className:"link-edit",to:"/edit/dns/?domain=".concat(t.NAME)},a.edit,t.FOCUSED?c.a.createElement("span",{className:"shortcut-button html-unicode"},"\u21a9"):c.a.createElement(W.a,{icon:"pen"}))),c.a.createElement("div",null,c.a.createElement("button",{className:"link-gray",onClick:function(){return function(){var a="yes"===t.SUSPENDED?"unsuspend":"suspend";e.handleModal(t.suspend_conf,"/api/v1/".concat(a,"/dns/index.php?domain=").concat(t.NAME))}()}},a[t.suspend_action],t.FOCUSED?c.a.createElement("span",{className:"shortcut-button"},"S"):c.a.createElement(W.a,{icon:"yes"===t.SUSPENDED?"unlock":"lock"}))),c.a.createElement("div",null,c.a.createElement("button",{type:"button",className:"link-delete",onClick:function(){e.handleModal(t.delete_conf,"/api/v1/delete/dns/index.php?domain=".concat(t.NAME))}},a.Delete,t.FOCUSED?c.a.createElement("span",{className:"shortcut-button del"},"Del"):c.a.createElement(W.a,{icon:"times"})))))},Kn=(a(279),function(e){var t=Object(o.d)((function(e){return e.session})).i18n,a=Object(o.d)((function(e){return e.controlPanelContent})).controlPanelFocusedElement,r=Object(o.d)((function(e){return e.mainNavigation})).focusedElement,l=Object(o.c)(),s=Object(n.useState)(!1),i=Object(A.a)(s,2),m=i[0],d=i[1],E=Object(n.useState)({text:"",visible:!1,actionUrl:""}),p=Object(A.a)(E,2),v=p[0],f=p[1],b=Object(n.useState)({domainNameSystems:[],dnsFav:[],toggledAll:!1,sorting:t.Date,order:"descending",selection:[],totalAmount:""}),h=Object(A.a)(b,2),g=h[0],O=h[1];Object(n.useEffect)((function(){return l(Be("/list/dns/")),l({type:"REMOVE_FOCUSED_ELEMENT",value:""}),l({type:"REMOVE_CPANEL_FOCUSED_ELEMENT",value:""}),F().then((function(){return d(!1)})),function(){l({type:"REMOVE_CPANEL_FOCUSED_ELEMENT",value:""})}}),[]),Object(n.useEffect)((function(){return window.addEventListener("keydown",N),window.addEventListener("keydown",_),function(){window.removeEventListener("keydown",N),window.removeEventListener("keydown",_)}}),[a,r,g.domainNameSystems]);var N=function(e){38!==e.keyCode&&40!==e.keyCode||r&&l({type:"REMOVE_FOCUSED_ELEMENT",value:""}),38===e.keyCode?(e.preventDefault(),k()):40===e.keyCode&&(e.preventDefault(),y())},j=function(e){e[0].FOCUSED=e[0].NAME,O(Object(u.a)(Object(u.a)({},g),{},{domainNameSystems:e})),l(vt(e[0].NAME))},y=function(){var e=Object(I.a)(g.domainNameSystems);if(""!==a){var t=e.findIndex((function(e){return e.NAME===a}));if(t!==e.length-1){var n=e[t+1];e[t].FOCUSED="",n.FOCUSED=n.NAME,document.getElementById(n.NAME).scrollIntoView({behavior:"smooth",block:"center"}),O(Object(u.a)(Object(u.a)({},g),{},{domainNameSystems:e})),l(vt(n.NAME))}}else j(e)},k=function(){var e=Object(I.a)(g.domainNameSystems);if(""!==a){var t=e.findIndex((function(e){return e.NAME===a}));if(0!==t){var n=e[t-1];e[t].FOCUSED="",n.FOCUSED=n.NAME,document.getElementById(n.NAME).scrollIntoView({behavior:"smooth",block:"center"}),O(Object(u.a)(Object(u.a)({},g),{},{domainNameSystems:e})),l(vt(n.NAME))}}else j(e)},_=function(e){var t=document.querySelector("input:focus")||document.querySelector("textarea:focus");if(a&&!t)switch(e.keyCode){case 8:return M();case 13:return C();case 76:return w();case 78:return S();case 83:return D()}},S=function(){e.history.push("/add/dns/?domain=".concat(a))},w=function(){e.history.push("/list/dns?domain=".concat(a,"&type=access"))},C=function(){e.history.push("/edit/dns?domain=".concat(a))},D=function(){var e=g.domainNameSystems.filter((function(e){return e.NAME===a}))[0],t="yes"===e.SUSPENDED?"unsuspend":"suspend";B(e.suspend_conf,"/api/v1/".concat(t,"/dns/index.php?domain=").concat(a))},M=function(){var e=g.domainNameSystems.filter((function(e){return e.NAME===a}))[0];B(e.delete_conf,"/api/v1/delete/dns/index.php?domain=".concat(a))},F=function(){return d(!0),new Promise((function(e,t){be.a.get(Ra+"/api/v1/list/dns/index.php").then((function(t){O(Object(u.a)(Object(u.a)({},g),{},{domainNameSystems:x(t.data.data),dnsFav:t.data.dnsFav,selection:[],toggledAll:!1,totalAmount:t.data.totalAmount})),e()})).catch((function(e){return console.error(e)}))}))},x=function(e){var t=[];for(var n in e)e[n].NAME=n,e[n].RECORDS=Number(e[n].RECORDS),e[n].FOCUSED=a===n,t.push(e[n]);return t},T=function(e){var t=g.selection,a=g.domainNameSystems,n=Object(I.a)(t),c=a,r=n.indexOf(e),l=c.findIndex((function(t){return t.NAME===e}));c[l].isChecked=!c[l].isChecked,-1!==r?n.splice(r,1):n.push(e),O(Object(u.a)(Object(u.a)({},g),{},{domainNameSystems:c,selection:n}))},L=function(e){var t=g.order,a=g.sorting,n=U(a);return"descending"===t?e.sort((function(e,t){var a=e[n],c=t[n];return ac?1:c>a?-1:0}))},U=function(e){var a=t.Date,n=t.Expire,c=t.Domain,r=t.IP,l=t.Records,o=t.Starred;switch(e){case a:return"DATE";case n:return"EXP";case c:return"NAME";case r:return"IP";case l:return"RECORDS";case o:return"STARRED"}},R=function(e,t){var a=g.dnsFav;"add"===t?(a[e]=1,gt(e,"dns").then((function(){O(Object(u.a)(Object(u.a)({},g),{},{dnsFav:a}))})).catch((function(e){console.error(e)}))):(a[e]=void 0,Ot(e,"dns").then((function(){O(Object(u.a)(Object(u.a)({},g),{},{dnsFav:a}))})).catch((function(e){console.error(e)})))},V=function(e){var t=Object(I.a)(g.domainNameSystems);if(e){var a=[],n=t.map((function(e){return a.push(e.NAME),e.isChecked=!0,e}));O(Object(u.a)(Object(u.a)({},g),{},{domainNameSystems:n,selection:a,toggledAll:e}))}else{var c=t.map((function(e){return e.isChecked=!1,e}));O(Object(u.a)(Object(u.a)({},g),{},{domainNameSystems:c,selection:[],toggledAll:e}))}},B=function(e,t){f(Object(u.a)(Object(u.a)({},v),{},{visible:!0,text:e,actionUrl:t}))},W=function(){l(et()).then((function(){return d(!1)}))},q=function(){f(Object(u.a)(Object(u.a)({},v),{},{visible:!1,text:"",actionUrl:""}))};return c.a.createElement("div",{className:"dns"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(t.DNS))),c.a.createElement(Xe,{mobile:!1},c.a.createElement(yt,{name:t["Add DNS Domain"],href:"/add/dns",showLeftMenu:!0}),c.a.createElement("div",{className:"r-menu"},c.a.createElement("div",{className:"input-group input-group-sm"},c.a.createElement(kt,{toggleAll:V,toggled:g.toggledAll}),c.a.createElement(_t,{list:"dnsList",bulkAction:function(e){var t=g.selection;t.length&&e&&(d(!0),function(e,t){var a=new FormData;return a.append("action",e),a.append("token",He()),t.forEach((function(e){a.append("domain[]",e)})),be.a.post(Ra+"/api/v1/bulk/dns/",a)}(e,t).then((function(e){200===e.status&&(V(!1),F().then((function(){return W()})))})).catch((function(e){return console.error(e)})))}}),c.a.createElement(ft,{changeSorting:function(e,t){O(Object(u.a)(Object(u.a)({},g),{},{sorting:e,order:t}))},sorting:g.sorting,order:g.order,list:"dnsList"}),c.a.createElement(bt,{handleSearchTerm:function(t){return e.changeSearchTerm(t)}})))),c.a.createElement("div",{className:"dns-wrapper"},m?c.a.createElement(P,null):function(){var e=g.domainNameSystems,t=Object(u.a)({},g.dnsFav),n=[];return e.forEach((function(e){e.FOCUSED=a===e.NAME,t[e.NAME]?e.STARRED=t[e.NAME]:e.STARRED=0,n.push(e)})),L(n).map((function(e,t){return c.a.createElement(Hn,{data:e,key:t,toggleFav:R,checkItem:T,handleModal:B})}))}()),c.a.createElement("div",{className:"total"},g.totalAmount),c.a.createElement(St,{onSave:function(){if(!v.actionUrl)return q();q(),d(!0),Va(v.actionUrl).then((function(e){if(e.data.error)return d(!1),B(e.data.error,"");F().then((function(){return W()}))})).catch((function(e){d(!1),console.error(e)}))},onCancel:q,show:v.visible,text:v.text}))});function Jn(e){var t=Object(o.d)((function(e){return e.session})).i18n,a=Object(R.g)(),r=ge.a.parse(a.location.search,{ignoreQueryPrefix:!0}),l=Object(n.useState)(!1),s=Object(A.a)(l,2),i=s[0],u=s[1];return Object(n.useEffect)((function(){r.domain?u(!0):u(!1)}),[a.location]),c.a.createElement(c.a.Fragment,null,c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(t.DNS))),i?c.a.createElement(qn,Object.assign({},e,{changeSearchTerm:e.changeSearchTerm})):c.a.createElement(Kn,Object.assign({},e,{changeSearchTerm:e.changeSearchTerm})))}var zn=window.location.origin,Yn=(a(280),function(e){var t=e.data,a=Object(o.d)((function(e){return e.session})).i18n;return c.a.createElement("div",{className:t.FOCUSED?"statistic-item focused":"statistic-item",id:t.NAME},c.a.createElement(Ge,{className:"l-col w-15"},function(e){var t=new Date(e),a=t.getDate(),n=t.getMonth(),r=t.getFullYear();return c.a.createElement("div",{className:"date"},a," \xa0 ",["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][n]," \xa0 ",r)}(t.DATE)),c.a.createElement(Ge,{className:"r-col w-85"},c.a.createElement("div",{className:"name"},function(e){var t=new Date(e),a=t.getMonth(),n=t.getFullYear();return c.a.createElement("div",{className:"date"},["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][a]," \xa0 ",n)}(t.DATE)),c.a.createElement("div",{className:"stats"},c.a.createElement(Ge,{className:"c-1"},c.a.createElement("div",{className:"bandwidth"},a.Bandwidth,c.a.createElement("span",null,c.a.createElement("span",{className:"stat"},t.U_BANDWIDTH),a.mb),c.a.createElement("div",{className:"percent",style:{width:"".concat(t.U_BANDWIDTH_PERCENT,"%")||!1}})),c.a.createElement("div",{className:"disk"},a.Disk,": ",c.a.createElement("span",null,c.a.createElement("span",{className:"stat"},t.U_DISK),a.mb),c.a.createElement("div",{className:"percent",style:{width:"".concat(t.U_DISK_PERCENT,"%")||!1}})),c.a.createElement("div",{className:"sub-disk-stats"},c.a.createElement("div",null,c.a.createElement("div",null,a.Web,": ",c.a.createElement("span",null,c.a.createElement("span",{className:"stat"},t.U_DISK_WEB),a.mb)),c.a.createElement("div",null,a.Mail,": ",c.a.createElement("span",null,c.a.createElement("span",{className:"stat"},t.U_DISK_MAIL),a.mb))),c.a.createElement("div",null,c.a.createElement("div",null,a.Databases,": ",c.a.createElement("span",null,c.a.createElement("span",{className:"stat"},t.U_DATABASES),a.mb)),c.a.createElement("div",null,a["User Directories"],": ",c.a.createElement("span",null,c.a.createElement("span",{className:"stat"},t.U_DISK_DIRS),a.mb))))),c.a.createElement(Ge,{className:"c-2"},c.a.createElement("div",null,c.a.createElement("span",null,a["Web Domains"],":")," ",c.a.createElement("span",{className:"stat"},t.U_WEB_DOMAINS)),c.a.createElement("div",null,c.a.createElement("span",null,a["SSL Domains"],":")," ",c.a.createElement("span",{className:"stat"},t.U_WEB_SSL)),c.a.createElement("div",null,c.a.createElement("span",null,a["Web Aliases"],":")," ",c.a.createElement("span",{className:"stat"},t.U_WEB_ALIASES)),c.a.createElement("div",null,c.a.createElement("span",null,a["DNS Domains"],":")," ",c.a.createElement("span",{className:"stat"},t.U_DNS_DOMAINS)),c.a.createElement("div",null,c.a.createElement("span",null,a["DNS records"],":")," ",c.a.createElement("span",{className:"stat"},t.U_DNS_RECORDS))),c.a.createElement(Ge,{className:"c-3"},c.a.createElement("div",null,c.a.createElement("span",null,a["Mail Domains"],":")," ",c.a.createElement("span",{className:"stat"},t.U_MAIL_DOMAINS)),c.a.createElement("div",null,c.a.createElement("span",null,a["Mail Accounts"],":")," ",c.a.createElement("span",{className:"stat"},t.U_MAIL_ACCOUNTS)),c.a.createElement("div",null,c.a.createElement("span",null,a.Databases,":")," ",c.a.createElement("span",{className:"stat"},t.U_DATABASES)),c.a.createElement("div",null,c.a.createElement("span",null,a["Cron Jobs"],":")," ",c.a.createElement("span",{className:"stat"},t.U_CRON_JOBS)),c.a.createElement("div",null,c.a.createElement("span",null,a["IP Addresses"],":")," ",c.a.createElement("span",{className:"stat"},t.IP_OWNED))))))}),Gn=(a(281),function(e){var t=Object(o.d)((function(e){return e.session})).i18n,a=Object(o.d)((function(e){return e.controlPanelContent})).controlPanelFocusedElement,r=Object(o.d)((function(e){return e.mainNavigation})).focusedElement,l=Object(o.c)(),s=Object(n.useState)({statistics:[],users:[],totalAmount:"",loading:!1}),i=Object(A.a)(s,2),m=i[0],d=i[1];Object(n.useEffect)((function(){return l(Be("/list/stats/")),l({type:"REMOVE_FOCUSED_ELEMENT",value:""}),l({type:"REMOVE_CPANEL_FOCUSED_ELEMENT",value:""}),b(),function(){l({type:"REMOVE_CPANEL_FOCUSED_ELEMENT",value:""})}}),[]),Object(n.useEffect)((function(){return window.addEventListener("keydown",E),function(){window.removeEventListener("keydown",E)}}),[a,r,m.statistics]);var E=function(e){38!==e.keyCode&&40!==e.keyCode||r&&l({type:"REMOVE_FOCUSED_ELEMENT",value:""}),38===e.keyCode?(e.preventDefault(),f()):40===e.keyCode&&(e.preventDefault(),v())},p=function(e){e[0].FOCUSED=e[0].NAME,d(Object(u.a)(Object(u.a)({},m),{},{statistics:e})),l(vt(e[0].NAME))},v=function(){var e=Object(I.a)(m.statistics);if(""!==a){var t=e.findIndex((function(e){return e.NAME===a}));if(t!==e.length-1){var n=e[t+1];e[t].FOCUSED="",n.FOCUSED=n.NAME,document.getElementById(n.NAME).scrollIntoView({behavior:"smooth",block:"center"}),d(Object(u.a)(Object(u.a)({},m),{},{statistics:e})),l(vt(n.NAME))}}else p(e)},f=function(){var e=Object(I.a)(m.statistics);if(""!==a){var t=e.findIndex((function(e){return e.NAME===a}));if(0!==t){var n=e[t-1];e[t].FOCUSED="",n.FOCUSED=n.NAME,document.getElementById(n.NAME).scrollIntoView({behavior:"smooth",block:"center"}),d(Object(u.a)(Object(u.a)({},m),{},{statistics:e})),l(vt(n.NAME))}}else p(e)},b=function(){l({type:"REMOVE_CPANEL_FOCUSED_ELEMENT",value:""}),d(Object(u.a)(Object(u.a)({},m),{},{loading:!0}));var e=window.location.search;(function(e){return be.a.get(zn+"/api/v1/list/stats/index.php?user="+e)})(e?e.split("=")[1]:"").then((function(e){d(Object(u.a)(Object(u.a)({},m),{},{statistics:h(e.data.data),users:e.data.users||[],totalAmount:e.data.totalAmount,loading:!1}))})).catch((function(e){return console.error(e)}))},h=function(e){var t=[];for(var n in e)e[n].DATE=n,e[n].NAME=n,e[n].FOCUSED=a===n,t.push(e[n]);return t};return c.a.createElement("div",{className:"statistics-list"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(t.STATS))),c.a.createElement(Xe,{mobile:!1,className:"justify-right"},c.a.createElement("div",{className:"r-menu"},c.a.createElement("div",{className:"input-group input-group-sm"},c.a.createElement(pe.b,{to:"/list/stats/",className:"button-extra",type:"submit"},t["Overall Statistics"]),c.a.createElement(_t,{list:"statisticsList",users:m.users,bulkAction:function(t){var a=""!==t?"?user=".concat(t):"";e.history.push({search:a}),b()}}),c.a.createElement(bt,{handleSearchTerm:function(t){return e.changeSearchTerm(t)}})))),c.a.createElement("div",{className:"statistics-wrapper"},m.loading?c.a.createElement(P,null):function(){var e=Object(I.a)(m.statistics);return e.forEach((function(e){e.FOCUSED=a===e.NAME})),e.map((function(e,t){return c.a.createElement(Yn,{data:e,key:t})}))}()),c.a.createElement("div",{className:"total"},m.totalAmount))}),Qn=(a(282),function(e){var t,a=e.data,n=e.toggleFav,r=e.handleModal,l=e.checkItem,s=e.logOut,i=e.logInAs,u=Object(o.d)((function(e){return e.session})),m=u.i18n,d=u.userName;return c.a.createElement(Nt,{id:a.NAME,date:a.DATE,checked:a.isChecked,starred:a.STARRED,toggleFav:function(e){n(a.NAME,e?"add":"delete")},checkItem:function(){l(a.NAME)},focused:a.FOCUSED,suspended:"yes"===a.SUSPENDED},c.a.createElement(Ge,{className:"r-col w-85"},c.a.createElement("div",{className:"name"},a.NAME),c.a.createElement("div",null,a.FNAME," ",a.LNAME),c.a.createElement("div",{className:"stats"},c.a.createElement(Ge,{className:"c-1"},c.a.createElement("div",{className:"bandwidth"},m.Bandwidth,c.a.createElement("span",null,c.a.createElement("span",{className:"stat"},a.U_BANDWIDTH)," ",a.U_BANDWIDTH_MEASURE),c.a.createElement("div",{className:"percent",style:{width:"".concat(a.U_BANDWIDTH_PERCENT,"%")||!1}})),c.a.createElement("div",{className:"disk"},m.Disk,": ",c.a.createElement("span",null,c.a.createElement("span",{className:"stat"},a.U_DISK)," ",a.U_DISK_MEASURE),c.a.createElement("div",{className:"percent",style:{width:"".concat(a.U_DISK_PERCENT,"%")||!1}})),c.a.createElement("div",{className:"sub-disk-stats"},c.a.createElement("div",null,c.a.createElement("div",null,c.a.createElement("span",null,m.Web,":")," ",c.a.createElement("span",null,c.a.createElement("b",null,a.U_DISK_WEB)," ",a.U_DISK_WEB_MEASURE)),c.a.createElement("div",null,c.a.createElement("span",null,m.Mail,":")," ",c.a.createElement("span",null,c.a.createElement("b",null,a.U_DISK_MAIL)," ",a.U_DISK_MAIL_MEASURE))),c.a.createElement("div",null,c.a.createElement("div",null,c.a.createElement("span",null,m.Databases,":")," ",c.a.createElement("span",null,c.a.createElement("b",null,a.U_DATABASES)," ",a.U_DATABASES_MEASURE)),c.a.createElement("div",null,c.a.createElement("span",null,m["User Directories"],":")," ",c.a.createElement("span",null,c.a.createElement("b",null,a.U_DISK_DIRS)," ",a.U_DISK_DIRS_MEASURE))))),c.a.createElement(Ge,{className:"c-2"},c.a.createElement("div",null,c.a.createElement("span",null,m["Web Domains"],":")," ",c.a.createElement("span",null,c.a.createElement("b",null,a.U_WEB_DOMAINS)," / ",a.WEB_DOMAINS)),c.a.createElement("div",null,c.a.createElement("span",null,m["DNS Domains"],":")," ",c.a.createElement("span",null,c.a.createElement("b",null,a.U_DNS_DOMAINS)," / ",a.DNS_DOMAINS)),c.a.createElement("div",null,c.a.createElement("span",null,m["Mail Domains"],":")," ",c.a.createElement("span",null,c.a.createElement("b",null,a.U_MAIL_DOMAINS)," / ",a.MAIL_DOMAINS)),c.a.createElement("div",null,c.a.createElement("span",null,m.Databases,":")," ",c.a.createElement("span",null,c.a.createElement("b",null,a.U_DATABASES)," / ",a.DATABASES)),c.a.createElement("div",null,c.a.createElement("span",null,m["Cron Jobs"],":")," ",c.a.createElement("span",null,c.a.createElement("b",null,a.U_CRON_JOBS)," / ",a.CRON_JOBS)),c.a.createElement("div",null,c.a.createElement("span",null,m.Backups,":")," ",c.a.createElement("span",null,c.a.createElement("b",null,a.U_BACKUPS)," / ",a.BACKUPS))),c.a.createElement(Ge,{className:"c-3"},c.a.createElement("div",null,c.a.createElement("span",null,m.Email,":")," ",c.a.createElement("span",{className:"stat email"},a.CONTACT)),c.a.createElement("div",null,c.a.createElement("span",null,m.Package,":")," ",c.a.createElement("span",{className:"stat"},a.PACKAGE)),c.a.createElement("div",null,c.a.createElement("span",null,m["SSH Access"],":")," ",c.a.createElement("span",{className:"stat"},a.SHELL)),c.a.createElement("div",null,c.a.createElement("span",null,m["IP Addresses"],":")," ",c.a.createElement("span",{className:"stat"},a.IP_OWNED)),c.a.createElement("div",{className:"ns"},c.a.createElement("span",null,m["Name Servers"],":")," ",c.a.createElement("span",{className:"stat"},a.NS.split(",").map((function(e,t){return c.a.createElement("div",{key:t},e)}))))))),c.a.createElement("div",{className:"actions"},(t=a.NAME,d===t?c.a.createElement("div",null,c.a.createElement("button",{onClick:s},m["Log out"],a.FOCUSED?c.a.createElement("span",{className:"shortcut-button"},"L"):c.a.createElement(W.a,{icon:"user-lock"}))):c.a.createElement("div",null,c.a.createElement("button",{onClick:function(){return i(t)}},m["login as"]," ",t,a.FOCUSED?c.a.createElement("span",{className:"shortcut-button"},"L"):c.a.createElement(W.a,{icon:"user-lock"})))),c.a.createElement("div",null,c.a.createElement(pe.b,{to:"/edit/user?user=".concat(a.NAME)},m.edit,a.FOCUSED?c.a.createElement("span",{className:"shortcut-button html-unicode"},"\u21a9"):c.a.createElement(W.a,{icon:"pen"}))),c.a.createElement("div",null,c.a.createElement("button",{className:"link-gray",onClick:function(){var e="yes"===a.SUSPENDED?"unsuspend":"suspend";r(a.spnd_conf,"/api/v1/".concat(e,"/user/index.php?user=").concat(a.NAME))}},a.spnd_action,a.FOCUSED?c.a.createElement("span",{className:"shortcut-button"},"S"):c.a.createElement(W.a,{icon:"yes"===a.SUSPENDED?"unlock":"lock"}))),c.a.createElement("div",null,c.a.createElement("button",{className:"link-delete",onClick:function(){r(a.delete_conf,"/api/v1/delete/user/index.php?user=".concat(a.NAME))}},m.Delete,a.FOCUSED?c.a.createElement("span",{className:"shortcut-button del"},"Del"):c.a.createElement(W.a,{icon:"times"})))))}),Xn=(a(283),function(e){var t=Object(o.d)((function(e){return e.session})),a=t.userName,r=t.i18n,l=Object(o.d)((function(e){return e.userSession})).session,s=Object(o.d)((function(e){return e.controlPanelContent})).controlPanelFocusedElement,i=Object(o.d)((function(e){return e.mainNavigation})).focusedElement,m=Object(o.c)(),d=Object(R.g)(),E=Object(n.useState)(!1),p=Object(A.a)(E,2),v=p[0],f=p[1],b=Object(n.useState)({text:"",visible:!1,actionUrl:""}),h=Object(A.a)(b,2),g=h[0],O=h[1],N=Object(n.useState)({users:[],userFav:[],toggledAll:!1,sorting:r.Date,order:"descending",selection:[],totalAmount:""}),j=Object(A.a)(N,2),y=j[0],k=j[1];Object(n.useEffect)((function(){return m(Be("/list/user/")),m({type:"REMOVE_FOCUSED_ELEMENT",value:""}),m({type:"REMOVE_CPANEL_FOCUSED_ELEMENT",value:""}),S().then((function(){return f(!1)})),function(){m({type:"REMOVE_CPANEL_FOCUSED_ELEMENT",value:""})}}),[]),Object(n.useEffect)((function(){return window.addEventListener("keydown",x),window.addEventListener("keydown",w),window.addEventListener("keyup",_),function(){window.removeEventListener("keydown",x),window.removeEventListener("keydown",w),window.removeEventListener("keyup",_)}}),[s,i,y.users]);var _=function(e){if(!(document.querySelector("input:focus")||document.querySelector("textarea:focus"))&&65===e.keyCode)switch(d.location.pathname){case"/list/user/":return l.look?d.push("/add/web/"):d.push("/add/user/")}},S=function(){return f(!0),new Promise((function(e,t){be.a.get(Za+"/api/v1/list/user/index.php",{params:{token:He()}}).then((function(t){k(Object(u.a)(Object(u.a)({},y),{},{users:V(t.data.data),userFav:t.data.userFav,totalAmount:t.data.totalAmount,toggledAll:!1,selection:[]})),e()})).catch((function(e){return console.error(e)}))}))},w=function(e){var t=document.querySelector("input:focus")||document.querySelector("textarea:focus");if(s&&!t)switch(e.keyCode){case 76:return C();case 83:return M();case 8:return F();case 13:return D()}},C=function(){a===s?e.history.push("/logout"):e.history.push("/login/?loginas=".concat(s))},D=function(){e.history.push("/edit/user?user=".concat(s))},M=function(){var e=y.users.filter((function(e){return e.NAME===s}))[0],t="yes"===e.SUSPENDED?"unsuspend":"suspend";Y(e.spnd_conf,"/api/v1/".concat(t,"/user/index.php?user=").concat(s))},F=function(){var e=y.users.filter((function(e){return e.NAME===s}))[0];Y(e.delete_conf,"/api/v1/delete/user/index.php?user=".concat(s))},x=function(e){38!==e.keyCode&&40!==e.keyCode||i&&m({type:"REMOVE_FOCUSED_ELEMENT",value:""}),38===e.keyCode?(e.preventDefault(),U()):40===e.keyCode&&(e.preventDefault(),L())},T=function(e){e[0].FOCUSED=e[0].NAME,k(Object(u.a)(Object(u.a)({},y),{},{users:e})),m(vt(e[0].NAME))},L=function(){var e=Object(I.a)(y.users);if(""!==s){var t=e.findIndex((function(e){return e.NAME===s}));if(t!==e.length-1){var a=e[t+1];e[t].FOCUSED="",a.FOCUSED=a.NAME,document.getElementById(a.NAME).scrollIntoView({behavior:"smooth",block:"center"}),k(Object(u.a)(Object(u.a)({},y),{},{users:e})),m(vt(a.NAME))}}else T(e)},U=function(){var e=Object(I.a)(y.users);if(""!==s){var t=e.findIndex((function(e){return e.NAME===s}));if(0!==t){var a=e[t-1];e[t].FOCUSED="",a.FOCUSED=a.NAME,document.getElementById(a.NAME).scrollIntoView({behavior:"smooth",block:"center"}),k(Object(u.a)(Object(u.a)({},y),{},{users:e})),m(vt(a.NAME))}}else T(e)},V=function(e){var t=[];for(var a in e)e[a].NAME=a,e[a].isChecked=!1,e[a].FOCUSED=s===a,t.push(e[a]);return t},B=function(){f(!0),m(_a()).then((function(){return f(!1)}))},W=function(e){f(!0),m(ka(e)).then((function(){return f(!1)}))},q=function(e){var t=y.selection,a=y.users,n=Object(I.a)(t),c=Object(I.a)(a),r=n.indexOf(e),l=c.findIndex((function(t){return t.NAME===e}));c[l].isChecked=!c[l].isChecked,-1!==r?n.splice(r,1):n.push(e),k(Object(u.a)(Object(u.a)({},y),{},{users:c,selection:n}))},H=function(e){var t=K(y.sorting);return"descending"===y.order?e.sort((function(e,a){return e[t]a[t]?1:a[t]>e[t]?-1:0}))},K=function(e){var t=r.Date,a=r.Username,n=r.Disk,c=r.Bandwidth,l=r.Starred;switch(e){case t:return"DATE";case a:return"NAME";case n:return"U_DISK";case c:return"U_BANDWIDTH";case l:return"STARRED"}},J=function(e,t){var a=y.userFav;"add"===t?(a[e]=1,gt(e,"user").then((function(){k(Object(u.a)(Object(u.a)({},y),{},{userFav:a}))})).catch((function(e){console.error(e)}))):(a[e]=void 0,Ot(e,"user").then((function(){k(Object(u.a)(Object(u.a)({},y),{},{userFav:a}))})).catch((function(e){console.error(e)})))},z=function(e){var t=Object(I.a)(y.users);if(e){var a=[],n=t.map((function(e){return a.push(e.NAME),e.isChecked=!0,e}));k(Object(u.a)(Object(u.a)({},y),{},{users:n,selection:a,toggledAll:e}))}else{var c=t.map((function(e){return e.isChecked=!1,e}));k(Object(u.a)(Object(u.a)({},y),{},{users:c,selection:[],toggledAll:e}))}},Y=function(e,t){O(Object(u.a)(Object(u.a)({},g),{},{visible:!0,text:e,actionUrl:t}))},G=function(){m(et()).then((function(){return f(!1)}))},Q=function(){O(Object(u.a)(Object(u.a)({},g),{},{visible:!1,text:"",actionUrl:""}))};return c.a.createElement("div",null,c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(r.USER))),c.a.createElement(Xe,{mobile:!1},c.a.createElement(yt,{name:l.look?r["Add Web Domain"]:r["Add User"],href:l.look?"/add/web/":"/add/user/",showLeftMenu:!0}),c.a.createElement("div",{className:"r-menu"},c.a.createElement("div",{className:"input-group input-group-sm"},c.a.createElement(kt,{toggleAll:z,toggled:y.toggledAll}),c.a.createElement(_t,{list:"usersList",bulkAction:function(e){y.selection.length&&e&&(f(!0),function(e,t){var a=new FormData;return a.append("token",He()),a.append("action",e),t.forEach((function(e){a.append("user[]",e)})),be.a.post(Za+"/api/v1/bulk/user/",a)}(e,y.selection).then((function(e){200===e.status&&(z(!1),S().then((function(){return G()})))})).catch((function(e){return console.error(e)})))}}),c.a.createElement(ft,{changeSorting:function(e,t){k(Object(u.a)(Object(u.a)({},y),{},{sorting:e,order:t}))},sorting:y.sorting,order:y.order,list:"usersList"}),c.a.createElement(bt,{handleSearchTerm:function(t){return e.changeSearchTerm(t)}})))),c.a.createElement("div",{className:"users-wrapper"},v?c.a.createElement(P,null):c.a.createElement(c.a.Fragment,null,function(){var e=Object(u.a)({},y.userFav),t=Object(I.a)(y.users);return t.forEach((function(t){t.FOCUSED=s===t.NAME,e[t.NAME]?t.STARRED=e[t.NAME]:t.STARRED=0})),H(t).map((function(e,t){return c.a.createElement(Qn,{data:e,key:t,toggleFav:J,checkItem:q,handleModal:Y,logOut:B,logInAs:W})}))}(),c.a.createElement("div",{className:"total"},y.totalAmount))),c.a.createElement(St,{onSave:function(){if(!g.actionUrl)return Q();var e;Q(),f(!0),(e=g.actionUrl,be.a.get(Za+e,{params:{token:He()}})).then((function(e){if(e.data.error)return f(!1),Y(e.data.error,"");S().then((function(){return G()}))})).catch((function(e){f(!1),console.error(e)}))},onCancel:Q,show:g.visible,text:g.text}))}),Zn=window.location.origin;function $n(e,t,a){return"/api/v1/list/rrd/image.php?/rrd/".concat(t,"/").concat(e,"-").concat(a,".png")}a(284);var ec=function(e){var t=Object(n.useState)(!0),a=Object(A.a)(t,2),r=a[0],l=a[1];Object(n.useEffect)((function(){var t=null;return r?t=setInterval(e.countDown,1e3):r||0===e.time||clearInterval(t),function(){return clearInterval(t)}}),[r,e.time]);return c.a.createElement("div",{className:"timer-wrapper"},c.a.createElement("button",{onClick:function(){l(!r)}},r?c.a.createElement(W.a,{icon:"pause"}):c.a.createElement(W.a,{icon:"play"})),c.a.createElement("div",{className:"circle-wrapper"},c.a.createElement("span",{className:"seconds"},e.time)))},tc=(a(285),function(e){var t=e.data,a=Object(o.d)((function(e){return e.session})).i18n;return c.a.createElement("div",{className:t.FOCUSED?"rrd-item focused":"rrd-item",id:t.NAME},c.a.createElement(Ge,{className:"l-col w-15"},function(e){var t=new Date(e),a=t.getDate(),n=t.getMonth(),r=t.getFullYear();return c.a.createElement("div",{className:"date"},a," \xa0 ",["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][n]," \xa0 ",r)}(t.DATE)),c.a.createElement(Ge,{className:"r-col w-85"},c.a.createElement("div",{className:"name"},a[t.NAME]),c.a.createElement("div",{className:"stats"},c.a.createElement(Ge,{className:"w-100"},c.a.createElement("div",null,c.a.createElement("img",{src:$n(e.period,t.TYPE,t.RRD),alt:"img"}))))),c.a.createElement("div",{className:"actions"},c.a.createElement("div",null,c.a.createElement("a",{className:"link-download",href:$n(e.period,t.TYPE,t.RRD)},a.download,c.a.createElement(W.a,{icon:Re.r})))))}),ac=(a(286),function(e){var t=Object(o.d)((function(e){return e.session})).i18n,a=Object(o.d)((function(e){return e.controlPanelContent})).controlPanelFocusedElement,r=Object(o.d)((function(e){return e.mainNavigation})).focusedElement,l=Object(o.c)(),s=Object(n.useState)([]),i=Object(A.a)(s,2),m=i[0],d=i[1],E=Object(n.useState)({period:"daily",periodI18N:t.Daily,time:15,loading:!1,total:0}),p=Object(A.a)(E,2),v=p[0],f=p[1];Object(n.useEffect)((function(){return l(Be("/list/rrd/")),l({type:"REMOVE_FOCUSED_ELEMENT",value:""}),l({type:"REMOVE_CPANEL_FOCUSED_ELEMENT",value:""}),N(),function(){l({type:"REMOVE_CPANEL_FOCUSED_ELEMENT",value:""})}}),[]),Object(n.useEffect)((function(){return window.addEventListener("keydown",b),function(){window.removeEventListener("keydown",b)}}),[a,r,m]);var b=function(e){38!==e.keyCode&&40!==e.keyCode||r&&l({type:"REMOVE_FOCUSED_ELEMENT",value:""}),38===e.keyCode?(e.preventDefault(),O()):40===e.keyCode&&(e.preventDefault(),g())},h=function(e){e[0].FOCUSED=e[0].NAME,d(e),l(vt(e[0].NAME))},g=function(){if(""!==a){var e=m.findIndex((function(e){return e.NAME===a}));if(e!==m.length-1){var t=m[e+1];m[e].FOCUSED="",t.FOCUSED=t.NAME,document.getElementById(t.NAME).scrollIntoView({behavior:"smooth",block:"center"}),d(m),l(vt(t.NAME))}}else h(m)},O=function(){if(""!==a){var e=m.findIndex((function(e){return e.NAME===a}));if(0!==e){var t=m[e-1];m[e].FOCUSED="",t.FOCUSED=t.NAME,document.getElementById(t.NAME).scrollIntoView({behavior:"smooth",block:"center"}),d(m),l(vt(t.NAME))}}else h(m)},N=function(){l({type:"REMOVE_CPANEL_FOCUSED_ELEMENT",value:""}),f(Object(u.a)(Object(u.a)({},v),{},{loading:!0})),be.a.get(Zn+"/api/v1/list/rrd/index.php").then((function(e){d(j(e.data.data)),f(Object(u.a)(Object(u.a)({},v),{},{time:15,loading:!1}))})).catch((function(e){return console.error(e)}))},j=function(e){var t=[];for(var n in e)e[n].NAME=e[n].TITLE,e[n].FOCUSED=a===n,t.push(e[n]);return t},y=function(e){return v.periodI18N===e?"period active":"period"},k=function(e){switch(e){case t.Daily:f(Object(u.a)(Object(u.a)({},v),{},{period:"daily",periodI18N:t.Daily,time:15}));break;case t.Weekly:f(Object(u.a)(Object(u.a)({},v),{},{period:"weekly",periodI18N:t.Weekly,time:15}));break;case t.Monthly:f(Object(u.a)(Object(u.a)({},v),{},{period:"monthly",periodI18N:t.Monthly,time:15}));break;case t.Yearly:f(Object(u.a)(Object(u.a)({},v),{},{period:"yearly",periodI18N:t.Yearly,time:15}))}};return c.a.createElement("div",{className:"rrd-list"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(t.RRD))),c.a.createElement(Xe,{mobile:!1},c.a.createElement("div",{className:"periods-wrapper"},[t.Daily,t.Weekly,t.Monthly,t.Yearly].map((function(e){return c.a.createElement("div",{className:y(e),onClick:function(){return k(e)}},e)})),c.a.createElement(ec,{time:v.time,countDown:function(){0===v.time?N():f(Object(u.a)(Object(u.a)({},v),{},{time:v.time-1}))},data:v.rrds})),c.a.createElement(bt,{handleSearchTerm:function(t){return e.changeSearchTerm(t)}})),c.a.createElement("div",{className:"rrd-wrapper"},v.loading?c.a.createElement(P,null):function(){var e=Object(I.a)(m);return e.forEach((function(e){e.FOCUSED=a===e.NAME})),e.map((function(e,t){return c.a.createElement(tc,{period:v.period,data:e,key:t})}))}()))}),nc=function(e){var t=e.data,a=Object(w.a)(e,["data"]),n=Object(o.d)((function(e){return e.session})).i18n;return c.a.createElement(Nt,{id:t.NAME,focused:t.FOCUSED,checked:t.isChecked,date:t.DATE,checkItem:function(){a.checkItem(t.NAME)}},c.a.createElement(Ge,{className:"r-col w-85"},c.a.createElement("div",{className:"stats"},c.a.createElement(Ge,{className:"c-1 w-35"},c.a.createElement("div",null,c.a.createElement("b",null,t.DATE)," \xa0 ",t.TIME)),c.a.createElement(Ge,{className:"c-2 w-30"},c.a.createElement("div",null)),c.a.createElement(Ge,{className:"c-2 w-30"},c.a.createElement("div",null,c.a.createElement("b",null,t.CHAIN))),c.a.createElement(Ge,{className:"c-2 w-30"},c.a.createElement("div",null,c.a.createElement("b",null,t.NAME))))),c.a.createElement("div",{className:"actions"},c.a.createElement("div",null,c.a.createElement("button",{className:"link-delete",onClick:function(){a.handleModal(t.delete_confirmation,"/api/v1/delete/firewall/banlist/?ip=".concat(t.NAME,"&chain=").concat(t.CHAIN))}},n.Delete,t.FOCUSED?c.a.createElement("span",{className:"shortcut-button del"},"Del"):c.a.createElement(W.a,{icon:"times"})))))},cc=(a(287),function(e){var t=Object(o.d)((function(e){return e.session})).i18n,a=Object(R.g)(),r=Object(o.d)((function(e){return e.controlPanelContent})).controlPanelFocusedElement,l=Object(o.d)((function(e){return e.mainNavigation})).focusedElement,s=Object(o.c)(),i=Object(n.useState)(!1),m=Object(A.a)(i,2),d=m[0],E=m[1],p=Object(n.useState)({text:"",visible:!1,actionUrl:""}),v=Object(A.a)(p,2),f=v[0],b=v[1],h=Object(n.useState)({banIps:[],selection:[],toggledAll:!1,sorting:t.Action,order:"descending",totalAmount:""}),g=Object(A.a)(h,2),O=g[0],N=g[1];Object(n.useEffect)((function(){return s(Be("/list/firewall/")),s({type:"REMOVE_FOCUSED_ELEMENT",value:""}),s({type:"REMOVE_CPANEL_FOCUSED_ELEMENT",value:""}),C().then((function(){return E(!1)})),function(){s({type:"REMOVE_CPANEL_FOCUSED_ELEMENT",value:""})}}),[]),Object(n.useEffect)((function(){return window.addEventListener("keydown",j),window.addEventListener("keydown",S),function(){window.removeEventListener("keydown",j),window.removeEventListener("keydown",S)}}),[r,l,O.banIps]);var j=function(e){38!==e.keyCode&&40!==e.keyCode||l&&s({type:"REMOVE_FOCUSED_ELEMENT",value:""}),38===e.keyCode?(e.preventDefault(),_()):40===e.keyCode&&(e.preventDefault(),k())},y=function(e){e[0].FOCUSED=e[0].NAME,N(Object(u.a)(Object(u.a)({},O),{},{banIps:e})),s(vt(e[0].NAME))},k=function(){var e=Object(I.a)(O.banIps);if(""!==r.NAME){var t=e.findIndex((function(e){return e.NAME===r.NAME}));if(t!==e.length-1){var a=e[t+1];e[t].FOCUSED="",a.FOCUSED=a.NAME,document.getElementById(a.NAME).scrollIntoView({behavior:"smooth",block:"center"}),N(Object(u.a)(Object(u.a)({},O),{},{banIps:e})),s(vt(a.NAME))}}else y(e)},_=function(){var e=Object(I.a)(O.banIps);if(""!==r.NAME){var t=e.findIndex((function(e){return e.NAME===r.NAME}));if(0!==t){var a=e[t-1];e[t].FOCUSED="",a.FOCUSED=a.NAME,document.getElementById(a.NAME).scrollIntoView({behavior:"smooth",block:"center"}),N(Object(u.a)(Object(u.a)({},O),{},{banIps:e})),s(vt(a.NAME))}}else y(e)},S=function(e){var t=document.querySelector("input:focus")||document.querySelector("textarea:focus");if(r&&!t)switch(e.keyCode){case 8:return w()}},w=function(){var e=O.banIps.filter((function(e){return e.NAME===r.NAME}))[0];x(e.delete_conf,r.delete_url)},C=function(){return E(!0),new Promise((function(e,t){be.a.get(Wt+"/api/v1/list/firewall/banlist/index.php").then((function(t){N(Object(u.a)(Object(u.a)({},O),{},{banIps:D(t.data.data),totalAmount:t.data.total_amount,toggledAll:!1,selection:[]})),e()})).catch((function(e){return console.error(e)}))}))},D=function(e){var t=[];for(var a in e)e[a].NAME=a,e[a].FOCUSED=r.NAME===a,t.push(e[a]);return t},M=function(e){var t=O.selection,a=O.banIps,n=Object(I.a)(t),c=a,r=n.indexOf(e),l=c.findIndex((function(t){return t.NAME===e}));c[l].isChecked=!c[l].isChecked,-1!==r?n.splice(r,1):n.push(e),N(Object(u.a)(Object(u.a)({},O),{},{banIps:c,selection:n}))},F=function(e){if(e){var t=[],a=O.banIps.map((function(e){return t.push(e.NAME),e.isChecked=!0,e}));N(Object(u.a)(Object(u.a)({},O),{},{banIps:a,selection:t,toggledAll:e}))}else{var n=O.banIps.map((function(e){return e.isChecked=!1,e}));N(Object(u.a)(Object(u.a)({},O),{},{banIps:n,selection:[],toggledAll:e}))}},x=function(e,t){b(Object(u.a)(Object(u.a)({},f),{},{visible:!f.visible,text:e,actionUrl:t}))},T=function(){b(Object(u.a)(Object(u.a)({},f),{},{visible:!f.visible,text:"",actionUrl:""}))};return c.a.createElement("div",{className:"firewalls"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(t.FIREWALL))),c.a.createElement(Xe,{mobile:!1},c.a.createElement(yt,{href:"/add/firewall/banlist",name:t["Ban IP Address"],showLeftMenu:!0}),c.a.createElement("div",{className:"r-menu"},c.a.createElement("div",{className:"input-group input-group-sm"},c.a.createElement(kt,{toggleAll:F,toggled:O.toggledAll}),c.a.createElement(_t,{list:"banList",bulkAction:function(e){var t=O.selection;t.length&&e&&function(e,t,a){var n=new FormData;return n.append("action",e),n.append("token",He()),t.forEach((function(e){var t=a.find((function(t){return t.NAME===e}));n.append("ipchain[]","".concat(e,":").concat(t.CHAIN))})),be.a.post(Wt+"/api/v1/bulk/firewall/banlist/",n)}(e,t,O.banIps).then((function(e){200===e.status&&(F(!1),C().then((function(){return E(!1)})))})).catch((function(e){return console.error(e)}))}}),c.a.createElement(bt,{handleSearchTerm:function(t){return e.changeSearchTerm(t)}})))),d?c.a.createElement(P,null):c.a.createElement(c.a.Fragment,null,c.a.createElement("div",{className:"banlist-wrapper"},function(){var e=Object(I.a)(O.banIps);return e.forEach((function(e){e.FOCUSED=r.NAME===e.NAME})),e.map((function(e,t){return c.a.createElement(nc,{data:e,key:t,checkItem:M,handleModal:x})}))}(),c.a.createElement("div",{className:"buttons-wrapper"},c.a.createElement("div",{className:"total"},O.totalAmount),c.a.createElement("button",{type:"button",className:"back",onClick:function(){return a.push("/list/firewall/")}},t.Back)))),c.a.createElement(St,{onSave:function(){if(!f.actionUrl)return T();T(),E(!0),Ht(f.actionUrl).then((function(e){if(e.data.error)return E(!1),x(e.data.error,"");C().then((function(){return E(!1)}))})).catch((function(e){E(!1),console.error(e)}))},onCancel:T,show:f.visible,text:f.text}))});a(288);function rc(e){var t,a,n=e.data,r=Object(o.d)((function(e){return e.session})).i18n,l=function(e,t){return"no"===t||""===t?c.a.createElement("div",{className:"crossed"},e):c.a.createElement("div",null,e,": ",c.a.createElement("span",{className:"stat"},t))};return c.a.createElement(Nt,{id:n.NAME,checked:n.isChecked,starred:n.STARRED,date:n.DATE,toggleFav:function(t){t?e.toggleFav(n.NAME,"add"):e.toggleFav(n.NAME,"delete")},checkItem:function(){e.checkItem(n.NAME)},suspended:"yes"===n.SUSPENDED,focused:n.FOCUSED},c.a.createElement(Ge,{className:"r-col w-85"},c.a.createElement("div",{className:"name"},c.a.createElement("div",null,n.NAME),c.a.createElement("div",null,c.a.createElement("span",{className:"dns-name-span"},n.ALIAS.replace(/,/g,", ")))),c.a.createElement("div",null,n.IP),c.a.createElement("div",{className:"stats"},c.a.createElement(Ge,{className:"c-1 w-25"},c.a.createElement("div",{className:"bandwidth"},r.Bandwidth,c.a.createElement("span",null,c.a.createElement("span",{className:"stat"},n.U_BANDWIDTH_SIZE),n.U_BANDWIDTH_MEASURE),c.a.createElement("div",{className:"percent",style:{width:"".concat(n.U_BANDWIDTH_PERCENT,"%")||!1}})),c.a.createElement("div",{className:"disk"},r.Disk,": ",c.a.createElement("span",null,c.a.createElement("span",{className:"stat"},n.U_DISK_SIZE),n.U_DISK_MEASURE),c.a.createElement("div",{className:"percent",style:{width:"".concat(n.U_DISK_PERCENT,"%")||!1}}))),c.a.createElement(Ge,{className:"c-2 w-45"},c.a.createElement("div",null,r["Web Template"],": ",c.a.createElement("span",{className:"stat"},n.TPL)),"no"===n.SSL?l(r["SSL Support"],""):l(r["SSL Support"],"yes"===n.LETSENCRYPT?r["Lets Encrypt"]:r[n.SSL]),l(r["Web Statistics"],n.WEB_STATS)),c.a.createElement(Ge,{className:"c-3 w-35"},void(n.PROXY_SYSTEM&&("no"===n.PROXY_SUPPORT?l(r["Proxy Support"],""):l(r["Proxy Support"],n.PROXY_SUPPORT))),n.PROXY_SYSTEM&&l(null!==(t=r["Proxy Template"])&&void 0!==t?t:"Proxy Template",n.PROXY),function(){var e,t;n.WEB_BACKEND&&("no"===n.BACKEND_SUPPORT?l(null!==(e=r["Backend Support"])&&void 0!==e?e:"Backend Support",""):l(null!==(t=r["Backend Support"])&&void 0!==t?t:"Backend Support",n.BACKEND_SUPPORT))}(),n.WEB_BACKEND&&l(null!==(a=r["Backend Template"])&&void 0!==a?a:"Backend Template",n.BACKEND),l(r["Additional FTP Account"],n.FTP)))),c.a.createElement("div",{className:"actions"},c.a.createElement("div",null,c.a.createElement(pe.b,{className:"link-edit",to:"/edit/web?domain=".concat(n.NAME)},r.edit,n.FOCUSED?c.a.createElement("span",{className:"shortcut-button html-unicode"},"\u21a9"):c.a.createElement(W.a,{icon:"pen"}))),c.a.createElement("div",null,c.a.createElement(pe.b,{className:"link-gray",to:"/list/web-log?domain=".concat(n.NAME,"&type=access")},r["view logs"],n.FOCUSED?c.a.createElement("span",{className:"shortcut-button"},"L"):c.a.createElement(W.a,{icon:"list"}))),n.STATS&&c.a.createElement("div",null,c.a.createElement("a",{className:"link-gray",href:"http://".concat(n.NAME,"/vstats/"),target:"_blank",rel:"noopener noreferrer"},r["open webstats"],n.FOCUSED?c.a.createElement("span",{className:"shortcut-button"},"L"):c.a.createElement(W.a,{icon:"list"}))),c.a.createElement("div",null,c.a.createElement("button",{className:"link-gray",onClick:function(){var t="yes"===n.SUSPENDED?"unsuspend":"suspend";e.handleModal(n.spnd_confirmation,"/api/v1/".concat(t,"/web/index.php?domain=").concat(n.NAME))}},r[n.spnd_action],n.FOCUSED?c.a.createElement("span",{className:"shortcut-button"},"S"):c.a.createElement(W.a,{icon:"yes"===n.SUSPENDED?"unlock":"lock"}))),c.a.createElement("div",null,c.a.createElement("button",{className:"link-delete",onClick:function(){e.handleModal(n.delete_confirmation,"/api/v1/delete/web/index.php?domain=".concat(n.NAME))}},r.Delete,n.FOCUSED?c.a.createElement("span",{className:"shortcut-button del"},"Del"):c.a.createElement(W.a,{icon:"times"})))))}a(289);var lc=function(e){var t=Object(o.d)((function(e){return e.session})).i18n,a=Object(o.d)((function(e){return e.controlPanelContent})).controlPanelFocusedElement,r=Object(o.d)((function(e){return e.mainNavigation})).focusedElement,l=Object(o.d)((function(e){return e.panel})).panel,s=Object(o.d)((function(e){return e.session})).userName,i=Object(o.c)(),m=Object(R.g)(),d=Object(n.useState)(!1),E=Object(A.a)(d,2),p=E[0],v=E[1],f=Object(n.useState)({text:"",visible:!1,actionUrl:""}),b=Object(A.a)(f,2),h=b[0],g=b[1],O=Object(n.useState)({webDomains:[],webFav:[],toggledAll:!1,sorting:t.Date,order:"descending",selection:[],totalAmount:""}),N=Object(A.a)(O,2),j=N[0],y=N[1];Object(n.useEffect)((function(){return"0"===l[s].WEB_DOMAINS?m.push("/"):(i(Be("/list/web/")),i({type:"REMOVE_FOCUSED_ELEMENT",value:""}),i({type:"REMOVE_CPANEL_FOCUSED_ELEMENT",value:""}),T().then((function(){return v(!1)})),function(){i({type:"REMOVE_CPANEL_FOCUSED_ELEMENT",value:""})})}),[]),Object(n.useEffect)((function(){return window.addEventListener("keydown",k),window.addEventListener("keydown",C),function(){window.removeEventListener("keydown",k),window.removeEventListener("keydown",C)}}),[a,r,j.webDomains]);var k=function(e){38!==e.keyCode&&40!==e.keyCode||r&&i({type:"REMOVE_FOCUSED_ELEMENT",value:""}),38===e.keyCode?(e.preventDefault(),w()):40===e.keyCode&&(e.preventDefault(),S())},_=function(e){e[0].FOCUSED=e[0].NAME,y(Object(u.a)(Object(u.a)({},j),{},{webDomains:e})),i(vt(e[0].NAME))},S=function(){var e=Object(I.a)(j.webDomains);if(""!==a){var t=e.findIndex((function(e){return e.NAME===a}));if(t!==e.length-1){var n=e[t+1];e[t].FOCUSED="",n.FOCUSED=n.NAME,document.getElementById(n.NAME).scrollIntoView({behavior:"smooth",block:"center"}),y(Object(u.a)(Object(u.a)({},j),{},{webDomains:e})),i(vt(n.NAME))}}else _(e)},w=function(){var e=Object(I.a)(j.webDomains);if(""!==a){var t=e.findIndex((function(e){return e.NAME===a}));if(0!==t){var n=e[t-1];e[t].FOCUSED="",n.FOCUSED=n.NAME,document.getElementById(n.NAME).scrollIntoView({behavior:"smooth",block:"center"}),y(Object(u.a)(Object(u.a)({},j),{},{webDomains:e})),i(vt(n.NAME))}}else _(e)},C=function(e){var t=document.querySelector("input:focus")||document.querySelector("textarea:focus");if(a&&!t)switch(e.keyCode){case 76:return D();case 83:return F();case 8:return x();case 13:return M()}},D=function(){e.history.push("/list/web-log?domain=".concat(a,"&type=access"))},M=function(){e.history.push("/edit/web?domain=".concat(a))},F=function(){var e=j.webDomains.filter((function(e){return e.NAME===a}))[0],t="yes"===e.SUSPENDED?"unsuspend":"suspend";H(e.spnd_confirmation,"/api/v1/".concat(t,"/web/index.php?domain=").concat(a))},x=function(){var e=j.webDomains.filter((function(e){return e.NAME===a}))[0];H(e.delete_confirmation,"/api/v1/web/index.php?domain=".concat(a))},T=function(){return v(!0),new Promise((function(e,t){be.a.get(At+"/api/v1/list/web/index.php").then((function(t){y(Object(u.a)(Object(u.a)({},j),{},{webDomains:L(t.data.data),webFav:t.data.webFav,totalAmount:t.data.totalAmount,toggledAll:!1,selection:[]})),e()})).catch((function(e){return console.error(e)}))}))},L=function(e){var t=[];for(var n in e)e[n].NAME=n,e[n].FOCUSED=a===n,t.push(e[n]);return t},U=function(e){var t=Object(I.a)(j.selection),a=j.webDomains,n=t.indexOf(e),c=a.findIndex((function(t){return t.NAME===e}));a[c].isChecked=!a[c].isChecked,-1!==n?t.splice(n,1):t.push(e),y(Object(u.a)(Object(u.a)({},j),{},{webDomains:a,selection:t}))},V=function(e){var t=B(j.sorting);return"descending"===j.order?e.sort((function(e,a){return e[t]a[t]?1:a[t]>e[t]?-1:0}))},B=function(e){var a=t.Date,n=t.Domain,c=t.Disk,r=t.Bandwidth,l=t.Starred;switch(e){case a:return"DATE";case n:return"ALIAS";case t["IP Addresses"]:return"IP";case c:return"U_DISK";case r:return"U_BANDWIDTH";case l:return"STARRED"}},W=function(e,t){var a=j.webFav;"add"===t?(a[e]=1,gt(e,"web").then((function(){y(Object(u.a)(Object(u.a)({},j),{},{webFav:a}))})).catch((function(e){console.error(e)}))):(a[e]=void 0,Ot(e,"web").then((function(){y(Object(u.a)(Object(u.a)({},j),{},{webFav:a}))})).catch((function(e){console.error(e)})))},q=function(e){var t=Object(I.a)(j.webDomains);if(e){var a=[],n=t.map((function(e){return a.push(e.NAME),e.isChecked=!0,e}));y(Object(u.a)(Object(u.a)({},j),{},{webDomains:n,selection:a,toggledAll:e}))}else{var c=t.map((function(e){return e.isChecked=!1,e}));y(Object(u.a)(Object(u.a)({},j),{},{webDomains:c,selection:[],toggledAll:e}))}},H=function(e,t){g(Object(u.a)(Object(u.a)({},h),{},{visible:!0,text:e,actionUrl:t}))},K=function(){i(et()).then((function(){return v(!1)}))},J=function(){g(Object(u.a)(Object(u.a)({},h),{},{visible:!1,text:"",actionUrl:""}))};return c.a.createElement("div",{className:"web"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(t.WEB))),c.a.createElement(Xe,{mobile:!1},c.a.createElement(yt,{name:t["Add Web Domain"],href:"/add/web/",showLeftMenu:!0}),c.a.createElement("div",{className:"r-menu"},c.a.createElement("div",{className:"input-group input-group-sm"},c.a.createElement(kt,{toggleAll:q,toggled:j.toggledAll}),c.a.createElement(_t,{list:"webList",bulkAction:function(e){j.selection.length&&e&&(v(!0),function(e,t){var a=new FormData;return a.append("action",e),a.append("token",He()),t.forEach((function(e){a.append("domain[]",e)})),be.a.post(At+"/api/v1/bulk/web/",a)}(e,j.selection).then((function(e){q(!1),T().then((function(){return K()}))})).catch((function(e){return console.error(e)})))}}),c.a.createElement(ft,{changeSorting:function(e,t){y(Object(u.a)(Object(u.a)({},j),{},{sorting:e,order:t}))},sorting:j.sorting,order:j.order,list:"webList"}),c.a.createElement(bt,{handleSearchTerm:function(t){return e.changeSearchTerm(t)}})))),c.a.createElement("div",{className:"web-domains-wrapper"},p?c.a.createElement(P,null):c.a.createElement(c.a.Fragment,null,function(){var e=Object(u.a)({},j.webFav),t=Object(I.a)(j.webDomains);return t.forEach((function(t){t.FOCUSED=a===t.NAME,e[t.NAME]?t.STARRED=e[t.NAME]:t.STARRED=0})),V(t).map((function(e,t){return c.a.createElement(rc,{data:e,key:t,toggleFav:W,checkItem:U,handleModal:H})}))}(),c.a.createElement("div",{className:"total"},j.totalAmount))),c.a.createElement(St,{onSave:function(){if(!h.actionUrl)return J();var e;J(),v(!0),(e=h.actionUrl,be.a.get(At+e,{params:{token:He()}})).then((function(e){if(e.data.error)return v(!1),H(e.data.error,"");T().then((function(){return K()}))})).catch((function(e){v(!1),console.error(e)}))},onCancel:J,show:h.visible,text:h.text}))},oc=window.location.origin,sc=(a(290),function(e){var t=e.data,a=e.handleModal,n=Object(o.d)((function(e){return e.session})),r=n.i18n,l=n.userName,s=Object(o.c)(),i=Object(R.g)(),u=function(){s(_a()).then((function(){return i.push("/")}))};return c.a.createElement(Nt,{date:t.DATE,suspended:"yes"===t.SUSPENDED},c.a.createElement(Ge,{className:"search-list r-col w-85"},c.a.createElement("div",{className:"name"},t.RESULT),c.a.createElement("div",{className:"stats"},c.a.createElement(Ge,{className:"c-1"},c.a.createElement("div",{className:"object"},"user"===t.TYPE?r.USER:r[t.object])),c.a.createElement(Ge,{className:"c-2"},c.a.createElement("div",{className:"owner"},r.Owner,": ",c.a.createElement("span",null,t.USER))),c.a.createElement(Ge,{className:"c-3"},c.a.createElement("div",{className:"status"},r.Status,": ",c.a.createElement("span",null,t.status))))),c.a.createElement("div",{className:"actions"},function(){if("user"===t.TYPE)return l===t.USER?c.a.createElement("div",null,c.a.createElement("button",{onClick:u},r["Log out"],t.FOCUSED?c.a.createElement("span",{className:"shortcut-button"},"L"):c.a.createElement(W.a,{icon:"user-lock"}))):c.a.createElement("div",null,c.a.createElement("button",{onClick:function(){return e=t.USER,void s(ka(e)).then((function(){return i.push("/")}));var e}},r["login as"]," ",t.USER,t.FOCUSED?c.a.createElement("span",{className:"shortcut-button"},"L"):c.a.createElement(W.a,{icon:"user-lock"})))}(),c.a.createElement("div",null,c.a.createElement(pe.b,{className:"link-edit",to:t.edit_link},r.edit," ",c.a.createElement(W.a,{icon:"pen"}))),c.a.createElement("div",null,c.a.createElement("button",{className:"link-gray",onClick:function(){a(t.spnd_confirmation,"/api/v1/".concat("user"===t.TYPE?"".concat(t.spnd_action,"/user/index.php?user=").concat(t.USER):t.spnd_link))}},t.spnd_action,c.a.createElement(W.a,{icon:"yes"===t.SUSPENDED?"unlock":"lock"}))),c.a.createElement("div",null,c.a.createElement("button",{className:"link-delete",onClick:function(){a(t.delete_confirmation,"/api/v1/".concat("user"===t.TYPE?"/api/v1/delete/user/index.php?user=".concat(t.USER):t.delete_link))}},r.Delete,c.a.createElement(W.a,{icon:"times"})))))}),ic=(a(291),function(e){var t=Object(o.d)((function(e){return e.session})).i18n,a=Object(R.g)(),r=Object(o.c)(),l=Object(n.useState)(!1),s=Object(A.a)(l,2),i=s[0],m=s[1],d=Object(n.useState)({searchResults:[],totalAmount:"",sorting:t.Date,order:"descending",total:0}),E=Object(A.a)(d,2),p=E[0],v=E[1],f=Object(n.useState)({visible:!1,text:"",actionUrl:""}),b=Object(A.a)(f,2),h=b[0],g=b[1];Object(n.useEffect)((function(){var t=a.location.search;if(t){var n=t.split("=")[1];if(""===n)return a.push({pathname:"/list/user/",search:""});O(n).then((function(){return m(!1)}))}else{if(""===e.searchTerm)return a.push({pathname:"/list/user/",search:""});O(e.searchTerm).then((function(){return m(!1)}))}}),[]);var O=function(e){return m(!0),new Promise((function(t,a){var n;(n=e,be.a.get(oc+"/api/v1/search/?q="+n)).then((function(e){v(Object(u.a)(Object(u.a)({},p),{},{searchResults:e.data.data,totalAmount:e.data.total})),t()})).catch((function(e){return console.error(e)}))}))},N=function(e){var t=p.order,a=p.sorting,n=j(a);return"descending"===t?e.sort((function(e,t){return e[n]t[n]?1:t[n]>e[n]?-1:0}))},j=function(e){var a=t.Date,n=t.Name;t.Starred;switch(e){case a:return"DATE";case n:return"RESULT"}},y=function(e,t){g(Object(u.a)(Object(u.a)({},h),{},{visible:!h.visible,text:e,actionUrl:t}))},k=function(){r(et()).then((function(){return m(!1)}))},_=function(){g(Object(u.a)(Object(u.a)({},h),{},{visible:!1,text:"",actionUrl:""}))};return c.a.createElement("div",{className:"logs-list"},c.a.createElement(Xe,{mobile:!1},c.a.createElement("div",{className:"search-toolbar-name"},t["Search Results"]),c.a.createElement("div",{className:"search-toolbar-right"},c.a.createElement(ft,{changeSorting:function(e,t){v(Object(u.a)(Object(u.a)({},p),{},{sorting:e,order:t}))},sorting:p.sorting,order:p.order,list:"searchList"}),c.a.createElement(bt,{handleSearchTerm:function(t){return e.changeSearchTerm(t)}}))),c.a.createElement("div",{className:"statistics-wrapper"},i?c.a.createElement(P,null):c.a.createElement(c.a.Fragment,null,function(){var e=p.searchResults,t=[];for(var a in e)t.push(e[a]);return N(t).map((function(e,t){return c.a.createElement(sc,{data:e,key:t,handleModal:y})}))}(),c.a.createElement("div",{className:"total"},p.totalAmount))),c.a.createElement(St,{onSave:function(){if(!h.actionUrl)return _();var e;_(),m(!0),(e=h.actionUrl,be.a.get(oc+e,{params:{token:He()}})).then((function(e){if(e.data.error)return m(!1),y(e.data.error,"");O().then((function(){return k()}))})).catch((function(e){m(!1),console.error(e)}))},onCancel:_,show:h.visible,text:h.text}))}),uc=window.location.origin,mc=(a(292),function(e){var t=e.data;return c.a.createElement("div",{className:t.FOCUSED?"statistic-item focused":"statistic-item",id:t.NAME},c.a.createElement(Ge,{className:"l-col w-15"},function(e){var t=new Date(e),a=t.getDate(),n=t.getMonth(),r=t.getFullYear();return c.a.createElement("div",{className:"date"},a," \xa0 ",["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][n]," \xa0 ",r)}(t.DATE),t.TIME),c.a.createElement(Ge,{className:"r-col w-85"},c.a.createElement("div",{className:"name"},t.CMD)))}),dc=(a(293),function(e){var t=Object(o.d)((function(e){return e.session})).i18n,a=Object(o.d)((function(e){return e.controlPanelContent})).controlPanelFocusedElement,r=Object(o.d)((function(e){return e.mainNavigation})).focusedElement,l=Object(o.c)(),s=Object(n.useState)({logs:[],totalAmount:"",loading:!1,total:0}),i=Object(A.a)(s,2),m=i[0],d=i[1];Object(n.useEffect)((function(){return l(Be("/list/log/")),l({type:"REMOVE_FOCUSED_ELEMENT",value:""}),l({type:"REMOVE_CPANEL_FOCUSED_ELEMENT",value:""}),b(),function(){l({type:"REMOVE_CPANEL_FOCUSED_ELEMENT",value:""})}}),[]),Object(n.useEffect)((function(){return window.addEventListener("keydown",E),function(){window.removeEventListener("keydown",E)}}),[a,r,m.logs]);var E=function(e){38!==e.keyCode&&40!==e.keyCode||r&&l({type:"REMOVE_FOCUSED_ELEMENT",value:""}),38===e.keyCode?(e.preventDefault(),f()):40===e.keyCode&&(e.preventDefault(),v())},p=function(e){e[0].FOCUSED=e[0].NAME,d(Object(u.a)(Object(u.a)({},m),{},{logs:e})),l(vt(e[0].NAME))},v=function(){var e=Object(I.a)(m.logs);if(""!==a){var t=e.findIndex((function(e){return e.NAME===a}));if(t!==e.length-1){var n=e[t+1];e[t].FOCUSED="",n.FOCUSED=n.NAME,document.getElementById(n.NAME).scrollIntoView({behavior:"smooth",block:"center"}),d(Object(u.a)(Object(u.a)({},m),{},{logs:e})),l(vt(n.NAME))}}else p(e)},f=function(){var e=Object(I.a)(m.logs);if(""!==a){var t=e.findIndex((function(e){return e.NAME===a}));if(0!==t){var n=e[t-1];e[t].FOCUSED="",n.FOCUSED=n.NAME,document.getElementById(n.NAME).scrollIntoView({behavior:"smooth",block:"center"}),d(Object(u.a)(Object(u.a)({},m),{},{logs:e})),l(vt(n.NAME))}}else p(e)},b=function(){d(Object(u.a)(Object(u.a)({},m),{},{loading:!0})),be.a.get(uc+"/api/v1/list/log/index.php").then((function(e){d({logs:h(e.data.data),totalAmount:e.data.totalAmount,loading:!1})})).catch((function(e){return console.error(e)}))},h=function(e){var t=[];for(var n in e)e[n].NAME=n,e[n].FOCUSED=a===n,t.push(e[n]);return t};return c.a.createElement("div",{className:"logs-list"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(t.LOG))),c.a.createElement(Xe,{mobile:!1,className:"justify-right"},c.a.createElement(yt,{name:"Add Cron Job",showLeftMenu:!1}),c.a.createElement("div",{className:"r-menu"},c.a.createElement("div",{className:"input-group input-group-sm"},c.a.createElement(bt,{handleSearchTerm:function(t){return e.changeSearchTerm(t)}})))),c.a.createElement("div",{className:"logs-wrapper"},m.loading?c.a.createElement(P,null):function(){var e=Object(I.a)(m.logs);return e.forEach((function(e){e.FOCUSED=a===e.NAME})),e.map((function(e,t){return c.a.createElement(mc,{data:e,key:t})}))}()),c.a.createElement("div",{className:"total"},m.totalAmount))}),Ec=(a(294),function(e){var t=Object(o.d)((function(e){return e.session})).userName,a=Object(R.g)(),r=Object(n.useState)(""),l=Object(A.a)(r,2),s=l[0],i=l[1],u=Object(n.useState)(null),m=Object(A.a)(u,2),d=m[0],E=m[1],p=Object(n.useState)(!0),v=Object(A.a)(p,2),f=v[0],b=v[1],h=Object(o.c)();Object(n.useEffect)((function(){if(!t)return a.push("/login");b(!1)}),[t]),Object(n.useEffect)((function(){return h({type:"REMOVE_FOCUSED_ELEMENT",value:""}),window.addEventListener("keyup",g),window.addEventListener("keyup",O),function(){window.removeEventListener("keyup",g),window.removeEventListener("keyup",O)}}),[]);var g=function(e){if(!(document.querySelector("input:focus")||document.querySelector("textarea:focus")))switch(e.keyCode){case 49:return a.push("/list/user/");case 50:return a.push("/list/web/");case 51:return a.push("/list/dns/");case 52:return a.push("/list/mail/");case 53:return a.push("/list/db/");case 54:return a.push("/list/cron/");case 55:return a.push("/list/backup/")}},O=function(e){if(!(document.querySelector("input:focus")||document.querySelector("textarea:focus"))&&65===e.keyCode)switch(a.location.pathname){case"/list/web/":return a.push("/add/web/");case"/list/dns/":return a.push("/add/dns/");case"/list/mail/":return a.push("/add/mail/");case"/list/db/":return a.push("/add/db/");case"/list/cron/":return a.push("/add/cron/");case"/list/backup/exclusions":return a.push("/edit/backup/exclusions/");case"/list/package/":return a.push("/add/package/");case"/list/ip/":return a.push("/add/ip/");case"/list/firewall/":return a.push("/add/firewall/")}},N=function(e){i(e),a.push({pathname:"/search/",search:"?q=".concat(e)})};return c.a.createElement("div",null,c.a.createElement(Tn,null),c.a.createElement("div",{className:"content"},f?c.a.createElement(P,null):c.a.createElement(R.d,null,c.a.createElement(R.a,{from:"/",exact:!0,to:"/list/user/"}),c.a.createElement(R.b,{path:"/list/package",component:function(e){return c.a.createElement(bn,Object.assign({},e,{changeSearchTerm:N}))}}),c.a.createElement(R.b,{path:"/add/package",component:function(){return c.a.createElement(Ea,null)}}),c.a.createElement(R.b,{path:"/edit/package",component:function(){return c.a.createElement(ua,null)}}),c.a.createElement(R.b,{path:"/list/ip",component:function(e){return c.a.createElement(wt,Object.assign({},e,{changeSearchTerm:N}))}}),c.a.createElement(R.b,{path:"/add/ip",component:function(){return c.a.createElement(ct,null)}}),c.a.createElement(R.b,{path:"/edit/ip",component:function(){return c.a.createElement(nt,null)}}),c.a.createElement(R.b,{path:"/list/rrd",component:function(e){return c.a.createElement(ac,Object.assign({},e,{changeSearchTerm:N}))}}),c.a.createElement(R.b,{path:"/list/stats",component:function(e){return c.a.createElement(Gn,Object.assign({},e,{changeSearchTerm:N}))}}),c.a.createElement(R.b,{path:"/list/log",component:function(e){return c.a.createElement(dc,Object.assign({},e,{changeSearchTerm:N}))}}),c.a.createElement(R.b,{path:"/list/updates",component:function(e){return c.a.createElement(jn,Object.assign({},e,{changeSearchTerm:N}))}}),c.a.createElement(R.b,{path:"/list/firewall",exact:!0,component:function(e){return c.a.createElement(Xa,Object.assign({},e,{changeSearchTerm:N}))}}),c.a.createElement(R.b,{path:"/list/firewall/banlist",exact:!0,component:function(e){return c.a.createElement(cc,Object.assign({},e,{changeSearchTerm:N}))}}),c.a.createElement(R.b,{path:"/add/firewall/banlist",component:En}),c.a.createElement(R.b,{path:"/add/firewall",component:function(){return c.a.createElement(Yt,null)}}),c.a.createElement(R.b,{path:"/edit/firewall",component:function(){return c.a.createElement(Kt,null)}}),c.a.createElement(R.b,{path:"/list/server/",exact:!0,component:function(e){return c.a.createElement(_n,Object.assign({},e,{changeSearchTerm:N}))}}),c.a.createElement(R.b,{path:"/edit/server/",exact:!0,component:function(){return c.a.createElement(Sa,null)}}),c.a.createElement(R.b,{path:"/edit/server/nginx",exact:!0,component:function(){return c.a.createElement(mt,null)}}),c.a.createElement(R.b,{path:"/edit/server/php",exact:!0,component:function(){return c.a.createElement(za,{serviceName:"php"})}}),c.a.createElement(R.b,{path:"/edit/server/php-fpm",exact:!0,component:function(){return c.a.createElement(za,{serviceName:"php-fpm"})}}),c.a.createElement(R.b,{path:"/edit/server/php5-fpm",exact:!0,component:function(){return c.a.createElement(za,{serviceName:"php5-fpm"})}}),c.a.createElement(R.b,{path:"/edit/server/httpd",exact:!0,component:function(){return c.a.createElement(ma,null)}}),c.a.createElement(R.b,{path:"/edit/server/dovecot",exact:!0,component:function(){return c.a.createElement(wa,null)}}),c.a.createElement(R.b,{path:"/edit/server/bind9",exact:!0,component:function(){return c.a.createElement(en,null)}}),c.a.createElement(R.b,{path:"/edit/server/postgresql",exact:!0,component:function(){return c.a.createElement(dt,null)}}),c.a.createElement(R.b,{path:"/edit/server/mysql",exact:!0,component:function(){return c.a.createElement(tn,{serviceName:"mysql"})}}),c.a.createElement(R.b,{path:"/edit/server/mariadb",exact:!0,component:function(){return c.a.createElement(tn,{serviceName:"mariadb"})}}),c.a.createElement(R.b,{path:"/edit/server/mysqld",exact:!0,component:function(){return c.a.createElement(tn,{serviceName:"mysqld"})}}),!!ut.length&&ut.map((function(e,t){return"iptables"===e?c.a.createElement(R.a,{key:t,from:"/edit/server/iptables",exact:!0,to:"/list/firewall"}):c.a.createElement(R.b,{key:t,path:"/edit/server/".concat(e),exact:!0,component:function(){return c.a.createElement(La,{serviceName:e})}})})),c.a.createElement(R.b,{path:"/list/user",component:function(e){return c.a.createElement(Xn,Object.assign({changeSearchTerm:N},e))}}),c.a.createElement(R.b,{path:"/add/user",component:function(){return c.a.createElement(gn,null)}}),c.a.createElement(R.b,{path:"/edit/user",component:function(){return c.a.createElement($a,null)}}),c.a.createElement(R.b,{path:"/list/web",component:function(e){return c.a.createElement(lc,Object.assign({},e,{changeSearchTerm:N}))}}),c.a.createElement(R.b,{path:"/add/web",component:function(){return c.a.createElement(It,null)}}),c.a.createElement(R.b,{path:"/edit/web",component:function(){return c.a.createElement(Ja,null)}}),c.a.createElement(R.b,{path:"/list/dns",component:function(e){return c.a.createElement(Jn,Object.assign({},e,{changeSearchTerm:N}))}}),c.a.createElement(R.b,{path:"/add/dns",component:function(){return c.a.createElement(ln,null)}}),c.a.createElement(R.b,{path:"/edit/dns",component:function(){return c.a.createElement(Ha,null)}}),c.a.createElement(R.b,{path:"/list/mail",component:function(e){return c.a.createElement(Bn,Object.assign({},e,{changeSearchTerm:N}))}}),c.a.createElement(R.b,{path:"/add/mail",component:function(){return c.a.createElement(Pa,null)}}),c.a.createElement(R.b,{path:"/edit/mail",component:function(){return c.a.createElement(Ta,null)}}),c.a.createElement(R.b,{path:"/list/db",component:function(e){return c.a.createElement(Ga,Object.assign({},e,{changeSearchTerm:N}))}}),c.a.createElement(R.b,{path:"/add/db",component:function(){return c.a.createElement(zt,null)}}),c.a.createElement(R.b,{path:"/edit/db",component:function(){return c.a.createElement(Bt,null)}}),c.a.createElement(R.b,{path:"/list/cron",component:function(e){return c.a.createElement(vn,Object.assign({},e,{changeSearchTerm:N}))}}),c.a.createElement(R.b,{path:"/add/cron",component:function(){return c.a.createElement(da,null)}}),c.a.createElement(R.b,{path:"/edit/cron",component:function(){return c.a.createElement(ra,null)}}),c.a.createElement(R.b,{exact:!0,path:"/list/backup",component:function(e){return c.a.createElement(dn,Object.assign({},e,{changeSearchTerm:N}))}}),c.a.createElement(R.b,{exact:!0,path:"/list/backup/exclusions",component:function(e){return c.a.createElement(Un,Object.assign({},e,{changeSearchTerm:N}))}}),c.a.createElement(R.b,{exact:!0,path:"/edit/backup/exclusions",component:pt}),c.a.createElement(R.b,{path:"/search/",component:function(e){return c.a.createElement(ic,Object.assign({},e,{changeSearchTerm:N,searchTerm:s}))}}))),c.a.createElement("div",{className:"fixed-buttons"},c.a.createElement("div",{className:"hotkey-button"},c.a.createElement("button",{onClick:function(){return d.classList.toggle("hide")}},c.a.createElement(W.a,{icon:"ellipsis-h"}))),c.a.createElement("div",{className:"scroll-to-top"},c.a.createElement("button",{onClick:function(){window.scrollTo({top:0,behavior:"smooth"})}},c.a.createElement(W.a,{icon:"long-arrow-alt-up"})))),c.a.createElement(Jt,{reference:function(e){return E(e)},toggleHotkeys:function(){return d.classList.toggle("hide")}}))}),pc=a(95),vc=a.n(pc),fc=(a(297),function(e){var t=e.menuItems,a=void 0===t?[]:t,r=e.extraMenuItems,l=void 0===r?[]:r,s=Object(o.d)((function(e){return e.mainNavigation})),i=Object(n.useState)(!1),u=Object(A.a)(i,2),m=u[0],d=u[1],E=Object(o.d)((function(e){return e.session})),p=E.i18n,v=E.userName,f=Object(o.c)(),b=Object(R.g)(),h=function(e){var t="nav-link";return s.activeElement===e?t+" active":t},g=function(e,t){e.preventDefault(),b.push(t),f(Be(t))};return c.a.createElement("div",{className:"panel-wrapper"},m&&c.a.createElement(P,null),c.a.createElement("div",{className:"top-panel"},c.a.createElement("div",{className:"container left-menu"},c.a.createElement("div",{className:"logo"},c.a.createElement(pe.b,{to:"/list/user/"},c.a.createElement("div",{className:"logo-img"},c.a.createElement("img",{src:"/images/white_logo.png",alt:"Logo"})))),c.a.createElement(vc.a,null,function(){if(a.length)return a.map((function(e){var t=e.route,a=e.name;return c.a.createElement("div",{className:h(t),key:a},c.a.createElement("button",{onClick:function(e){return g(e,t)}},a))}))}(),function(){if(l.length)return l.map((function(e,t){var a=e.link,n=e.text,r=e.type;return c.a.createElement("div",{className:"nav-link",key:t},"download"===r?c.a.createElement("a",{href:"/api/v1".concat(a),target:"_blank",rel:"noopener noreferrer"},n):c.a.createElement(pe.b,{to:a,target:"_blank"},n))}))}())),c.a.createElement("div",{className:"container profile-menu"},c.a.createElement("div",null,c.a.createElement(pe.b,{to:"/edit/user?user=".concat(v)},v)),c.a.createElement("div",null,c.a.createElement("button",{className:"log-out",onClick:function(){d(!0),f(_a()).then((function(){b.push("/login/"),d(!1)}),(function(e){d(!1),console.error(e)}))}},p["Log out"])))))}),bc=(a(298),window.location.origin);function hc(){var e=Object(o.d)((function(e){return e.session})),t=e.i18n,a=e.userName,r=Object(R.g)(),l=Object(o.c)(),s=Object(o.d)((function(e){return e.mainNavigation})),i=Object(n.useState)(),m=Object(A.a)(i,2),d=m[0],E=m[1],p=Object(n.useState)({data:"",prefix:"",loading:!1}),v=Object(A.a)(p,2),f=v[0],b=v[1];Object(n.useEffect)((function(){a||r.push("/login/")}),[]),Object(n.useEffect)((function(){var e=ge.a.parse(r.location.search,{ignoreQueryPrefix:!0}),t=e.domain,a=e.type;if(!e&&!t&&!a)return r.goBack();E(t);var n="/list/web-log/?domain=".concat(t,"&type=").concat(a);h(n),l(Be("/list/web-log/?domain=".concat(t,"&type=").concat(a)))}),[s.activeElement]);var h=function(e){b(Object(u.a)(Object(u.a)({},f),{},{loading:!0})),function(e){return be.a.get(bc+"/api/v1"+e)}(e).then((function(e){e.data&&b(Object(u.a)(Object(u.a)({},f),{},{data:e.data.data,prefix:e.data.prefix,loading:!1}))})).catch((function(e){console.error(e),b(Object(u.a)(Object(u.a)({},f),{},{loading:!1}))}))},g=[{route:"/list/web-log/?domain=".concat(d,"&type=access"),name:t.AccessLog},{route:"/list/web-log/?domain=".concat(d,"&type=error"),name:t.ErrorLog}],O=[{link:"/download/web-log/?domain=".concat(null!==d&&void 0!==d?d:"","&type=access"),type:"download",text:t["Download AccessLog"]},{link:"/download/web-log/?domain=".concat(null!==d&&void 0!==d?d:"","&type=error"),type:"download",text:t["Download ErrorLog"]}];return c.a.createElement("div",{className:"web-logs"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(t.WEB))),c.a.createElement(fc,{menuItems:g,extraMenuItems:O}),c.a.createElement("div",{className:"content"},c.a.createElement("h6",null,c.a.createElement("b",null,f.prefix)),c.a.createElement("br",null),f.loading?c.a.createElement(P,null):c.a.createElement("pre",null,at()(f.data))))}a(299);var gc=function(e){var t=e.children;return c.a.createElement("div",{className:"login-layout"},t)};a(300);function Oc(){var e,t,a,r,l,s=Object(o.d)((function(e){return e.session})).i18n,i=Object(o.c)(),m=Object(R.g)(),d=Object(n.useState)(!1),E=Object(A.a)(d,2),p=E[0],v=E[1],f=Object(n.useState)({user:"",password:""}),b=Object(A.a)(f,2),h=b[0],g=b[1],O=Object(o.d)((function(e){return e.session})),N=Object(n.useState)(""),j=Object(A.a)(N,2),y=j[0],k=j[1];Object(n.useEffect)((function(){O.error?k(O.error):O.token&&O.userName&&m.push("/list/user/")}),[O]);var _=function(e){var t=e.target,a=t.value,n=t.name;g(Object(u.a)(Object(u.a)({},h),{},Object(M.a)({},n,a)))};return c.a.createElement("div",{className:"login-page"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(null!==(e=s.LOGIN)&&void 0!==e?e:"LOGIN"))),p&&c.a.createElement(P,null),c.a.createElement("div",{className:"login-form-wrapper"},c.a.createElement(gc,null,c.a.createElement("form",{onSubmit:function(e){e.preventDefault();var t=h.user,a=h.password;v(!0),i(ya(t,a)).then((function(e){v(!1)}))}},c.a.createElement("div",{className:"c1"},c.a.createElement(pe.b,{to:"/"},c.a.createElement("img",{src:"/images/logo.png",alt:"Logo"}))),c.a.createElement("div",{className:"c2"},c.a.createElement(ze,{onChange:_,title:null!==(t=s.Username)&&void 0!==t?t:"Username",value:h.user,name:"user",id:"user"}),c.a.createElement(ze,{onChange:_,title:null!==(a=s.Password)&&void 0!==a?a:"Password",value:h.password,optionalTitle:c.a.createElement(pe.b,{className:"forgot-password",tabIndex:"-1",to:"/reset"},null!==(r=s["forgot password"])&&void 0!==r?r:"forgot password"),name:"password",type:"password",id:"password"}),c.a.createElement("button",{type:"submit",disabled:p,className:p?"disabled":""},null!==(l=s["Log in"])&&void 0!==l?l:"Log in"),c.a.createElement("div",{className:"error-message"},y))),c.a.createElement("span",null,c.a.createElement("a",{href:"http://vestacp.com/"},"vestacp.com")))))}a(301);var Nc=function(){var e=Object(o.d)((function(e){return e.session})),t=e.i18n,a=e.userName,r=Object(o.c)(),l=Object(R.g)(),s=Object(n.useState)({data:"",loading:!1}),i=Object(A.a)(s,2),m=i[0],d=i[1];Object(n.useEffect)((function(){a||l.push("/login/")}),[a]),Object(n.useEffect)((function(){var e=ge.a.parse(l.location.search,{ignoreQueryPrefix:!0});return e.srv?p.find((function(t){return t.service===e.srv}))?(E(e.srv),void r(Be("/list/server/service/?srv=".concat(e.srv)))):(r(Be("/list/server/service/?srv=cpu")),void l.push("/list/server/service/?srv=cpu")):(E("cpu"),void r(Be("/list/server/service/?srv=cpu")))}),[l.location.search]);var E=function(e){var t;d(Object(u.a)(Object(u.a)({},m),{},{loading:!0})),(t=e,be.a.get("".concat(lt).concat("/api/v1/list/server/index.php","?").concat(t))).then((function(e){d(Object(u.a)(Object(u.a)({},m),{},{data:e.data.service_log,loading:!1}))})).catch((function(e){console.error(e),d(Object(u.a)(Object(u.a)({},m),{},{loading:!1}))}))},p=[{route:"/list/server/service/?srv=cpu",service:"cpu",name:t.CPU},{route:"/list/server/service/?srv=mem",service:"mem",name:t.MEMORY},{route:"/list/server/service/?srv=disk",service:"disk",name:t.DISK},{route:"/list/server/service/?srv=net",service:"net",name:t.NETWORK},{route:"/list/server/service/?srv=web",service:"web",name:t.WEB},{route:"/list/server/service/?srv=dns",service:"dns",name:t.DNS},{route:"/list/server/service/?srv=mail",service:"mail",name:t.MAIL},{route:"/list/server/service/?srv=db",service:"db",name:t.DB}];return c.a.createElement("div",{className:"service-info"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(t.SERVER))),c.a.createElement(fc,{menuItems:p}),c.a.createElement("div",{className:"content"},m.loading?c.a.createElement(P,null):c.a.createElement("pre",null,m.data&&at()(m.data))))};function jc(){var e=Object(o.d)((function(e){return e.session})).i18n,t=Object(o.c)(),a=Object(R.g)(),r=Object(n.useState)(!1),l=Object(A.a)(r,2),s=l[0],i=l[1],m=Object(n.useState)({action:"",user:"",code:""}),d=Object(A.a)(m,2),E=d[0],p=d[1],v=Object(o.d)((function(e){return e.session})),f=Object(R.h)(),b=Object(n.useState)(""),h=Object(A.a)(b,2),g=h[0],O=h[1];Object(n.useEffect)((function(){var e=ge.a.parse(f.search,{ignoreQueryPrefix:!0});p(Object(u.a)(Object(u.a)({},E),{},{action:e.action||"",user:e.user||"",code:e.code||""}))}),[]),Object(n.useEffect)((function(){v.error?O(v.error):v.token&&v.userName&&a.push("/list/user/")}),[v]);var N=function(e){var t=e.target,a=t.value,n=t.name;p(Object(u.a)(Object(u.a)({},E),{},Object(M.a)({},n,a)))},j=function(){E.user&&(i(!0),ja(E.user).then((function(e){O(e.data.error||""),p(Object(u.a)(Object(u.a)({},E),{},{action:"code"})),i(!1)})).catch((function(e){console.error(e),i(!1)})))},y=function(){p(Object(u.a)(Object(u.a)({},E),{},{action:"confirm"}))};return c.a.createElement("div",{className:"login-page"},c.a.createElement(Ae.a,null,c.a.createElement("title",null,"Vesta - ".concat(e["RESET PASSWORD"]))),s&&c.a.createElement(P,null),c.a.createElement("div",{className:"login-form-wrapper"},c.a.createElement(gc,null,c.a.createElement("form",{onSubmit:function(e){if(e.preventDefault(),E.code||E.user)if(E.action||!E.user)if("code"===E.action&&E.user&&E.code)y();else{i(!0);var n,c={user:E.user,code:E.code},r=Object(We.a)(new FormData(e.target).entries());try{for(r.s();!(n=r.n()).done;){var l=Object(A.a)(n.value,2),o=l[0],s=l[1];c[o]=s}}catch(u){r.e(u)}finally{r.f()}t(function(e){var t=e.user,a=void 0===t?"":t,n=e.code,c=void 0===n?"":n,r=e.password,l=void 0===r?"":r,o=e.password_confirm,s=void 0===o?"":o;return function(e){return new Promise((function(t,n){ja(a,c,l,s).then((function(a){var n=a.data,c=n.error,r=n.session,l=n.token,o=n.panel,s=n.user;e({type:"RESET_PASSWORD",value:{token:l,userName:s,error:c}}),e({type:"REFRESH_PANEL",value:{panel:o}}),e({type:"REFRESH_COUNTERS",value:{user:{}}}),e({type:"SET_USER_SESSION",value:r}),t(l)}),(function(e){n(e)}))}))}}(c)).then((function(e){e.error?O(e.error):(a.push("/login"),O("")),i(!1)}))}else j()}},c.a.createElement("div",{className:"c1"},c.a.createElement(pe.b,{to:"/"},c.a.createElement("img",{src:"/images/logo.png",alt:"Logo"}))),c.a.createElement("div",{className:"c2"},!E.action&&c.a.createElement(c.a.Fragment,null,c.a.createElement(ze,{onChange:N,title:e.Username,value:E.user,name:"user",id:"user"}),c.a.createElement("div",{className:"buttons-wrapper"},c.a.createElement("button",{className:"add",type:"button",onClick:j},e.Submit),c.a.createElement("button",{className:"back",type:"button",onClick:function(){return a.push("/login")}},e.Back))),"code"===E.action&&c.a.createElement(c.a.Fragment,null,c.a.createElement("span",null,at()(e.RESET_CODE_SENT)),c.a.createElement("br",null),c.a.createElement(ze,{onChange:N,title:e["Reset Code"],value:E.code,name:"code",id:"code"}),c.a.createElement("div",{className:"buttons-wrapper"},c.a.createElement("button",{className:"add",type:"button",onClick:y},e.Confirm),c.a.createElement("button",{className:"back",type:"button",onClick:function(){return p(Object(u.a)(Object(u.a)({},E),{},{action:"",code:"",user:""}))}},e.Back))),"confirm"===E.action&&c.a.createElement(c.a.Fragment,null,c.a.createElement(Mt,{name:"password",title:e["New Password"],showGenerationButton:!1,tabIndex:1}),c.a.createElement(Mt,{name:"password_confirm",title:e["Confirm Password"],showGenerationButton:!1,tabIndex:2}),c.a.createElement("div",{className:"buttons-wrapper"},c.a.createElement("button",{className:"add",type:"submit",style:{height:"31px"}},e.Reset),c.a.createElement("button",{className:"back",type:"button",onClick:function(){return p(Object(u.a)(Object(u.a)({},E),{},{action:"code",code:"",user:E.user}))}},e.Back))),c.a.createElement("div",{className:"error-message"},g))),c.a.createElement("span",null,c.a.createElement("a",{href:"http://vestacp.com/"},"vestacp.com")))))}Pe.b.add(Re.e,Re.l,Re.p,Re.q,Re.t,Re.u,Re.m,Re.s,Re.w,Re.M,Re.k,Re.B,Re.K,Re.f,Re.b,Re.c,Re.d,Re.F,Re.a,Re.H,Re.N,Re.D,Re.y,Re.J,Re.G,Re.i,Re.x,Re.O,Re.r,Re.C,Re.E,Re.j,Re.I,Re.L,Re.A,Re.n,Re.o,Re.z,Re.g,Re.h,Re.v,Re.E);var yc=function(){var e=Object(R.g)(),t=Object(o.c)(),a=Object(o.d)((function(e){return e.session})),r=Object(n.useState)(!0),l=Object(A.a)(r,2),s=l[0],i=l[1];Object(n.useEffect)((function(){Object.entries(a.i18n).length||t((function(e,t){return new Promise((function(t,a){$e().then((function(a){var n=a.data,c=n.user,r=n.data,l=n.session,o=n.panel,s=n.error,i=n.i18n,u=n.token;u&&qe(u),e({type:"CHECK_AUTH",value:{userName:c,i18n:i,token:u,error:s}}),e({type:"REFRESH_PANEL",value:{panel:o}}),e({type:"REFRESH_COUNTERS",value:{user:r}}),e({type:"SET_USER_SESSION",value:l}),t(u)})).catch((function(e){a(),console.error(e)}))}))})).then((function(e){i(!1)}),(function(t){return console.error(t),e.push("/login")}))}),[t,e,a]);var u=function(e){var t=e.authenticated,a=Object(w.a)(e,["authenticated"]);return c.a.createElement(R.b,Object.assign({},a,{render:function(e){return t?c.a.createElement(a.component,e):c.a.createElement(R.a,{to:"/login"})}}))};return c.a.createElement("div",{className:"App"},s?c.a.createElement(P,null):c.a.createElement(R.d,null,c.a.createElement(R.b,{path:"/login",exact:!0,component:Oc}),c.a.createElement(R.b,{path:"/reset",exact:!0,component:jc}),c.a.createElement(R.b,{path:"/list/directory/",exact:!0,component:Me}),c.a.createElement(R.b,{path:"/list/directory/preview/",exact:!0,component:Ie}),c.a.createElement(u,{path:"/list/server/service/",authenticated:a.userName,component:Nc}),c.a.createElement(u,{path:"/list/web-log/",exact:!0,authenticated:a.userName,component:hc}),c.a.createElement(u,{path:"/",authenticated:a.userName,loading:s,component:Ec})))};Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));l.a.render(c.a.createElement(o.a,{store:Object(i.createStore)(_,Object(s.composeWithDevTools)(Object(i.applyMiddleware)(S.a)))},c.a.createElement(pe.a,null,c.a.createElement(yc,null))),document.getElementById("root")),"serviceWorker"in navigator&&navigator.serviceWorker.ready.then((function(e){e.unregister()}))}]),[[96,1,2]]]); +//# sourceMappingURL=main.a9be926e.chunk.js.map \ No newline at end of file diff --git a/web/static/js/main.a9be926e.chunk.js.map b/web/static/js/main.a9be926e.chunk.js.map new file mode 100644 index 000000000..b147b8625 --- /dev/null +++ b/web/static/js/main.a9be926e.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["reducers/MainNavigation/mainNavigationReducer.js","actions/MainNavigation/mainNavigationTypes.js","reducers/ControlPanelContent/controlPanelContentReducer.js","actions/ControlPanelContent/controlPanelContentTypes.js","reducers/Notification/notificationReducer.js","actions/Notification/notificationTypes.js","reducers/MenuCounters/menuCounterReducer.js","actions/MenuCounters/menuCounterTypes.js","reducers/UserSession/userSessionReducer.js","actions/UserSession/userSessionTypes.js","reducers/Session/sessionReducer.js","actions/Session/sessionTypes.js","reducers/Panel/panel.js","actions/Panel/panelTypes.js","reducers/rootReducer.js","components/Spinner/Spinner.jsx","components/Path/Dropdown/Dropdown.jsx","components/Path/Path.jsx","components/Lists/Row/Row.jsx","components/Lists/DirectoryList/DirectoryList.jsx","components/ProgressBar/ProgressBar.jsx","components/Hotkeys/Hotkeys.jsx","components/Modal/AddFile.jsx","components/Modal/AddDirectory.jsx","components/Modal/Rename.jsx","components/Modal/Delete.jsx","components/Modal/NothingSelected.jsx","components/Modal/Permissions.jsx","components/Modal/Move.jsx","components/Modal/Archive.jsx","components/Modal/Extract.jsx","components/Modal/Copy.jsx","components/Modal/Replace.jsx","components/Modal/Modal.jsx","components/Menu/Menu.jsx","FileManagerHelper.js","containers/FileManager/FileManager.js","components/Preview/Editor/Editor.jsx","components/Preview/Photo/Photo.jsx","components/Preview/Video/Video.jsx","components/Preview/Preview.jsx","actions/MainNavigation/mainNavigationActions.js","utils/token.js","ControlPanelService/Ip.js","components/ControlPanel/AddItemLayout/Form/SelectInput/SelectInput.jsx","components/ControlPanel/AddItemLayout/Form/TextInput/TextInput.jsx","components/ControlPanel/AddItemLayout/Form/Checkbox/Checkbox.jsx","components/ControlPanel/Container/Container.jsx","components/ControlPanel/AddItemLayout/AddItemLayout.jsx","components/MainNav/Toolbar/Toolbar.jsx","services/session.js","actions/MenuCounters/menuCounterActions.js","components/InternetProtocol/Edit/EditInternetProtocol.jsx","components/InternetProtocol/Add/AddInternetProtocol.jsx","components/ControlPanel/AddItemLayout/Form/TextArea/TextArea.jsx","ControlPanelService/Server.js","components/Server/Edit/Nginx/EditServerNginx.jsx","components/Server/Edit/Postgresql/Postgresql.jsx","ControlPanelService/Backup.js","components/Backup/Exclusion/Edit/index.jsx","actions/ControlPanelContent/controlPanelContentActions.js","components/MainNav/Toolbar/DropdownFilter/DropdownFilter.jsx","components/MainNav/Toolbar/SearchInput/SearchInput.jsx","ControlPanelService/Favorites.js","components/ControlPanel/ListItem/ListItem.jsx","components/InternetProtocol/InternetProtocol.jsx","components/MainNav/Toolbar/LeftButton/LeftButton.jsx","components/MainNav/Toolbar/Checkbox/Checkbox.jsx","components/MainNav/Toolbar/Select/Select.jsx","ControlPanelService/Select.js","components/ControlPanel/Modal/Modal.jsx","containers/InternetProtocols/InternetProtocols.jsx","ControlPanelService/Web.js","components/ControlPanel/AddItemLayout/Form/Password/Password.jsx","components/WebDomain/Add/AdditionalFtpForEditing/AdditionalFtpForEditing.jsx","components/WebDomain/Add/AdditionalFtpWrapper/AdditionalFtpWrapper.jsx","components/WebDomain/Add/SslSupport/SslSupport.jsx","components/WebDomain/Add/AdvancedOptions/AdvancedOptions.jsx","containers/GenerateCSR/index.jsx","components/WebDomain/Add/AddWebDomain.jsx","components/ControlPanel/AddItemLayout/Form/TextInputWithTextOnTheRight/TextInputWithTextOnTheRight.jsx","ControlPanelService/Db.js","components/Database/Edit/EditDatabase.jsx","ControlPanelService/Firewalls.js","components/Firewall/Edit/EditFirewall.jsx","components/ControlPanel/Hotkeys/Hotkeys.jsx","components/Database/Add/AddDatabase.jsx","components/Firewall/Add/AddFirewall.jsx","ControlPanelService/Cron.js","ControlPanelService/GeneratorOptions.js","components/CronJob/Generator/RunCommandSelect/RunCommandSelect.jsx","components/CronJob/Generator/OtherSelects/SecondTabSelects.jsx","components/CronJob/Generator/OtherSelects/ThirdTabSelects.jsx","components/CronJob/Generator/OtherSelects/FourthTabSelects.jsx","components/CronJob/Generator/OtherSelects/FifthTabSelects.jsx","components/CronJob/Generator/OtherSelects/SelectsWrapper.jsx","components/CronJob/Generator/Generator.jsx","components/CronJob/Edit/EditCronJob.jsx","components/ControlPanel/AddItemLayout/Form/TextInputWithExtraButton/TextInputWithExtraButton.jsx","components/ControlPanel/AddItemLayout/Form/NameServers/NameServers.jsx","ControlPanelService/Package.js","components/Package/Edit/EditPackage.jsx","components/Server/Edit/Httpd/EditHttpd.jsx","components/CronJob/Add/AddCronJob.jsx","components/Package/Add/AddPackage.jsx","components/Server/Edit/EditServerWebOption.jsx","components/Server/Edit/EditServerDnsOption.jsx","components/Server/Edit/EditVestaPlugins.jsx","components/Server/Edit/EditVestaSslOption.jsx","components/Server/Edit/EditDatabaseOption.jsx","components/Server/Edit/EditBackupOption.jsx","components/Server/Edit/EditMailOption.jsx","ControlPanelService/ResetPassword.js","actions/Session/sessionActions.js","components/Server/Edit/EditServer.jsx","components/Server/Edit/Dovecot/Dovecot.jsx","ControlPanelService/Mail.js","components/MailAccount/MailInfoBlock/MailInfoBlock.jsx","components/MailAccount/Edit/EditMailAccount.jsx","components/Mail/Edit/EditMail.jsx","containers/EditMailWrapper/EditMailWrapper.jsx","components/Server/Edit/Service/Service.jsx","components/MailAccount/Add/AddMailAccount.jsx","components/Mail/Add/AddMail.jsx","containers/AddMailWrapper/AddMailWrapper.jsx","ControlPanelService/Dns.js","components/DomainNameSystem/Edit/EditDomainNameSystem.jsx","components/DNSRecord/Edit/EditDNSRecord.jsx","containers/EditDNSWrapper/EditDNSWrapper.jsx","components/WebDomain/Edit/SslSupport/SslSupport.jsx","components/WebDomain/Edit/EditWeb.jsx","components/Server/Edit/PHP/EditPhp.jsx","components/Database/Database.jsx","containers/Databases/Databases.jsx","components/Firewall/Firewall.jsx","containers/Firewalls/Firewalls.jsx","ControlPanelService/Users.js","components/User/Edit/EditUser.jsx","components/Server/Edit/Bind9/Bind9.jsx","components/Server/Edit/Mysql/Mysql.jsx","ControlPanelService/UserNS.js","components/DomainNameSystem/Add/AdvancedOptions/AdvancedOptions.jsx","components/DomainNameSystem/Add/AddDomainNameSystem.jsx","components/DNSRecord/Add/AddDNSRecord.jsx","containers/AddDNSWrapper/AddDNSWrapper.jsx","components/Backup/RestoreSetting/RestoreSetting.jsx","components/Backup/RestoreSettings/BackupRestoreSettings.jsx","components/Backup/Backup.jsx","containers/Backups/Backups.jsx","containers/BackupWrapper/BackupWrapper.jsx","components/Firewall/Add/Banlist/index.jsx","components/CronJob/CronJob.jsx","containers/CronJobs/CronJobs.jsx","components/Package/Package.jsx","containers/Packages/Packages.jsx","ControlPanelService/Languages.js","components/User/Add/AddUser.jsx","ControlPanelService/Updates.js","components/Update/Update.jsx","containers/Updates/Updates.jsx","components/Server/ServerSys.jsx","components/Server/Server.jsx","containers/Servers/Servers.jsx","components/MainNav/Stat-menu/Menu.jsx","components/MainNav/Mobile/MobileTopNav.jsx","ControlPanelService/Notifications.js","components/MainNav/Panel/Notifications/Bell.jsx","components/MainNav/Panel/Notifications/BellUnread.jsx","components/MainNav/Panel/Notifications/Notifications.jsx","actions/Notification/notificationActions.js","components/MainNav/Panel/Panel.jsx","components/MainNav/MainNav.jsx","components/Backup/Exclusion/index.jsx","containers/Backups/Exclusions/index.jsx","components/MailAccount/MailAccount.jsx","containers/MailAccounts/MailAccounts.jsx","components/Mail/Mail.jsx","containers/Mails/Mails.jsx","containers/MailWrapper/MailWrapper.jsx","components/DNSRecord/DNSRecord.jsx","containers/DNSRecords/DNSRecords.jsx","components/DomainNameSystem/DomainNameSystem.jsx","containers/DomainNameSystems/DomainNameSystems.jsx","containers/DNSWrapper/DNSWrapper.jsx","ControlPanelService/Statistics.js","components/Statistic/Statistic.jsx","containers/Statistics/Statistics.jsx","components/User/User.jsx","containers/Users/Users.jsx","ControlPanelService/RRD.js","components/RRD/Timer/Timer.jsx","components/RRD/RRD.jsx","containers/RRDs/RRDs.jsx","components/Firewall/Ban/index.jsx","containers/Firewalls/Banlist/index.jsx","components/WebDomain/WebDomain.jsx","containers/Web/Web.jsx","ControlPanelService/Search.js","components/Searchitem/SearchItem.jsx","containers/Search/Search.jsx","ControlPanelService/Logs.js","components/Log/Log.jsx","containers/Logs/Logs.jsx","containers/ControlPanelContent/ControlPanelContent.jsx","components/TopPanel/TopPanel.jsx","ControlPanelService/WebLogs.js","containers/WebLogs/WebLogs.jsx","components/ControlPanel/LoginLayout/LoginLayout.jsx","components/Login/LoginForm.jsx","containers/ServiceInfo/index.jsx","components/ForgotPassword/index.jsx","containers/App/App.js","containers/App/serviceWorker.js","index.js","store.js"],"names":["INITIAL_STATE","focusedElement","activeElement","adminMenuTabs","userMenuTabs","reducer","state","action","type","value","controlPanelFocusedElement","notifications","notificationReducer","user","menuCounterReducer","session","userSessionReducer","token","error","i18n","userName","sessionReducer","panel","panelReducer","combineReducers","mainNavigation","mainNavigationReducer","controlPanelContent","controlPanelContentReducer","menuCounters","userSession","Spinner","className","role","aria-valuenow","aria-valuemin","aria-valuemax","style","width","Dropdown","props","sorting","useSelector","changeSorting","field","order","isActive","sort","size","date","name","class","data-toggle","aria-haspopup","aria-expanded","onClick","Path","path","openDirectory","history","useHistory","useEffect","push","openDirectoryHandler","index","pathArray","split","undefined","newPath","splice","join","HOME","splitPath","map","item","key","clickablePath","Row","componentDidMount","document","addEventListener","openOnEnter","componentWillUnmount","removeEventListener","e","activeRow","data","isActiveList","modalVisible","cursor","download","keyCode","isArchive","isFile","changePath","openItem","match","pathname","search","selectRow","permissions","selectMultiple","selectOnClick","ctrlKey","selected","length","sizeFormatter","bytes","decimals","dm","i","Math","floor","log","parseFloat","pow","toFixed","dateFormatter","fDate","Date","getDay","getDate","getMonth","timeFormatter","time","year","dayjs","currentYear","glyph","icon","faJs","faHtml5","faPhp","faSass","faCss3","this","owner","id","Component","connect","withRouter","DirectoryList","UNSAFE_componentWillMount","localStorage","getItem","list","setState","sortingType","orderType","handleLiSelection","moveBackOnButton","cacheSorting","setItem","moveBack","isHomeDirectory","rootDir","toggleActiveList","changePathAfterToggle","cacheActiveWindowAndPaths","passData","isSelected","itemsSelected","indexOf","listing","getDataBySortingType","shiftKey","addToSelection","resetData","passDataToParent","firstItem","addToPath","openCertainDirectory","sortByType","a","b","localeCompare","sortBySize","sortByDate","sortByName","sortData","forEach","filter","rows","listingItems","result","duplicate","passSelection","loading","ProgressBar","overflow","progress","Hotkeys","window","toggleShortcutsLit","reference","event","isSearchInputFocused","querySelector","toggleHotkeys","ref","Shortcuts","AddFile","useState","setValue","hasError","setHasError","onChange","target","close","Cancel","save","Create","AddDirectory","Rename","fName","autoFocus","defaultValue","Delete","items","NothingSelected","notAvailable","defaultPermissions","read","write","execute","group","others","Permissions","decodeSingleNumber","string","number","parseInt","inArray","onChangeForm","checkbox","permissionName","checked","inputRef","encode","changePermissions","handleInputChange","isValid","inputInvalid","decode","array","numbers","find","reduce","acc","permissionObject","roleObject","Object","values","n","inputClasses","classNames","maxLength","disabled","Move","Archive","Compress","onBlur","Extract","Copy","Replace","files","replace","Modal","closeOutside","hotkeys","closeModal","saveAndClose","onClose","onChangePermissions","onChangeValue","modal","getElementById","file","content","Menu","inputFile","useRef","handleUserKeyDown","useCallback","hotKeys","newFile","openModal","newDirectory","deleteFile","selection","rename","console","move","archive","extract","copy","itemType","stopPropagation","preventDefault","current","click","matchArchive","to","src","alt","aria-label","multiple","upload","UPLOAD","title","DOWNLOAD","RENAME","RIGHTS","COPY","MOVE","ARCHIVE","EXTRACT","DELETE","server","location","origin","validateAction","url","axios","get","changeDirectory","encodePath","getData","deleteItems","promisesArray","then","Promise","all","moveItems","targetPath","copyItems","FileManager","currentUser","parsedQueryString","QueryString","parse","ignoreQueryPrefix","substring","FM","currentPath","leftList","rightList","changeDirectoryOnLoading","switchActiveList","toggleActiveListOnTab","hotkeysListener","activeWindow","cachePaths","setStateAsync","updater","resolve","side","leftListResponse","rightListResponse","leftListing","rightListing","changeQuery","response","showError","message","toast","position","autoClose","hideProgressBar","closeOnClick","pauseOnHover","draggable","itemName","open","checkExistingFileName","selectedFiles","leftListData","rightListData","selectedFileNames","existingFileNames","newFiles","includes","replaceFiles","formData","FormData","append","post","onUploadProgress","progressEvent","uploadPercent","round","loaded","total","onDelete","inputElement","newDir","onRename","modalInputValue","itemPermissions","archiveItem","extractItem","moveItem","targetDir","copyItem","lastIndexOf","activeList","oldPath","changeInputValue","hotkeysPanel","available","modalWindow","inp","Helmet","onDeleteFileHandler","el","hotkeysList","classList","toggle","Editor","code","hotKey","checkFileType","res","showToast","catch","err","text","success","options","mode","pop","getModeFromFileName","lineNumbers","Save","Close","newCode","Photo","activeSlide","photoGallery","imgClass","formatPath","carouselIndicators","imageClasses","data-target","data-slide-to","carouselPhotos","setPhotoGallery","setActiveImage","activeImage","activeImageIndex","data-ride","href","data-slide","aria-hidden","Video","autoPlay","loop","controls","Preview","lastOpenedDirectory","addFocusedElement","addActiveElement","setAuthToken","getAuthToken","BASE_URL","SelectInput","optionalTitle","htmlFor","option","TextInput","inputValue","setInputValue","readOnly","Checkbox","defaultChecked","checkedState","setCheckedState","Container","children","AddItemLayout","status","newDate","day","month","getFullYear","renderDate","Toolbar","toolbarHeight","setToolbarHeight","handleToolbar","changeToolbarHeight","documentElement","clientWidth","scrollTop","scrollY","newToolbarHeight","max","mobile","marginTop","checkAuth","uri","refreshCounters","dispatch","getState","reject","EditInternetProtocol","useDispatch","errorMessage","setErrorMessage","okMessage","setOkMessage","dedicated","ip","QS","fetchData","params","getInternetProtocolInfo","submitFormHandler","updatedIP","entries","keys","constructor","formDataObject","updateInternetProtocol","error_msg","ok_msg","IP","HtmlParser","onSubmit","netmask","interface","users","nat","Back","AddInternetProtocol","interfaces","newIp","addInternetProtocol","Add","TextArea","rest","handleAction","updateService","getServiceInfo","service","services","EditServerNginx","restart","setRestart","basicOptions","advancedOptions","toggleOptions","onUpdateConfig","regexp","RegExp","updatedConfig","config","SERVER","service_name","updatedService","worker_processes","worker_connections","client_max_body_size","send_timeout","proxy_connect_timeout","proxy_send_timeout","proxy_read_timeout","gzip","gzip_comp_level","charset","config_path","Postgresql","options_path","EditBackupExclusions","updatedExclusions","updateBackupExclusions","BACKUP","web","mail","db","userdir","addControlPanelContentFocusedElement","DropdownFilter","usersList","Username","Disk","Bandwidth","Starred","webList","Domain","dnsList","Expire","Records","mailList","Accounts","mailAccountList","dbList","Database","User","Host","cronList","Command","packagesList","internetProtocolsList","Netmask","Interface","Owner","firewallList","Action","Protocol","Port","Comment","searchList","Name","filterClassName","renderFilters","SearchInput","searchTerm","setSearchTerm","handleClick","handleSearchTerm","focusInput","focus","addFavorite","unitId","section","deleteFavorite","ListItem","starred","hasOwnProperty","Boolean","toggleItem","checkItem","outdated","suspended","stopped","focused","sysInfo","printDate","leftNameText","toggleFav","InternetProtocol","NAME","FOCUSED","isChecked","DATE","STARRED","NAT","NETMASK","INTERFACE","Domains","U_WEB_DOMAINS","Status","STATUS","OWNER","Users","U_SYS_USERS","edit","handleModal","delete_conf","LeftButton","showLeftMenu","renderIcon","toggleAll","toggled","Select","cronReports","listValues","select","rebuild","suspend","unsuspend","delete","backupList","updatesList","update","serverList","stop","start","backupDetailList","restore","banList","statisticsList","renderOptions","bulkAction","show","onSave","onCancel","showSaveButton","showCancelButton","tabindex","aria-labelledby","display","Confirmation","data-dismiss","OK","InternetProtocols","setLoading","visible","actionUrl","setModal","internetProtocols","ipFav","toggledAll","totalAmount","handleContentSelection","handleFocusedElementShortcuts","handleArrowUp","handleArrowDown","initFocusedElement","focusedElementPosition","findIndex","pack","nextFocusedElement","scrollIntoView","behavior","block","handleDelete","handleEdit","currentInternetProtocolData","displayModal","reformatData","internetProtocolsDuplicate","checkedItem","incomingItem","sortArray","sortingColumn","sortBy","ipFavDuplicate","ipNames","internetProtocol","refreshMenuCounters","modalCancelHandler","term","changeSearchTerm","generateCSRUri","getCsrInitialData","domain","Password","showGenerationButton","hidePassword","generatedPassword","passwordInputHandler","chars","randomNumber","random","substr","generatePassword","Generate","AdditionalFtpForEditing","onDeleteAdditionalFtp","prefixI18N","prePath","username","v_ftp_user","v_ftp_path","deleted","is_new","v_ftp_password","FTP","v_ftp_email","renderForm","AdditionalFtpWrapper","ftps","unCheckAdditionalFtpBox","ftpUserPrePath","additionalFtp","onDeleteFtp","updatedAdditionalFtps","ftp","additionalFtpArrayLength","additionalFtpsDuplicate","addAdditionalFtp","SslSupport","letsEncrypt","setLetsEncrypt","setModalVisible","sslKey","AdvancedOptions","sslSupport","statisticsAuthCheckbox","statisticsAuth","updatedDomain","aliases","transform","sslCertificate","bool","renderSslSupport","webStats","stat","GenerateSSL","generatedData","newCsr","generateCSR","crt","csr","prePopulateInputs","email","country","locality","org","AddWebDomain","dnsSupport","mailSupport","proxySupport","showAdvancedOptions","ssl_crt","ssl_key","proxy_ext","getInternetProtocolNames","ips","stats","prefix","ftp_pre_path","checkboxHandler","input","newWebDomain","addWeb","WEB","required","Aliases","PROXY_SYSTEM","renderAdvancedOptions","TextInputWithTextOnTheRight","dbCharsets","EditDatabase","databaseUserInputValue","database","getDatabaseInfo","dbuser","updatedDatabase","updateDatabase","DB","password","host","addBanIpsUri","EditFirewall","rule","getFirewallInfo","updateFirewall","FIREWALL","protocol","port","comment","AddDatabase","memo","dbTypes","dbHosts","maxCharLength","databaseInputValue","newDatabase","addDatabase","Type","dbType","dbHost","Charset","dbCharset","AddFirewall","actions","protocols","newFirewall","addFirewall","generatorOptions","minutesRunCommandsOptions","every","hoursRunCommandsOptions","daysRunCommandsOptions","hoursOptions","hourlyMinutesOptions","dailyMinutesOptions","weeklyRunCommandOptions","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday","monthlyRunCommandOptions","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","dateOptions","RunCommandSelect","activeTab","selectName","SecondTabSelects","Minute","ThirdTabSelects","Hour","FourthTabSelects","FifthTabSelects","OtherSelects","renderSelects","Generator","formElement","activeClassName","tab","formatLink","job","Minutes","Hourly","Daily","Weekly","Monthly","generatedCronJob","iterableFormElement","EditMail","h_min","h_hour","h_day","h_wday","h_month","getCronJobInfo","min","hour","wday","updatedJob","updateCronJob","changeInput","updatedGeneratedCronJob","CRON","cmd","TextInputWithExtraButton","previousValue","NameServers","nameServersAmount","usersNS","initNameServersAmount","userNS","onDeleteNameServer","nameServersDuplicate","nameServer","nameServersLength","addNameServer","getPackageList","EditPackage","queryParams","package","pkg","toggleUnlimited","inputName","inputNameToUpdate","PACKAGE","updatedPackage","updatePackage","web_system","web_templates","web_template","web_backend","backend_templates","backend_template","proxy_system","proxy_templates","proxy_template","dns_system","dns_templates","dns_template","shells","shell","web_domains","web_aliases","dns_domains","dns_records","mail_domains","mail_accounts","databases","cron_jobs","backups","disk_quota","bandwidth","nameservers","EditHttpd","AddCronJob","newCronJob","addCronJob","Day","Month","AddPackage","webTemplates","webSystem","backendTemplates","backendSystem","proxySystem","proxyTemplates","dnsTemplates","dnsSystem","sshTemplates","webDomains","webAliases","dnsDomains","dnsRecords","mailDomains","mailAccounts","cronJobs","quota","ssh_access","newPackage","addPackage","EditServerWebOption","webBackend","webBackendPool","EditServerDnsOption","dnsCluster","cluster","EditVestaPluginsOption","lead","sftpValue","setSftpValue","fm_lead","fmValue","setFmValue","softaculousValue","setSoftaculousValue","version","firewall_system","sftp_license_key","licence_key","http_host","renderSftp","fm_license_key","fm_licence_key_option","rel","renderFm","softaculous_lead","fontWeight","renderSoftaculous","EditVestaSslOption","domainsVisible","setDomainsVisible","sslDomains","setSslDomains","ssl_domains","vesta_certificate","sys_ssl_crt","sys_ssl_key","sys_ssl_subject","sys_ssl_aliases","sys_ssl_not_before","sys_ssl_not_after","sys_ssl_signature","sys_ssl_pub_key","sys_ssl_issuer","EditDatabaseOption","DB_PMA_URL","DB_PGA_URL","mysql","mysql_hosts","printPhpMyAdminHosts","pgsql","pgsql_hosts","EditBackupOption","remoteBackup","setRemoteBackup","backup","backup_gzip","backup_dir","backup_type","backup_host","backup_username","backup_password","backup_bpath","EditMailOption","MAIL_URL","mailCertificateSystem","setMailCertificateSystem","mail_certificate","mail_system","antivirus_system","antispam_system","resetPassword","confirmPassword","login","signIn","loginAs","loginas","signInAs","logout","logout_response","removeItem","EditServer","webOption","dnsOption","mailOption","backupOption","sslOption","pluginsOption","dbOption","updatedServer","toLowerCase","toggleOption","hostname","timezones","timezone","languages","language","web_backend_pool","v_dns_cluster","dns_cluster","EditVestaPlugins","Dovecot","config1","config_path1","config2","config_path2","config3","config_path3","config4","config_path4","config5","config_path5","config6","config_path6","config7","config_path7","config8","config_path8","getMailList","MailInfoBlock","webMail","hostName","selectedOption","setSelectedOption","imapHostName","smtpHostName","imapEncryption","smtpEncryption","imapPort","smtpPort","mailInfoBlockSelectOptions","getCredentials","EditMailAccount","autoreplyChecked","setAutoreplyChecked","quotaValue","newMailDomain","account","editMailAccount","autoreply","MAIL","fwd","fwd_only","autoreply_message","send_email","webmail","getMailInfo","updateMail","antispam","antivirus","dkim","catchall","EditMailWrapper","isMailAccount","setIsMailAccount","Service","serviceName","AddMailAccount","addMailAccount","v_aliases","forward","AddMail","antiSpamChecked","antiVirusChecked","dkimChecked","addMail","AddMailWrapper","setDomain","updateDNS","recordId","record_id","EditDomainNameSystem","getDNSInfo","DNS","templates","template","exp","soa","ttl","EditDNSRecord","selectOptions","getDNSRecordInfo","updatedRecord","rec","val","priority","EditDNSWrapper","isDnsRecord","setIsDnsRecord","sslCertificateAuthority","sslSubject","sslAliases","sslNotBefore","sslNotAfter","sslSignature","sslPubKey","sslIssuer","EditWeb","webStat","statAuth","getDomainInfo","v_stats","ssl","letsencrypt","proxy","ftp_user","stats_user","updateWebDomain","onChangeAdditionalFtp","object","formatData","WEB_BACKEND","ssl_subject","ssl_aliases","ssl_not_before","ssl_not_after","ssl_signature","ssl_pub_key","ssl_issuer","ssl_ca","sslHome","ssl_home","ftp_users","ftp_user_prepath","EditPhp","max_execution_time","max_input_time","memory_limit","error_reporting","display_errors","post_max_size","upload_max_filesize","SUSPENDED","DATABASE","U_DISK","mb","U_DISK_PERCENT","DBUSER","CHARSET","HOST","TYPE","suspendedStatus","suspend_conf","handleSuspend","suspend_action","Databases","dbFav","dbAdmin","dbAdminLink","db_myadmin_link","db_pgadmin_link","currentDatabaseData","db_admin","db_admin_link","dbDuplicate","dbFavDuplicate","databasesDuplicate","dbNames","domainNameSystems","domainNameSystem","Firewall","ACTION","PROTOCOL","COMMENT","PORT","Firewalls","firewalls","firewallFav","firewallExtension","firewall","currentFirewallData","firewallsDuplicate","firewallFavDuplicate","firewallNames","bulkFirewallAction","EditUser","updatedUser","updateUser","USER","convertObjectOfObjectsToArrayOfObjects","packages","fname","lname","Bind9","Mysql","max_connections","max_user_connections","wait_timeout","interactive_timeout","max_allowed_packet","add","format","AddDomainNameSystem","addDomainNameSystem","AddDNSRecord","newDnsRecord","addDomainNameSystemRecord","AddDNSWrapper","RestoreSetting","checkItemFunc","restoreSetting","textTransform","displayBackupDetailName","restoreLinkParams","BackupRestoreSettings","backupDetailsData","setBackupDetailsData","backupDetails","handleRestore","restoreBackupSetting","reformattedData","cat","backupDetailsDuplicate","backupDetail","backupDetailNames","udir","bulkRestore","listBackups","Backup","SIZE","RUNTIME","UPDATED","faFileDownload","Backups","backupFav","configureRestoreSettings","currentBackupData","backup_fav","backupDuplicate","backupFavDuplicate","backupsDuplicate","backupNames","ok","BackupWrapper","isBackupSettings","setIsBackupSettings","AddBanIP","userLanguage","banIps","getBanIps","chain","newUser","addBanIp","Banlist","CronJob","CMD","Min","MIN","HOUR","DAY","MONTH","WDAY","CronJobs","cronFav","cronJob","currentCronJobData","cron_reports","cron_fav","cronDuplicate","cronFavDuplicate","cronJobsDuplicate","cronJobNames","handleCronNotifications","Package","FNAME","LNAME","WEB_TEMPLATE","PROXY_TEMPLATE","DNS_TEMPLATE","SHELL","WEB_DOMAINS","WEB_ALIASES","DNS_DOMAINS","DNS_RECORDS","MAIL_DOMAINS","MAIL_ACCOUNTS","DATABASES","CRON_JOBS","BACKUPS","BANDWIDTH","DISK_QUOTA","NS","Packages","packagesFav","currentPackageData","packagesDuplicate","packagesFavDuplicate","packageNames","AddUser","vEmail","vNotify","getAllPackages","getAllLanguages","getPackageNames","addUser","Email","Language","LANGUAGE","Update","isUpdated","DESCR","Version","VERSION","ARCH","Release","RELEASE","Updates","updates","autoUpdate","updatesDuplicate","updateNames","UPDATES","Server","HOSTNAME","OS","LOADAVERAGE","Uptime","UPTIME","configure","height","viewBox","fill","xmlns","fill-rule","d","STATE","SYSTEM","CPU","Memory","MEM","RTIME","action_url","Servers","servers","handleConfigure","handleRestart","handleStop","onHandleAction","sys","serversDuplicate","serverNames","menuHeight","handleState","statClassName","activeName","onKeyPress","look","U_USERS","spnd","SUSPENDED_USERS","domains","U_WEB_ALIASES","SUSPENDED_WEB","U_DNS_DOMAINS","records","U_DNS_RECORDS","SUSPENDED_DNS","U_MAIL_DOMAINS","accounts","U_MAIL_ACCOUNTS","SUSPENDED_MAIL","U_DATABASES","SUSPENDED_DB","jobs","U_CRON_JOBS","SUSPENDED_CRON","U_BACKUPS","MobileTopNav","extraClass","Graphs","Statistics","Log","FIREWALL_SYSTEM","FILEMANAGER_KEY","SOFTACULOUS","Apps","Bell","data-name","BellUnread","Notifications","ajax","notification","removeNotification","deleteNotification","TOPIC","ID","NOTICE","marginBottom","Panel","smallNavigationClass","toggleNavigation","showTopNav","signOut","renderNotifications","renderSmallNavigation","MainNav","tabs","controlFocusedTabWithCallback","currentActiveTabPositionInArray","newFocusedMenuTab","handleLeftArrowKey","handleRightArrowKey","handleTopNav","hideMenu","indexInArray","visibleNav","innerWidth","Exclusion","Array","isArray","ITEMS","renderExclusionItems","BackupExclusions","exclusions","exclusion","MailAccount","QUOTA","FWD","AUTOREPLY","MailAccounts","mailAccountsFav","mailAccount","currentMailData","mailAccountsDuplicate","mailAccountsFavDuplicate","mailAccountNames","bulkMailAccountAction","Mail","printStat","ANTIVIRUS","DKIM","ANTISPAM","CATCHALL","list_accounts_button","Mails","mails","mailFav","handleLogs","handleAddRecord","mailsDuplicate","mailFavDuplicate","mailNames","MailWrapper","mailDomain","setMailDomain","DnsRecord","dnsRecord","RECORD","PRIORITY","VALUE","DnsRecords","dnsRecordFav","dnsRecordsFav","dnsDuplicate","dns","dnsRecFavDuplicate","dnsRecordsDuplicate","dnsRecordNames","record","DomainNameSystem","RECORDS","SOA","TTL","Serial","SERIAL","Template","TPL","EXP","RECORDS_I18N","DomainNameSystems","dnsFav","currentDomainNameSystemData","Number","domainNameSystemsDuplicate","first","second","dnsFavDuplicate","domainNameSystemsNames","bulkDomainAction","DNSWrapper","isDnsRecords","setIsDnsRecords","Statistic","printName","U_BANDWIDTH","U_BANDWIDTH_PERCENT","Web","U_DISK_WEB","U_DISK_MAIL","U_DISK_DIRS","U_WEB_SSL","IP_OWNED","statistics","statistic","getStatisticsList","STATS","logOut","logInAs","U_BANDWIDTH_MEASURE","U_DISK_MEASURE","U_DISK_WEB_MEASURE","U_DISK_MAIL_MEASURE","U_DATABASES_MEASURE","U_DISK_DIRS_MEASURE","CONTACT","spnd_conf","spnd_action","userFav","addNewObject","handleLogin","currentUserData","logOutHandler","logInAsHandler","userDuplicate","userFavDuplicate","usersDuplicate","userNames","selectedUsers","generateImagePath","period","rrd","Timer","setIsActive","interval","setInterval","countDown","clearInterval","RRD","RRDs","setData","periodI18N","rrds","periodClass","changePeriod","Yearly","dataDuplicate","Ban","TIME","CHAIN","delete_confirmation","BanLists","banIp","currentBanIpData","delete_url","total_amount","banIpsDuplicate","banIpNames","WebDomain","ALIAS","U_BANDWIDTH_SIZE","U_DISK_SIZE","SSL","LETSENCRYPT","WEB_STATS","PROXY_SUPPORT","PROXY","BACKEND_SUPPORT","renderBackedSupport","BACKEND","spnd_confirmation","webFav","webDomain","currentWebDomainData","webDomainsDuplicate","webFavDuplicate","webDomainNames","SearchItem","RESULT","printLoginActionButton","edit_link","spnd_link","delete_link","Search","searchResults","sortByHandler","Logs","logs","LOG","ControlPanelContent","setHotkeysList","switchPanelTab","from","exact","component","scrollTo","top","TopPanel","menuItems","extraMenuItems","cls","route","renderMenuItems","link","renderExtraMenuItems","WebLogs","goBack","getWebLogs","LoginLayout","LoginForm","formValues","setFormValues","changeInputHandler","LOGIN","tabIndex","ServiceInfo","srv","service_log","ReactHtmlParser","ForgotPassword","useLocation","completeStep1","completeStep2","password_confirm","reset","Submit","Confirm","Reset","library","Icon","App","AuthenticatedRoute","authenticated","render","ReactDOM","store","createStore","rootReducer","composeWithDevTools","applyMiddleware","thunk","navigator","serviceWorker","ready","registration","unregister"],"mappings":"06EAEMA,EAAgB,CACpBC,eAAgB,GAChBC,cAAe,GACfC,cAAe,CACb,cACA,aACA,aACA,cACA,YACA,cACA,gBACA,iBACA,YACA,aACA,eACA,aACA,iBACA,kBACA,mBACA,gBACA,iBAEFC,aAAc,CACZ,cACA,aACA,aACA,cACA,YACA,cACA,gBACA,eACA,aACA,mBACA,kBA8BWC,EA1BC,WAAoC,IAAnCC,EAAkC,uDAA1BN,EAAeO,EAAW,uCACjD,OAAQA,EAAOC,MACb,ICzC+B,sBD8C/B,IC7CkC,yBD8ChC,OAAO,2BACFF,GADL,IACYL,eAAgBM,EAAOE,QAGrC,ICjD8B,qBDsD9B,ICrDiC,wBDsD/B,OAAO,2BACFH,GADL,IACYJ,cAAeK,EAAOE,QAGpC,QAAS,OAAOH,IE3DdN,EAAgB,CACpBU,2BAA4B,IAmBfL,EAhBC,WAAoC,IAAnCC,EAAkC,uDAA1BN,EAAeO,EAAW,uCACjD,OAAQA,EAAOC,MACb,ICRsC,6BDSpC,OAAO,2BACFF,GADL,IACYI,2BAA4BH,EAAOE,QAGjD,ICZyC,gCDavC,OAAO,2BACFH,GADL,IACYI,2BAA4B,KAG1C,QAAS,OAAOJ,IEhBdN,EAAgB,CACpBW,cAAe,IAqBFC,EAlBa,WAAoC,IAAnCN,EAAkC,uDAA1BN,EAAeO,EAAW,uCAC7D,OAAQA,EAAOC,MACb,ICR6B,oBDc7B,ICbgC,uBDc9B,OAAO,2BACFF,GADL,IAEEK,cAAeJ,EAAOE,QAG1B,QAAS,OAAOH,IElBdN,EAAgB,CACpBa,KAAM,IAeOC,EAZY,WAAoC,IAAnCR,EAAkC,uDAA1BN,EAAeO,EAAW,uCAC5D,OAAQA,EAAOC,MACb,ICR4B,mBDS1B,OAAO,2BACFF,GADL,IAEEO,KAAMN,EAAOE,MAAMI,OAGvB,QAAS,OAAOP,IEZdN,EAAgB,CACpBe,QAAS,IAeIC,EAZY,WAAoC,IAAnCV,EAAkC,uDAA1BN,EAAeO,EAAW,uCAC5D,OAAQA,EAAOC,MACb,ICR4B,mBDS1B,OAAO,2BACFF,GADL,IAEES,QAASR,EAAOE,QAGpB,QAAS,OAAOH,IEZdN,EAAgB,CACpBiB,MAAO,GACPC,MAAO,GACPC,KAAM,GACNC,SAAU,IA4CGC,EAzCQ,WAAoC,IAAnCf,EAAkC,uDAA1BN,EAAeO,EAAW,uCACxD,OAAQA,EAAOC,MACb,ICXiB,QDoBjB,ICnBkB,SD4BlB,ICzByB,gBDkCzB,ICnCsB,aDmCL,OAAO,2BACnBF,GADY,IAEfW,MAAOV,EAAOE,MAAMQ,MACpBG,SAAUb,EAAOE,MAAMW,SACvBD,KAAMZ,EAAOE,MAAMU,MAAQ,GAC3BD,MAAOX,EAAOE,MAAMS,QAGtB,QAAS,OAAOZ,IE5CdN,EAAgB,CACpBsB,MAAO,IAeMC,EAZM,WAAoC,IAAnCjB,EAAkC,uDAA1BN,EAAeO,EAAW,uCACtD,OAAQA,EAAOC,MACb,ICRyB,gBDSvB,OAAO,2BACFF,GADL,IAEEgB,MAAOf,EAAOE,MAAMa,QAGxB,QAAS,OAAOhB,IELLkB,4BAAgB,CAC7BC,eAAgBC,EAChBC,oBAAqBC,EACrBjB,cAAeC,EACfiB,aAAcf,EACdgB,YAAad,EACbD,QAASM,EACTC,MAAOC,I,0GCHMQ,G,OAVC,WACd,OACE,yBAAKC,UAAU,mBACb,yBAAKA,UAAU,YACb,yBAAKA,UAAU,0DAA0DC,KAAK,cAAcC,gBAAc,MAAMC,gBAAc,IAAIC,gBAAc,MAAMC,MAAO,CAAEC,MAAO,c,QCiE/JC,G,OApEE,SAACC,GAAW,IAuBXC,EAtBRtB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KAEFwB,EAAgB,SAACC,EAAOC,EAAOL,GAC9BA,EAAMM,UAGTN,EAAMG,cAAcC,EAAOC,IAIzBE,EAAO,SAACN,GACZ,MAAgB,SAAZA,EACKtB,EAAKX,KACS,SAAZiC,EACFtB,EAAK6B,KACS,SAAZP,EACFtB,EAAK8B,KACS,SAAZR,EACFtB,EAAK+B,UADP,GAuBT,OACE,yBAAKC,MAAM,cAnBGV,EAoBJD,EAAMC,QAnBF,eAmBWD,EAAMK,MAjB3B,4BAAQrC,KAAK,SAASwB,UAAU,oBAAoBoB,cAAY,WAAWC,gBAAc,OAAOC,gBAAc,SAC3GP,EAAKN,GACN,0BAAMT,UAAU,cAAhB,WAKF,4BAAQxB,KAAK,SAASwB,UAAU,oBAAoBoB,cAAY,WAAWC,gBAAc,OAAOC,gBAAc,SAC3GP,EAAKN,GACN,0CASJ,yBAAKU,MAAM,iBACT,wBAAInB,UAAU,iBACZ,4BACE,0BAAMA,UAA6B,SAAlBQ,EAAMC,SAAsC,eAAhBD,EAAMK,MAAyB,uBAAyB,gBAAiBU,QAAS,kBAAMZ,EAAc,OAAQ,aAAcH,KAASrB,EAAKX,KAAK,0BAAMwB,UAAU,cAAhB,WAC5L,0BAAMA,UAA6B,SAAlBQ,EAAMC,SAAsC,cAAhBD,EAAMK,MAAwB,uBAAyB,gBAAiBU,QAAS,kBAAMZ,EAAc,OAAQ,YAAaH,KAAQ,0CAEjL,4BACE,0BAAMR,UAA6B,SAAlBQ,EAAMC,SAAsC,eAAhBD,EAAMK,MAAyB,uBAAyB,gBAAiBU,QAAS,kBAAMZ,EAAc,OAAQ,aAAcH,KAASrB,EAAK6B,KAAK,0BAAMhB,UAAU,cAAhB,WAC5L,0BAAMA,UAA6B,SAAlBQ,EAAMC,SAAsC,cAAhBD,EAAMK,MAAwB,uBAAyB,gBAAiBU,QAAS,kBAAMZ,EAAc,OAAQ,YAAaH,KAAQ,0CAEjL,4BACE,0BAAMR,UAA6B,SAAlBQ,EAAMC,SAAsC,eAAhBD,EAAMK,MAAyB,uBAAyB,gBAAiBU,QAAS,kBAAMZ,EAAc,OAAQ,aAAcH,KAASrB,EAAK8B,KAAK,0BAAMjB,UAAU,cAAhB,WAC5L,0BAAMA,UAA6B,SAAlBQ,EAAMC,SAAsC,cAAhBD,EAAMK,MAAwB,uBAAyB,gBAAiBU,QAAS,kBAAMZ,EAAc,OAAQ,YAAaH,KAAQ,0CAEjL,4BACE,0BAAMR,UAA6B,SAAlBQ,EAAMC,SAAsC,eAAhBD,EAAMK,MAAyB,uBAAyB,gBAAiBU,QAAS,kBAAMZ,EAAc,OAAQ,aAAcH,KAASrB,EAAK+B,KAAK,0BAAMlB,UAAU,cAAhB,WAC5L,0BAAMA,UAA6B,SAAlBQ,EAAMC,SAAsC,cAAhBD,EAAMK,MAAwB,uBAAyB,gBAAiBU,QAAS,kBAAMZ,EAAc,OAAQ,YAAaH,KAAQ,+CCX5KgB,G,OA9CF,SAAC,GAAiF,IAA/EC,EAA8E,EAA9EA,KAAMX,EAAwE,EAAxEA,SAAUd,EAA8D,EAA9DA,UAAW0B,EAAmD,EAAnDA,cAAef,EAAoC,EAApCA,cAAeF,EAAqB,EAArBA,QAASI,EAAY,EAAZA,MACxEhC,EAAS6B,aAAY,SAAApC,GAAK,OAAIA,EAAMuB,gBAApChB,KACF8C,EAAUC,cAEhBC,qBAAU,WACR,IAAKhD,EAAM,OAAO8C,EAAQG,KAAK,YAC9B,CAACjD,IAEJ,IAWMkD,EAAuB,SAAAC,GAC3B,IAAIC,EAAYR,EAAKS,MAAM,KAE3B,GAAKpB,QAGWqB,IAAVH,EAAqB,CACvB,IACII,EADeH,EAAUI,OAAO,EAAGL,EAAQ,GACpBM,KAAK,KAChCZ,EAAcU,KAKpB,OACE,yBAAKpC,UAAWA,GACd,yBAAKA,UAAU,qBACb,0BAAMA,UAAU,kBACd,0BAAMA,UAAU,YAAYuB,QAAS,kBAAMG,EAAc7C,EAAK0D,QAAQ1D,EAAK0D,MA7B7D,WACpB,IAAIC,EAAYf,EAAKS,MAAM,KAG3B,GAFAM,EAAUH,OAAO,EAAG,GAEhBZ,IAAS5C,EAAK0D,KAChB,OACEC,EAAUC,KAAI,SAACC,EAAMV,GAAP,OAAiB,0BAAMhC,UAAU,YAAY2C,IAAKX,EAAOT,QAAS,kBAAMQ,EAAqBC,KAA5E,YAAkGU,MAwB9HE,KAGL,kBAAC,EAAD,CAAUjC,cAAeA,EAAeF,QAASA,EAASI,MAAOA,EAAOC,SAAUA,O,yCCvClF+B,E,4MAgBJC,kBAAoB,WAClBC,SAASC,iBAAiB,UAAW,EAAKC,c,EAG5CC,qBAAuB,WACrBH,SAASI,oBAAoB,UAAW,EAAKF,c,EAG/CA,YAAc,SAACG,GAAO,IAAD,EAC4F,EAAK5C,MAA5G6C,EADW,EACXA,UADW,IACAC,KAAQpC,EADR,EACQA,KAAM1C,EADd,EACcA,KAAQ+E,EADtB,EACsBA,aAAcC,EADpC,EACoCA,aAAc9B,EADlD,EACkDA,cAAe+B,EADjE,EACiEA,OAAQC,EADzE,EACyEA,SAAUjC,EADnF,EACmFA,MAElG+B,GAAiBH,GAAcE,GAIjB,KAAdH,EAAEO,UACA,EAAKC,UAAU1C,IAAkB,MAAT1C,EAC1BkF,IACS,EAAKG,OAAOrF,IAAoB,IAAXiF,EAC9B,EAAKK,WAAWrC,EAAMP,GAEtBQ,EAAcR,K,EAKpB6C,SAAW,WAAO,IAAD,EAC+D,EAAKvD,MADpE,IACP8C,KAAQ9E,EADD,EACCA,KAAM0C,EADP,EACOA,KAAQQ,EADf,EACeA,cAAegC,EAD9B,EAC8BA,SAAUjC,EADxC,EACwCA,KAEvD,GAHe,EAC8C8B,aAM7D,OAAI,EAAKK,UAAU1C,IAAkB,MAAT1C,GAAgB0C,EAAK8C,MAAM,QAC9CN,IACE,EAAKG,OAAOrF,GACd,EAAKsF,WAAWrC,EAAMP,GACX,MAAT1C,EACFkD,EAAcR,QADhB,G,EAKT4C,WAAa,SAACrC,EAAMP,GAClB,EAAKV,MAAMmB,QAAQG,KAAK,CACtBmC,SAAU,2BACVC,OAAO,SAAD,OAAWzC,EAAX,YAAmBP,M,EAI7BiD,UAAY,SAACf,GAAO,IAAD,EAC+E,EAAK5C,MADpF,IACT8C,KAAQpC,EADC,EACDA,KAAMkD,EADL,EACKA,YAAa5F,EADlB,EACkBA,KAAQ6F,EAD1B,EAC0BA,eAAgBC,EAD1C,EAC0CA,cAAeb,EADzD,EACyDA,OAAQJ,EADjE,EACiEA,UAE9ED,EAAEmB,SAAsB,IAAXd,GACfY,IAGEhB,GAIJiB,EAAcb,EAAQvC,EAAMkD,EAAa5F,I,EAG3CwB,UAAY,WAAO,IAAD,EAC8B,EAAKQ,MAA3C6C,EADQ,EACRA,UAAWmB,EADH,EACGA,SAEnB,GAHgB,EACajB,aAEX,CAChB,IAAIzC,EAAWuC,EAAY,SAAW,GAEtC,OAAOvC,EAAS2D,OAAS3D,EADR0D,EAAW,WAAa,GAGzC,IAAI1D,EAAWuC,EAAY,WAAa,GAExC,OAAOvC,EAAS2D,OAAS3D,EADR0D,EAAW,oBAAsB,I,EAKtDE,cAAgB,SAACC,EAAOC,GACtB,QAAczC,IAAVwC,GAAgD,MAAzB,EAAKnE,MAAM8C,KAAK9E,KACzC,OAAO,KAGT,GAAc,MAAVmG,EACF,OAAO,0BAAM3E,UAAU,SAAhB,KAA0B,0BAAMA,UAAU,QAAhB,MAGnC,IACE6E,EAAKD,GAAY,EAAI,EAAIA,GAAY,EAErCE,EAAIC,KAAKC,MAAMD,KAAKE,IAAIN,GAASI,KAAKE,IAHhC,OAIR,OAAQ,0BAAMjF,UAAU,SAASkF,YAAYP,EAAQI,KAAKI,IAJlD,KAIyDL,IAAIM,QAAQP,IAArE,IAA2E,0BAAM7E,UAAU,QAFzF,CAAC,IAAK,KAAM,KAAM,MAEqF8E,M,EAGnHO,cAAgB,SAACC,GACf,QAAcnD,IAAVmD,EACF,OAAO,KAGT,IAAIrE,EAAO,IAAIsE,KAAKD,GAElBE,EAASvE,EAAKwE,UACdC,EAAW,EAAKlF,MAAMzB,QAAQI,KAFrB,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAE7C8B,EAAKyE,aACjD,OAAQ,0BAAM1F,UAAU,QAAQ0F,EAAxB,IAAmCF,I,EAG7CG,cAAgB,WAA8B,IAA7B1E,EAA4B,uDAArB,IAAIsE,KAAQK,EAAS,uCACrCC,EAAOC,IAAM7E,GAAM4E,OACnBE,EAAcD,MAAQD,OAC5B,OAAIA,IAASE,EAAoBH,EAC1BC,G,EAGTG,MAAQ,WAAO,IAAD,EACqB,EAAKxF,MAA9B8C,KAAQ9E,EADJ,EACIA,KAAM0C,EADV,EACUA,KAEtB,MAAa,MAAT1C,EACK,kBAAC,IAAD,CAAiByH,KAAK,cAAcjG,UAAU,gBAGnD,EAAK6D,OAAOrF,GACV,EAAKoF,UAAU1C,GACV,kBAAC,IAAD,CAAiB+E,KAAK,OAAOjG,UAAU,YACrCkB,EAAK8C,MAAM,qBACb,kBAAC,IAAD,CAAiBiC,KAAK,QAAQjG,UAAU,UACf,OAAvBkB,EAAK8C,MAAM,QACb,kBAAC,IAAD,CAAiBiC,KAAK,WAAWjG,UAAU,aACzCkB,EAAK8C,MAAM,QACb,kBAAC,IAAD,CAAiBiC,KAAK,WAAWjG,UAAU,aACzCkB,EAAK8C,MAAM,OACb,kBAAC,IAAD,CAAiBiC,KAAMC,IAAMlG,UAAU,OACrCkB,EAAK8C,MAAM,SACb,kBAAC,IAAD,CAAiBiC,KAAME,IAASnG,UAAU,UACxCkB,EAAK8C,MAAM,QACb,kBAAC,IAAD,CAAiBiC,KAAMG,IAAOpG,UAAU,QACtCkB,EAAK8C,MAAM,UACb,kBAAC,IAAD,CAAiBiC,KAAMI,IAAQrG,UAAU,SACvCkB,EAAK8C,MAAM,SACb,kBAAC,IAAD,CAAiBiC,KAAMK,IAAQtG,UAAU,SAEzC,kBAAC,IAAD,CAAiBiG,KAAK,OAAOjG,UAAU,SAIrC,MAATxB,EACK,kBAAC,IAAD,CAAiByH,KAAK,WAAWjG,UAAU,kBADpD,G,wDAKQkB,GACR,OAAOA,EAAK8C,MAAM,oD,6BAGbxF,GACL,MAAgB,MAATA,I,+BAGC,IAAD,SAC0D+H,KAAK/F,MAA9D8C,KAAQpC,EADT,EACSA,KAAMsF,EADf,EACeA,MAAOpC,EADtB,EACsBA,YAAapD,EADnC,EACmCA,KAAMC,EADzC,EACyCA,KAAM2E,EAD/C,EAC+CA,KACtD,OACE,wBAAI5F,UAAWuG,KAAKvG,YAAauB,QAASgF,KAAKpC,UAAWsC,GAAIvF,GAC5D,0BAAMlB,UAAU,WACfuG,KAAKP,QACN,0BAAMhG,UAAU,SAAQ,0BAAMA,UAAU,OAAOuB,QAAS,SAAC6B,GAAD,OAAO,EAAKW,SAASX,KAA2B,IAAtBmD,KAAK/F,MAAMiD,OAAe,KAAOvC,IACnH,0BAAMlB,UAAU,gBAAgBoE,GAChC,0BAAMpE,UAAU,UAAUwG,GAC1B,0BAAMxG,UAAU,SAASuG,KAAK7B,cAAc1D,IAC5C,0BAAMhB,UAAU,SAASuG,KAAKlB,cAAcpE,IAC5C,0BAAMjB,UAAU,SAASuG,KAAKZ,cAAc1E,EAAM2E,S,GAvLxCc,aAmMHC,mBANf,SAAyBrI,GACvB,MAAO,CACLS,QAAST,EAAMS,WAIJ4H,CAAyBC,YAAW/D,ICqIpCgE,G,yDAzUb,WAAYrG,GAAQ,IAAD,8BACjB,cAAMA,IA+BRsG,0BAA4B,WACtBC,aAAaC,QAAb,UAAwB,EAAKxG,MAAMyG,KAAnC,aAAqDF,aAAaC,QAAb,UAAwB,EAAKxG,MAAMyG,KAAnC,WACvD,EAAKC,SAAS,CAAEC,YAAaJ,aAAaC,QAAb,UAAwB,EAAKxG,MAAMyG,KAAnC,YAAmDG,UAAWL,aAAaC,QAAb,UAAwB,EAAKxG,MAAMyG,KAAnC,aAlC5E,EAsCnBnE,kBAAoB,WAClBC,SAASC,iBAAiB,UAAW,EAAKqE,mBAC1CtE,SAASC,iBAAiB,UAAW,EAAKsE,mBAxCzB,EA2CnBpE,qBAAuB,WACrBH,SAASI,oBAAoB,UAAW,EAAKkE,mBAC7CtE,SAASI,oBAAoB,UAAW,EAAKmE,mBA7C5B,EAgDnBC,aAAe,WACbR,aAAaS,QAAb,UAAwB,EAAKhH,MAAMyG,KAAnC,WAAkD,EAAK3I,MAAM6I,aAC7DJ,aAAaS,QAAb,UAAwB,EAAKhH,MAAMyG,KAAnC,SAAgD,EAAK3I,MAAM8I,YAlD1C,EAqDnBE,iBAAmB,SAAClE,GACA,IAAdA,EAAEO,UAAkB,EAAKnD,MAAMgD,cAAgB,EAAKhD,MAAMM,UAC5D,EAAK2G,YAvDU,EA2DnBA,SAAW,WACL,EAAKC,mBAIT,EAAKlH,MAAMiH,YAhEM,EAmEnBC,gBAAkB,WAChB,OAAO,EAAKlH,MAAMiB,OAAS,EAAKjB,MAAMmH,SApErB,EAuEnBC,iBAAmB,WAAO,IAAD,EACmD,EAAKpH,MAAvEmB,EADe,EACfA,QAASF,EADM,EACNA,KAAMwF,EADA,EACAA,KAAM1F,EADN,EACMA,QAASsG,EADf,EACeA,sBADf,EACsC/G,WAG3DS,EAAQ0F,GACRY,EAAsBpG,GACtBE,EAAQG,KAAK,CACXmC,SAAU,mBACVC,OAAO,SAAD,OAAWzC,KAEnB,EAAKqG,4BACL,EAAKC,aAlFU,EAsFnBD,0BAA4B,WAC1Bf,aAAaS,QAAQ,eAAgB,EAAKhH,MAAMyG,MAChDF,aAAaS,QAAb,UAAwB,EAAKhH,MAAMyG,KAAnC,YAAmD,EAAKzG,MAAMiB,MAC9DsF,aAAaS,QAAb,UAAwB,EAAKhH,MAAMyG,KAAnC,YAAmD,EAAKzG,MAAMiB,OAzF7C,EA4FnBuG,WAAa,SAAClD,GACZ,OAAgD,IAAzC,EAAKxG,MAAM2J,cAAcC,QAAQpD,IA7FvB,EAkHnBuC,kBAAoB,SAACjE,GAAO,IAAD,EAC4B,EAAK5C,MAAlDM,EADiB,EACjBA,SAAU0C,EADO,EACPA,aAAcM,EADP,EACOA,WAAYrC,EADnB,EACmBA,KACpCgC,EAAW,EAAKnF,MAAhBmF,OACA0E,EAAY,EAAKC,uBAAjBD,QAER,GAAKrH,IAAY0C,EAAjB,CAIA,GAAkB,KAAdJ,EAAEO,QAAgB,CACpB,GAAIF,IAAW0E,EAAQ1D,OAAS,EAC9B,OAGF,GAAIrB,EAAEiF,SAAU,CACd,IAAInH,EAAOiH,EAAQ1E,GAAQvC,KAC3B,EAAKoH,eAAepH,GAGtB,EAAKgG,SAAS,CAAEzD,OAAQA,EAAS,IACjC,EAAKsE,WACLjE,EAAWrC,GAGb,GAAkB,KAAd2B,EAAEO,QAAgB,CACpB,GAAe,IAAXF,EACF,OAGF,GAAIL,EAAEiF,SAAU,CACd,IAAInH,EAAOiH,EAAQ1E,EAAS,GAAGvC,KAC/B,EAAKoH,eAAepH,GAGtB,EAAKgG,SAAS,CAAEzD,OAAQA,EAAS,IACjC,EAAKsE,WACLjE,EAAWrC,MAtJI,EA0JnB8G,UAAY,WACV,EAAKrB,SAAS,CAAEzD,OAAQ,EAAGwE,cAAe,MA3JzB,EA8JnBF,SAAW,WAAO,IACES,EAAqB,EAAKhI,MAApCuH,SADO,EAEiB,EAAKK,uBAA7BK,EAFO,EAEPA,UAAWN,EAFJ,EAEIA,QACnB,GAA0B,IAAtB,EAAK7J,MAAMmF,OAAc,CAAC,IACpBvC,EAA4BuH,EAA5BvH,KAAMkD,EAAsBqE,EAAtBrE,YAAa5F,EAASiK,EAATjK,KAC3BgK,EAAiB,EAAKlK,MAAMmF,OAAQvC,EAAMkD,EAAa5F,OAClD,CAAC,IAAD,EAC+B2J,EAAQ,EAAK7J,MAAMmF,OAAS,GAAxDvC,EADH,EACGA,KAAMkD,EADT,EACSA,YAAa5F,EADtB,EACsBA,KAC3BgK,EAAiB,EAAKlK,MAAMmF,OAAQvC,EAAMkD,EAAa5F,KAtKxC,EA0KnBkD,cAAgB,SAACR,GAAU,IAAD,EAC4B,EAAKV,MAAjDmB,EADgB,EAChBA,QAASF,EADO,EACPA,KAAMiH,EADC,EACDA,UAAWhH,EADV,EACUA,cAElCC,EAAQG,KAAK,CACXmC,SAAU,mBACVC,OAAO,SAAD,OAAWzC,EAAX,YAAmBP,KAE3BwH,EAAUxH,GACVQ,IACA,EAAKwF,SAAS,CAAEzD,OAAQ,KAnLP,EAsLnBkF,qBAAuB,SAAClH,GAAU,IAAD,EACuB,EAAKjB,MAAnDmB,EADuB,EACvBA,QAASgH,EADc,EACdA,qBAAsB7E,EADR,EACQA,WAEnC,EAAK4D,oBAIT/F,EAAQG,KAAK,CACXmC,SAAU,mBACVC,OAAO,SAAD,OAAWzC,KAEnBqC,EAAWrC,GACXkH,MAlMiB,EAqMnBhI,cAAgB,SAACwG,EAAaC,GAC5B,EAAKF,SAAS,CAAEC,cAAaC,cAAa,kBAAM,EAAKG,mBAtMpC,EAyMnBqB,WAAa,SAACC,EAAGC,GACf,MAA6B,eAAzB,EAAKxK,MAAM8I,WAAyC,KAAXyB,EAAE3H,KACtC2H,EAAErK,KAAKuK,cAAcD,EAAEtK,MACI,cAAzB,EAAKF,MAAM8I,WAAwC,KAAX0B,EAAE5H,KAC5C4H,EAAEtK,KAAKuK,cAAcF,EAAErK,WADzB,GA5MU,EAiNnBwK,WAAa,SAACH,EAAGC,GACf,MAA6B,eAAzB,EAAKxK,MAAM8I,WAAyC,KAAXyB,EAAE3H,KACtC2H,EAAE7H,KAAO8H,EAAE9H,KACgB,cAAzB,EAAK1C,MAAM8I,WAAwC,KAAX0B,EAAE5H,KAC5C4H,EAAE9H,KAAO6H,EAAE7H,UADb,GApNU,EAyNnBiI,WAAa,SAACJ,EAAGC,GACf,MAA6B,eAAzB,EAAKxK,MAAM8I,WAAyC,KAAXyB,EAAE3H,KACtC,IAAIqE,KAAKsD,EAAE5H,MAAQ,IAAIsE,KAAKuD,EAAE7H,MACH,cAAzB,EAAK3C,MAAM8I,WAAwC,KAAXyB,EAAE3H,KAC5C,IAAIqE,KAAKuD,EAAE7H,MAAQ,IAAIsE,KAAKsD,EAAE5H,WADhC,GA5NU,EAiOnBiI,WAAa,SAACL,EAAGC,GACf,MAA6B,eAAzB,EAAKxK,MAAM8I,WAAyC,KAAXyB,EAAE3H,KACtC2H,EAAE3H,KAAK6H,cAAcD,EAAE5H,MACI,cAAzB,EAAK5C,MAAM8I,WAAwC,KAAX0B,EAAE5H,KAC5C4H,EAAE5H,KAAK6H,cAAcF,EAAE3H,WADzB,GApOU,EAyOnBiI,SAAW,SAACN,EAAGC,GACb,OAAQ,EAAKxK,MAAM6I,aACjB,IAAK,OAAQ,OAAO,EAAKyB,WAAWC,EAAGC,GACvC,IAAK,OAAQ,OAAO,EAAKE,WAAWH,EAAGC,GACvC,IAAK,OAAQ,OAAO,EAAKG,WAAWJ,EAAGC,GACvC,IAAK,OAAQ,OAAO,EAAKI,WAAWL,EAAGC,GACvC,QAAS,OAAO,EAAKF,WAAWC,EAAGC,KA/OpB,EAmPnBV,qBAAuB,WACrB,IAAIK,EAAWN,EAAU,GAgBzB,OAfA,EAAK3H,MAAM8C,KAAK6E,QAAQiB,SAAQ,SAAA1G,GACZ,KAAdA,EAAKxB,MAA6B,MAAdwB,EAAKlE,KAC3BiK,EAAY/F,EAEZyF,EAAQrG,KAAKY,MAIfyF,EAD6B,SAA3B,EAAK7J,MAAM6I,YACN,sBACFgB,EAAQkB,QAAO,SAAA3G,GAAI,MAAkB,MAAdA,EAAKlE,QAAcuC,MAAK,SAAC8H,EAAGC,GAAJ,OAAU,EAAKI,WAAWL,EAAGC,OAD1E,YAEFX,EAAQkB,QAAO,SAAA3G,GAAI,MAAkB,MAAdA,EAAKlE,QAAcuC,MAAK,SAAC8H,EAAGC,GAAJ,OAAU,EAAKK,SAASN,EAAGC,QAGrEX,EAAQpH,MAAK,SAAC8H,EAAGC,GAAJ,OAAU,EAAKK,SAASN,EAAGC,MAE7C,CAAEL,YAAWN,YApQH,EAuQnBmB,KAAO,WAAO,IAAD,EACwC,EAAK9I,MAAhDM,EADG,EACHA,SAAU0C,EADP,EACOA,aAAc/B,EADrB,EACqBA,KAAMiC,EAD3B,EAC2BA,SAC9BD,EAAW,EAAKnF,MAAhBmF,OAFG,EAGoB,EAAK2E,uBAA5BD,EAHG,EAGHA,QAASM,EAHN,EAGMA,UAEjB,GAAIN,EAAQ1D,QAAUgE,EACpB,OACE,oCACE,kBAAC,EAAD,CACEnE,cAAe,SAACb,EAAQvC,EAAMkD,EAAa5F,GACzC,EAAK0I,SAAS,CAAEzD,WAChB,EAAKjD,MAAMuH,SAAStE,EAAQvC,EAAMkD,EAAa5F,IAEjDkD,cAAe,EAAK+F,SACpBjE,aAAcA,EACdH,UAAW,IAAMI,EACjBF,aAAczC,EACd2C,OAAQ,EACRH,KAAMmF,EACNhH,KAAMA,IAEN0G,EAAQ1F,KAAI,SAACC,EAAMC,GAAP,OACV,kBAAC,EAAD,CACEA,IAAKA,EAAM,EACX2B,cAAe,SAACb,EAAQvC,EAAMkD,EAAa5F,GACzC,EAAK0I,SAAS,CAAEzD,WAChB,EAAKjD,MAAMuH,SAAStE,EAAQvC,EAAMkD,EAAa5F,IAEjD6F,eAAgB,kBAAM,EAAKiE,eAAe5F,EAAKxB,OAC/CsD,SAAU,EAAKwD,WAAWtF,EAAKxB,MAC/BQ,cAAe,EAAKA,cACpB8B,aAAcA,EACdH,UAAWV,EAAM,IAAMc,EACvBF,aAAczC,EACd4C,SAAUA,EACVD,OAAQd,EAAM,EACdW,KAAMZ,EACNjB,KAAMA,SA1SlB,EAAKnD,MAAQ,CACX8I,UAAW,aACXD,YAAa,OACbc,cAAe,GACfsB,aAAc,GACd9F,OAAQ,GAPO,E,2DAgGJqB,GAAI,IACTmD,EAAkB1B,KAAKjI,MAAvB2J,cACFuB,EAAM,YAAOvB,GACbwB,EAAYxB,EAAcC,QAAQpD,GACxC,IAAmB,IAAf2E,EACFD,EAAOnH,OAAOoH,EAAW,OACpB,CACL,GAAU,KAAN3E,EACF,OAGF0E,EAAO1H,KAAKgD,GAGdyB,KAAKW,SAAS,CAAEe,cAAeuB,IAC/BjD,KAAK/F,MAAMkJ,cAAcF,K,+BAqMjB,IAAD,EAC6BjD,KAAK/F,MAAjCM,EADD,EACCA,SAAUW,EADX,EACWA,KAAMkI,EADjB,EACiBA,QACxB,OACE,yBAAK3J,UAAWc,EAAW,cAAgB,OAAQS,QAASgF,KAAKqB,kBAC/D,kBAAC,EAAD,CAAM5H,UAAWc,EAAW,cAAgB,OAC1CY,cAAe6E,KAAKoC,qBACpBhI,cAAe4F,KAAK5F,cACpBF,QAAS8F,KAAKjI,MAAM6I,YACpBtG,MAAO0F,KAAKjI,MAAM8I,UAClBtG,SAAUA,EACVW,KAAMA,IACR,yBAAKzB,UAAU,kBACb,4BACG2J,GAAW7I,EAAW,kBAAC,EAAD,MAAcyF,KAAK+C,c,GAlU1B5C,cCIbkD,G,OARK,SAACpJ,GACnB,OACE,yBAAKW,MAAM,kBAAkBd,MAAO,CAAEwJ,SAA6B,MAAnBrJ,EAAMsJ,SAAmB,UAAY,WACnF,yBAAK3I,MAAM,eAAelB,KAAK,cAAcI,MAAO,CAAEC,MAAM,GAAD,OAAKE,EAAMsJ,SAAX,MAA0B5J,gBAAeM,EAAMsJ,SAAU3J,gBAAc,IAAIC,gBAAc,W,QCwH3I2J,G,OAzHC,SAAAvJ,GAAU,IAChBrB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KAER0C,qBAAU,WAGR,OAFAmI,OAAOhH,iBAAiB,QAASiH,GAE1B,kBAAMD,OAAO7G,oBAAoB,QAAS8G,MAChD,CAACzJ,EAAM0J,YAEV,IAAMD,EAAqB,SAAAE,GACzB,IAAIC,EAAuBrH,SAASsH,cAAc,gBAAkBtH,SAASsH,cAAc,kBAErE,KAAlBF,EAAMxG,SAAmByG,GAC3B5J,EAAM8J,iBAIV,OACE,yBAAKtK,UAAU,oBAAoBuK,IAAK/J,EAAM0J,WAC5C,yBAAKlK,UAAU,QACb,yBAAKA,UAAU,QAAQb,EAAKqL,WAC5B,yBAAKxK,UAAU,QAAQuB,QAAS,kBAAMf,EAAM8J,kBAAiB,kBAAC,IAAD,CAAiBrE,KAAK,YAErF,yBAAKjG,UAAU,QACb,4BACE,4BACE,0BAAMA,UAAU,QAAhB,KACA,0BAAMA,UAAU,eAAeb,EAAI,SAErC,4BACE,0BAAMa,UAAU,QAAhB,KACA,0BAAMA,UAAU,eAAeb,EAAK,cAEtC,4BACE,0BAAMa,UAAU,QAAhB,MACA,0BAAMA,UAAU,eAAeb,EAAK,gBAEtC,4BACE,0BAAMa,UAAU,QAAhB,KACA,0BAAMA,UAAU,eAAeb,EAAI,WAErC,wBAAIa,UAAU,aACZ,0BAAMA,UAAU,QAAhB,mBACA,0BAAMA,UAAU,eAAeb,EAAI,SAErC,4BACE,0BAAMa,UAAU,QAAhB,KACA,0BAAMA,UAAU,eAAeb,EAAI,OAErC,4BACE,0BAAMa,UAAU,QAAhB,MACA,0BAAMA,UAAU,eAAeb,EAAI,OAErC,4BACE,0BAAMa,UAAU,QAAhB,YACA,0BAAMA,UAAU,eAAeb,EAAI,SAErC,4BACE,0BAAMa,UAAU,QAAhB,MACA,0BAAMA,UAAU,eAAeb,EAAK,gCAEtC,4BACE,0BAAMa,UAAU,QAAhB,KACA,0BAAMA,UAAU,eAAeb,EAAK,6BAEtC,4BACE,0BAAMa,UAAU,QAAhB,OACA,0BAAMA,UAAU,eAAeb,EAAK,0BAEtC,4BACE,0BAAMa,UAAU,QAAhB,OACA,0BAAMA,UAAU,eAAeb,EAAK,6BAGxC,4BACE,4BACE,0BAAMa,UAAU,QAAhB,UACA,0BAAMA,UAAU,eAAeb,EAAK,oBAEtC,4BACE,0BAAMa,UAAU,QAAhB,UACA,0BAAMA,UAAU,eAAeb,EAAK,sBAEtC,4BACE,0BAAMa,UAAU,QAAhB,UACA,0BAAMA,UAAU,eAAeb,EAAK,wBAEtC,4BACE,0BAAMa,UAAU,QAAhB,UACA,0BAAMA,UAAU,eAAeb,EAAK,yBAEtC,4BACE,0BAAMa,UAAU,QAAhB,KACA,0BAAMA,UAAU,eAAeb,EAAI,UAErC,4BACE,0BAAMa,UAAU,QAAhB,SACA,0BAAMA,UAAU,eAAeb,EAAK,iCAEtC,4BACE,0BAAMa,UAAU,QAAhB,MACA,0BAAMA,UAAU,eAAeb,EAAK,eAEtC,4BACE,0BAAMa,UAAU,QAAhB,aACA,0BAAMA,UAAU,eAAeb,EAAK,4BAEtC,4BACE,0BAAMa,UAAU,QAAhB,eACA,0BAAMA,UAAU,eAAeb,EAAK,uCAEtC,4BACE,0BAAMa,UAAU,QAAhB,0BACA,0BAAMA,UAAU,eAAeb,EAAK,gCC7EjCsL,EAtCC,SAACjK,GAAW,IAAD,EACCkK,mBAAS,MADV,mBAClBjM,EADkB,KACXkM,EADW,KAEjBxL,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KAFiB,EAGOuL,mBAAmB,OAAVjM,IAAmBA,EAAMgG,QAHzC,mBAGlBmG,EAHkB,KAGRC,EAHQ,KAqBzB,OACE,yBAAK7K,UAAU,iBACb,yBAAKA,UAAU,gBACb,wBAAIA,UAAU,eAAgBb,EAAK,iBAErC,yBAAKa,UAAU,cACb,2BAAOxB,KAAK,OAAOsM,SAtBR,SAAC1H,GAChBuH,EAASvH,EAAE2H,OAAOtM,QAqByB8L,IAAK/J,EAAM0J,YACjDU,GAAY,2BAAO5K,UAAU,SAASb,EAAK,+BAE9C,yBAAKa,UAAU,gBACb,4BAAQxB,KAAK,SAASwB,UAAU,yBAAyBuB,QAdhD,WACbf,EAAMwK,UAayE7L,EAAK8L,QAChF,4BAAQzM,KAAK,SAASwB,UAAU,kBAAkBuB,QAvB3C,WACN9C,EAIL+B,EAAM0K,OAHJL,GAAY,KAqBwD1L,EAAKgM,WCOhEC,EAtCM,SAAC5K,GAAW,IAAD,EACJkK,mBAAS,MADL,mBACvBjM,EADuB,KAChBkM,EADgB,KAEtBxL,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KAFsB,EAGEuL,mBAAmB,OAAVjM,IAAmBA,EAAMgG,QAHpC,mBAGvBmG,EAHuB,KAGbC,EAHa,KAqB9B,OACE,yBAAK7K,UAAU,iBACb,yBAAKA,UAAU,gBACb,wBAAIA,UAAU,yBAA0Bb,EAAK,sBAE/C,yBAAKa,UAAU,cACb,2BAAOxB,KAAK,OAAOsM,SAtBR,SAAC1H,GAChBuH,EAASvH,EAAE2H,OAAOtM,QAqByB8L,IAAK/J,EAAM0J,YACjDU,GAAY,2BAAO5K,UAAU,SAASb,EAAK,oCAE9C,yBAAKa,UAAU,gBACb,4BAAQxB,KAAK,SAASwB,UAAU,yBAAyBuB,QAdhD,WACbf,EAAMwK,UAayE7L,EAAK8L,QAChF,4BAAQzM,KAAK,SAASwB,UAAU,kBAAkBuB,QAvB3C,WACN9C,EAIL+B,EAAM0K,OAHJL,GAAY,KAqBwD1L,EAAKgM,WCdhEE,GAnBA,SAAC7K,GAAW,IACjBrB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KAER,OACE,yBAAKa,UAAU,wBACb,yBAAKA,UAAU,gBACb,wBAAIA,UAAU,sBAAsBb,EAAI,OAAxC,IAAoD,0BAAMa,UAAU,QAAhB,IAA8BQ,EAAM8K,MAApC,OAEtD,yBAAKtL,UAAU,cACb,2BAAOxB,KAAK,OAAO+M,WAAS,EAACC,aAAchL,EAAM8K,MAAOR,SAAUtK,EAAMsK,SAAUP,IAAK/J,EAAM0J,aAE/F,yBAAKlK,UAAU,gBACb,4BAAQxB,KAAK,SAASwB,UAAU,yBAAyBuB,QAASf,EAAMwK,OAAQ7L,EAAI,QACpF,4BAAQX,KAAK,SAASwB,UAAU,kBAAkBuB,QAASf,EAAM0K,MAAO/L,EAAI,WCKrEsM,GAlBA,SAACjL,GAAW,IACjBrB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KAER,OACE,yBAAKa,UAAU,wBACb,yBAAKA,UAAU,gBACZQ,EAAMkL,MAAQ,EACb,4BAAKvM,EAAK,gBAAV,IAA2B,0BAAMa,UAAU,QAAhB,IAAyBQ,EAAMkL,MAA/B,KAA3B,MACA,4BAAKvM,EAAK,mCAAV,IAA8C,0BAAMa,UAAU,QAAhB,IAA8BQ,EAAM8K,MAApC,KAA9C,MAEJ,yBAAKtL,UAAU,sBACb,4BAAQxB,KAAK,SAASwB,UAAU,yBAAyBuB,QAASf,EAAMwK,OAAQ7L,EAAI,QACpF,4BAAQX,KAAK,SAASwB,UAAU,kBAAkBuB,QAASf,EAAM0K,KAAMK,WAAS,GAAEpM,EAAI,WCG/EwM,GAfS,SAACnL,GAAW,IAC1BrB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KAER,OACE,yBAAKa,UAAU,kCACb,yBAAKA,UAAU,UACZQ,EAAMoL,aAAe,4BAAKzM,EAAK,wDAA+D,4BAAKA,EAAK,sBAE3G,yBAAKa,UAAU,gBACb,4BAAQxB,KAAK,SAASwB,UAAU,yBAAyBuB,QAASf,EAAMwK,OAAQ7L,EAAI,U,oBCRtF0M,GAAqB,CACzBrF,MAAO,CACLsF,KAAM,EACNC,MAAO,EACPC,QAAS,GAEXC,MAAO,CACLH,KAAM,EACNC,MAAO,EACPC,QAAS,GAEXE,OAAQ,CACNJ,KAAM,EACNC,MAAO,EACPC,QAAS,IAIPG,G,kDACJ,WAAY3L,GAAQ,IAAD,8BACjB,cAAMA,IAWR4L,mBAAqB,SAACC,GACpB,IAAMC,EAASC,SAASF,EAAQ,GAEhC,MAAO,CACLP,KAAM,EAAKU,QAAQF,EAAQ,CAAC,EAAG,EAAG,EAAG,IAAM,EAAI,EAC/CP,MAAO,EAAKS,QAAQF,EAAQ,CAAC,EAAG,EAAG,EAAG,IAAM,EAAI,EAChDN,QAAS,EAAKQ,QAAQF,EAAQ,CAAC,EAAG,EAAG,EAAG,IAAM,EAAI,IAlBnC,EAkDnBG,aAAe,SAACtC,GACd,IAAMuC,EAAWvC,EAAMY,OADC,EAEO2B,EAASxL,KAAKgB,MAAM,KAF3B,mBAEjBjC,EAFiB,KAEX0M,EAFW,KAGxB,EAAKzF,SAAS,CACZ9C,YAAY,2BACP,EAAK9F,MAAM8F,aADL,kBAERnE,EAFQ,2BAGJ,EAAK3B,MAAM8F,YAAYnE,IAHnB,kBAIN0M,EAAiBD,EAASE,QAAUF,EAASjO,MAAQ,QAGzD,SAACH,GACF,EAAKuO,SAASpO,MAAQ,EAAKqO,SAC3B,EAAKtM,MAAMuM,kBAAkB,EAAKF,SAASpO,WA/D5B,EAmEnBuO,kBAAoB,SAAC7C,GACnB,IAAM1L,EAAQ0L,EAAMY,OAAOtM,MAC3B,IAAK,EAAKwO,QAAQxO,GAChB,OAAO,EAAKyI,SAAS,CAAEgG,cAAc,IAGvC,EAAKhG,SAAS,CACZ9C,YAAa,EAAK+I,OAAO1O,GACzByO,cAAc,IAEhB,EAAK1M,MAAMuM,kBAAkB,EAAKF,SAASpO,QA3E3C,EAAKH,MAAQ,CACX8F,YAAa,EAAK+I,OAAO,EAAK3M,MAAM4D,cAAgByH,GACpDqB,cAAc,GAJC,E,oDAQXZ,EAAQc,GACd,SAAUA,EAAMlF,QAAQoE,K,gCAaH,IAAfe,EAAc,uDAAJ,GAChB,OAAuB,IAAnBA,EAAQ5I,QAA4B,QAAZ4I,IAAqBA,EAAQrJ,MAAM,kBAImC7B,IAA3FkL,EAAQnL,MAAM,IAAIoL,MAAK,SAAChB,GAAD,OAAYC,SAASD,EAAQ,GAAK,GAAKC,SAASD,EAAQ,GAAK,O,6BAGtFe,GACL,IAAK9G,KAAK0G,QAAQI,GAChB,OAAO,KAGT,IACM7D,EADe6D,EAAQnL,MAAM,IACPO,IAAI8D,KAAK6F,oBACrC,MAAO,CAAE5F,MAAOgD,EAAO,GAAIyC,MAAOzC,EAAO,GAAI0C,OAAQ1C,EAAO,M,+BAGpD,IAAD,OAIP,MAAO,CAAC,QAAS,QAAS,UAAU+D,QAAO,SAACC,EAAKvN,GAC/C,IAJsBwN,EAIhBC,EAAa,EAAKpP,MAAM8F,YAAYnE,GAC1C,OAAOuN,GALeC,EAKMC,EAJrBC,OAAOC,OAAOH,GAAkBhL,KAAI,SAAC6J,GAAD,OAAYC,SAASD,EAAQ,MAAIiB,QAAO,SAACC,EAAKK,GAAN,OAAYL,EAAMK,IAAG,MAKvG,M,+BAiCK,IAAD,OACC1O,EAASoH,KAAK/F,MAAMzB,QAApBI,KACA+N,EAAiB3G,KAAKjI,MAAtB4O,aAFD,EAGwB3G,KAAK/F,MAA5BwK,EAHD,EAGCA,MAAOE,EAHR,EAGQA,KAAMI,EAHd,EAGcA,MACfwC,EAAeC,KAAW,CAC9B,sBAAsB,EACtB,MAASb,IAGX,OACE,yBAAKlN,UAAU,6BACb,yBAAKA,UAAU,gBACb,wBAAIA,UAAU,qBAAqBb,EAAK,iBAAxC,IAA0D,0BAAMa,UAAU,QAAhB,IAA8BsL,EAA9B,OAE5D,0BAAMpK,KAAK,OAAO4J,SAAUvE,KAAKkG,cAC/B,6BACE,+BAAO,2BAAOjO,KAAK,WAAW0C,KAAM,aAAczC,MAAM,IAAImO,UAAWrG,KAAKjI,MAAM8F,YAAX,MAAgC0H,KAAMrF,GAAG,SAAUtH,EAAK,kBAC/H,+BAAO,2BAAOX,KAAK,WAAW0C,KAAM,cAAezC,MAAM,IAAImO,UAAWrG,KAAKjI,MAAM8F,YAAX,MAAgC2H,QAAU5M,EAAK,mBACvH,+BAAO,2BAAOX,KAAK,WAAW0C,KAAM,gBAAiBzC,MAAM,IAAImO,UAAWrG,KAAKjI,MAAM8F,YAAX,MAAgC4H,UAAY7M,EAAK,6BAE7H,6BACE,+BAAO,2BAAOX,KAAK,WAAW0C,KAAM,aAAczC,MAAM,IAAImO,UAAWrG,KAAKjI,MAAM8F,YAAX,MAAgC0H,KAAMrF,GAAG,SAAUtH,EAAK,kBAC/H,+BAAO,2BAAOX,KAAK,WAAW0C,KAAM,cAAezC,MAAM,IAAImO,UAAWrG,KAAKjI,MAAM8F,YAAX,MAAgC2H,QAAU5M,EAAK,mBACvH,+BAAO,2BAAOX,KAAK,WAAW0C,KAAM,gBAAiBzC,MAAM,IAAImO,UAAWrG,KAAKjI,MAAM8F,YAAX,MAAgC4H,UAAY7M,EAAK,6BAE7H,6BACE,+BAAO,2BAAOX,KAAK,WAAW0C,KAAM,cAAezC,MAAM,IAAImO,UAAWrG,KAAKjI,MAAM8F,YAAX,OAAiC0H,KAAMrF,GAAG,SAAUtH,EAAK,mBACjI,+BAAO,2BAAOX,KAAK,WAAW0C,KAAM,eAAgBzC,MAAM,IAAImO,UAAWrG,KAAKjI,MAAM8F,YAAX,OAAiC2H,QAAU5M,EAAK,oBACzH,+BAAO,2BAAOX,KAAK,WAAW0C,KAAM,iBAAkBzC,MAAM,IAAImO,UAAWrG,KAAKjI,MAAM8F,YAAX,OAAiC4H,UAAY7M,EAAK,+BAGjI,2BAAOX,KAAK,OAAOwB,UAAW8N,EAActC,aAAcjF,KAAKuG,SAAUvC,IAAK,SAACA,GAAD,OAAS,EAAKsC,SAAWtC,GAAKO,SAAUvE,KAAKyG,kBAAmBgB,UAAU,MACxJ,yBAAKhO,UAAU,gBACb,4BAAQxB,KAAK,SAASwB,UAAU,yBAAyBuB,QAASyJ,GAAQ7L,EAAI,QAC9E,4BAAQX,KAAK,SAASwB,UAAU,kBAAkBuB,QAAS2J,EAAM+C,SAAUf,GAAe/N,EAAI,U,GAnH9EuH,aAgIXC,oBANf,SAAyBrI,GACvB,MAAO,CACLS,QAAST,EAAMS,WAIJ4H,CAAyBwF,IC9HzB+B,GArBF,SAAC1N,GAAW,IACfrB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KAER,OACE,yBAAKa,UAAU,iBACb,yBAAKA,UAAU,gBACZQ,EAAMkL,MAAQ,EACb,wBAAI1L,UAAU,eAAeb,EAAK,cAAlC,IAAiD,0BAAMa,UAAU,QAAhB,IAAyBQ,EAAMkL,MAA/B,KAAjD,IAAgGvM,EAAI,KAApG,KACA,wBAAIa,UAAU,sBAAsBb,EAAI,KAAxC,IAAkD,0BAAMa,UAAU,QAAhB,IAA8BQ,EAAM8K,MAApC,KAAlD,IAA2GnM,EAAI,KAA/G,MAEJ,yBAAKa,UAAU,cACb,2BAAOxB,KAAK,OAAO+M,WAAS,EAACC,aAAchL,EAAMiB,KAAMqJ,SAAUtK,EAAMsK,SAAUP,IAAK/J,EAAM0J,aAE9F,yBAAKlK,UAAU,gBACb,4BAAQxB,KAAK,SAASwB,UAAU,yBAAyBuB,QAASf,EAAMwK,OAAQ7L,EAAI,QACpF,4BAAQX,KAAK,SAASwB,UAAU,kBAAkBuB,QAASf,EAAM0K,MAAO/L,EAAI,SCMrEgP,GArBC,SAAC3N,GAAW,IAClBrB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KAER,OACE,yBAAKa,UAAU,iBACb,yBAAKA,UAAU,gBACZQ,EAAMkL,MAAQ,EACb,wBAAI1L,UAAU,eAAeb,EAAKiP,SAAlC,IAA4C,0BAAMpO,UAAU,QAAhB,IAAyBQ,EAAMkL,MAA/B,KAA5C,KACA,wBAAI1L,UAAU,sBAAsBb,EAAKiP,SAAzC,IAAmD,0BAAMpO,UAAU,QAAhB,IAA8BQ,EAAM8K,MAApC,KAAnD,MAEJ,yBAAKtL,UAAU,cACb,2BAAOxB,KAAK,OAAO+M,WAAS,EAACC,aAAY,UAAKhL,EAAMiB,KAAX,YAAmBjB,EAAM8K,MAAzB,WAAyC+C,OAAQ7N,EAAMsK,SAAUP,IAAK/J,EAAM0J,aAEvH,yBAAKlK,UAAU,gBACb,4BAAQxB,KAAK,SAASwB,UAAU,yBAAyBuB,QAASf,EAAMwK,OAAQ7L,EAAK8L,QACrF,4BAAQzM,KAAK,SAASwB,UAAU,kBAAkBuB,QAASf,EAAM0K,MAAO/L,EAAKiP,aCItEE,GAnBC,SAAC9N,GAAW,IAClBrB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KAER,OACE,yBAAKa,UAAU,iBACb,yBAAKA,UAAU,gBACb,wBAAIA,UAAU,sBAAsBb,EAAI,QAAxC,IAAqD,0BAAMa,UAAU,QAAhB,IAA8BQ,EAAM8K,MAApC,KAAwDnM,EAAI,OAEnH,yBAAKa,UAAU,cACb,2BAAOxB,KAAK,OAAO+M,WAAS,EAACC,aAAchL,EAAMiB,KAAM4M,OAAQ7N,EAAMsK,SAAUP,IAAK/J,EAAM0J,aAE5F,yBAAKlK,UAAU,gBACb,4BAAQxB,KAAK,SAASwB,UAAU,yBAAyBuB,QAASf,EAAMwK,OAAQ7L,EAAI,QACpF,4BAAQX,KAAK,SAASwB,UAAU,kBAAkBuB,QAASf,EAAM0K,MAAO/L,EAAI,YCQrEoP,GArBF,SAAC/N,GAAW,IACfrB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KAER,OACE,yBAAKa,UAAU,iBACb,yBAAKA,UAAU,gBACZQ,EAAMkL,MAAQ,EACb,wBAAI1L,UAAU,eAAeb,EAAK,cAAlC,IAAiD,0BAAMa,UAAU,QAAhB,IAAyBQ,EAAMkL,MAA/B,KAAjD,IAAgGvM,EAAI,KAApG,KACA,wBAAIa,UAAU,sBAAsBb,EAAI,KAAxC,IAAkD,0BAAMa,UAAU,QAAhB,IAA8BQ,EAAM8K,MAApC,KAAlD,IAA2GnM,EAAI,KAA/G,MAEJ,yBAAKa,UAAU,cACb,2BAAOxB,KAAK,OAAO+M,WAAS,EAACC,aAAchL,EAAMiB,KAAMqJ,SAAUtK,EAAMsK,SAAUP,IAAK/J,EAAM0J,aAE9F,yBAAKlK,UAAU,gBACb,4BAAQxB,KAAK,SAASwB,UAAU,yBAAyBuB,QAASf,EAAMwK,OAAQ7L,EAAI,QACpF,4BAAQX,KAAK,SAASwB,UAAU,kBAAkBuB,QAASf,EAAM0K,MAAO/L,EAAI,SCOrEqP,GAvBC,SAAChO,GACf,OACE,yBAAKR,UAAU,yBACb,yBAAKA,UAAU,gBACZQ,EAAMiO,MAAMhK,OAAS,EACpB,6BAAK,yDACFjE,EAAMiO,MAAMhM,KAAI,SAAAC,GAAI,OACnB,0BAAM1C,UAAU,QAAhB,IAA8B0C,EAAKxB,KAAnC,UAGJ,6BAAK,wDACH,0BAAMlB,UAAU,QAAhB,IAA8BQ,EAAMiO,MAAM,GAAGvN,KAA7C,OAIN,yBAAKlB,UAAU,gBACb,4BAAQxB,KAAK,SAASwB,UAAU,0BAA0BuB,QAASf,EAAMwK,OAAzE,UACA,4BAAQxM,KAAK,SAASwB,UAAU,iBAAiBuB,QAAS,kBAAMf,EAAMkO,QAAQlO,EAAMiO,SAApF,gBCuEOE,I,MA5ED,SAACnO,GACbqB,qBAAU,WAIR,OAHAmI,OAAOhH,iBAAiB,QAAS4L,GACjC7L,SAASC,iBAAiB,UAAW6L,GAE9B,WACL7E,OAAO7G,oBAAoB,QAASyL,GACpC7L,SAASI,oBAAoB,UAAW0L,MAEzC,IAEH,IAAMA,EAAU,SAACzL,GACG,KAAdA,EAAEO,QACJmL,IACuB,KAAd1L,EAAEO,SACXoL,KAIEA,EAAe,WACnBvO,EAAMe,UACNf,EAAMwO,WAGFjC,EAAoB,SAAC3I,GACzB5D,EAAMyO,oBAAoB7K,IAQtB0G,EAAW,SAAC1H,GAChB5C,EAAM0O,cAAc9L,EAAE2H,OAAOtM,QAGzBqQ,EAAa,WACjBtO,EAAMwO,WAGFJ,EAAe,SAACxL,GACpB,IAAI+L,EAAQpM,SAASqM,eAAe,SAChChM,EAAE2H,SAAWoE,GACf3O,EAAMwO,WAuBV,OACE,6BACE,yBAAKhP,UAAU,QAAQyG,GAAG,SArBd,WAAO,IACbjI,EAA0EgC,EAA1EhC,KAAM0L,EAAoE1J,EAApE0J,UAAWoB,EAAyD9K,EAAzD8K,MAAOlH,EAAkD5D,EAAlD4D,YAAasH,EAAqClL,EAArCkL,MAAOjK,EAA8BjB,EAA9BiB,KAAMgN,EAAwBjO,EAAxBiO,MAAO7C,EAAiBpL,EAAjBoL,aACjE,OAAQpN,GACN,IAAK,OAAQ,OAAO,kBAAC,GAAD,CAAMwM,MAAO8D,EAAY5D,KAAM6D,EAAc7E,UAAWA,EAAWY,SAAUA,EAAU5J,KAAM1C,EAAM8M,MAAOA,EAAOI,MAAOA,EAAOjK,KAAMA,IACzJ,IAAK,OAAQ,OAAO,kBAAC,GAAD,CAAMuJ,MAAO8D,EAAY5D,KAAM6D,EAAc7E,UAAWA,EAAWY,SAAUA,EAAU5J,KAAM1C,EAAM8M,MAAOA,EAAOI,MAAOA,EAAOjK,KAAMA,IACzJ,IAAK,cAAe,OAAO,kBAAC,GAAD,CAAauJ,MAAO8D,EAAY5D,KAAM6D,EAAchC,kBAAmBA,EAAmBzB,MAAOA,EAAOlH,YAAaA,IAChJ,IAAK,UAAW,OAAO,kBAAC,GAAD,CAAS4G,MAAO8D,EAAY5D,KAAM6D,EAAc7E,UAAWA,EAAWY,SAAUA,EAAU5J,KAAM1C,EAAM8M,MAAOA,EAAO7J,KAAMA,IACjJ,IAAK,UAAW,OAAO,kBAAC,GAAD,CAASuJ,MAAO8D,EAAY5D,KAAM6D,EAAc7E,UAAWA,EAAWY,SAAUA,EAAUY,MAAOA,EAAOxK,KAAM1C,EAAM8M,MAAOA,EAAO7J,KAAMA,IAC/J,IAAK,SAAU,OAAO,kBAAC,GAAD,CAAQuJ,MAAO8D,EAAY5D,KAAM6D,EAAc7E,UAAWA,EAAWY,SAAUA,EAAU5J,KAAM1C,EAAM8M,MAAOA,IAClI,IAAK,gBAAiB,OAAO,kBAAC,EAAD,CAAcN,MAAO8D,EAAY5D,KAAM6D,EAAc7E,UAAWA,IAC7F,IAAK,SAAU,OAAO,kBAAC,GAAD,CAAQc,MAAO8D,EAAY5D,KAAM6D,EAAczD,MAAOA,EAAOI,MAAOA,IAC1F,IAAK,WAAY,OAAO,kBAAC,EAAD,CAASV,MAAO8D,EAAY5D,KAAM6D,EAAc7E,UAAWA,IACnF,IAAK,UAAW,OAAO,kBAAC,GAAD,CAASc,MAAO8D,EAAYJ,QAAS,SAACD,GAAD,OAhC/CY,EAgCkEZ,EA/BjFjO,EAAMe,QAAQ8N,QACd7O,EAAMwO,UAFQ,IAACK,GAgC0EZ,MAAOA,IAC9F,IAAK,mBAAoB,OAAO,kBAAC,GAAD,CAAiBzD,MAAO8D,EAAYlD,aAAcA,KAS/E0D,O,wBCwLMC,GAtQF,SAAC/O,GAAW,IACfrB,EAASuB,aAAY,SAACpC,GAAD,OAAWA,EAAMS,WAAtCI,KACFqQ,EAAYC,mBAEZC,EAAoBC,uBAAY,SAACxF,GAAD,OAAWyF,EAAQzF,KAAQ,CAAC3J,IAElEqB,qBAAU,WAER,OADAkB,SAASC,iBAAiB,UAAW0M,GAC9B,kBAAM3M,SAASI,oBAAoB,UAAWuM,MACpD,CAACA,IAEJ,IAAMG,EAAU,WACdrP,EAAMsP,UAAU,aAGZC,EAAe,WACnBvP,EAAMsP,UAAU,kBAGZE,EAAa,WAAO,IAChBC,EAAiCzP,EAAjCyP,UAAWH,EAAsBtP,EAAtBsP,UAAWrM,EAAWjD,EAAXiD,OACL,IAArBwM,EAAUxL,OAEVqL,EADa,IAAXrM,EACQ,mBAEA,UAGZqM,EAAU,SAAUG,EAAUxL,SAI5ByL,EAAS,WACbC,QAAQlL,IAAIzE,GACS,IAAjBA,EAAMiD,OACRjD,EAAMsP,UAAU,oBAEhBtP,EAAMsP,UAAU,WAId1L,EAAc,WACG,IAAjB5D,EAAMiD,OACRjD,EAAMsP,UAAU,oBAEhBtP,EAAMsP,UAAU,gBAIdM,EAAO,WAAO,IACVH,EAAiCzP,EAAjCyP,UAAWH,EAAsBtP,EAAtBsP,UAAWrM,EAAWjD,EAAXiD,OACL,IAArBwM,EAAUxL,OAEVqL,EADa,IAAXrM,EACQ,mBAEA,QAGZqM,EAAU,OAAQG,EAAUxL,SAI1B4L,EAAU,WAAO,IACbJ,EAAiCzP,EAAjCyP,UAAWH,EAAsBtP,EAAtBsP,UAAWrM,EAAWjD,EAAXiD,OAEL,IAArBwM,EAAUxL,OAEVqL,EADa,IAAXrM,EACQ,mBAEA,WAGZqM,EAAU,UAAWG,EAAUxL,SAI7B6L,EAAU,WACO,IAAjB9P,EAAMiD,OACRjD,EAAMsP,UAAU,oBAEhBtP,EAAMsP,UAAU,YAIdS,EAAO,WAAO,IACVN,EAAiCzP,EAAjCyP,UAAWH,EAAsBtP,EAAtBsP,UAAWrM,EAAWjD,EAAXiD,OACL,IAArBwM,EAAUxL,OAEVqL,EADa,IAAXrM,EACQ,mBAEA,QAGZqM,EAAU,OAAQG,EAAUxL,SAY1Bf,EAAW,WACM,IAAjBlD,EAAMiD,OACRjD,EAAMsP,UAAU,oBACY,MAAnBtP,EAAMgQ,SACfhQ,EAAMsP,UAAU,mBAAoB,MAAM,GAE1CtP,EAAMkD,YAIJkM,EAAU,SAACxM,GACfA,EAAEqN,kBACF,IAAIrG,EAAuBrH,SAASsH,cAAc,gBAAkBtH,SAASsH,cAAc,kBAC3F,IAAI7J,EAAMgD,eAAgB4G,EAA1B,CACA,GAAIhH,EAAEiF,UAA0B,MAAdjF,EAAEO,QAGlB,OAFAP,EAAEsN,sBACFR,IAIF,OAAQ9M,EAAEO,SAER,KAAK,GAEH,OADAP,EAAEsN,iBACKlB,EAAUmB,QAAQC,QAE3B,KAAK,GAEH,OADAxN,EAAEsN,iBACKb,IAET,KAAK,IAEH,OADAzM,EAAEsN,iBACKX,IAET,KAAK,GAEH,OADA3M,EAAEsN,iBACKhN,IAET,KAAK,IAEH,OADAN,EAAEsN,iBACKR,IAET,KAAK,GAEH,OADA9M,EAAEsN,iBACKN,IAET,KAAK,IAEH,OADAhN,EAAEsN,iBACKH,IAET,KAAK,GAEH,OADAnN,EAAEsN,iBACKL,IAET,KAAK,IAIL,KAAK,GAEH,OADAjN,EAAEsN,iBACKV,IAET,KAAK,IAEH,OADA5M,EAAEsN,iBACKtM,OAMTyM,EAAerQ,EAAMU,KAAK8C,MAAM,4DAEpC,OACE,yBAAKhE,UAAU,QACb,yBAAKA,UAAU,QACb,kBAAC,KAAD,CAAM8Q,GAAG,KACP,yBAAKC,IAAI,wBAAwBC,IAAI,WAGzC,yBAAKhR,UAAU,YAAYC,KAAK,QAAQgR,aAAW,eACjD,2BAAOzS,KAAK,OAAOwB,UAAU,SAASkR,UAAQ,EAACpG,SAxFtC,SAAC1H,GACgB,IAA1BA,EAAE2H,OAAO0D,MAAMhK,QAInBjE,EAAM2Q,OAAO/N,EAAE2H,OAAO0D,QAmF+ClE,IAAKiF,IACtE,4BAAQhR,KAAK,SAASwB,UAAU,gBAAgByG,GAAG,SAASlF,QAAS,kBAAMiO,EAAUmB,QAAQC,UAC1FzR,EAAKiS,QAER,4BAAQ5S,KAAK,SAASwB,UAAU,oBAAoBuB,QAASsO,GAC1D1Q,EAAK,aAER,4BAAQX,KAAK,SAASwB,UAAU,sBAAsBuB,QAASsO,EAASwB,MAAOlS,EAAK,aAClF,kBAAC,IAAD,CAAiB8G,KAAK,OAAOjG,UAAU,eAEzC,4BAAQxB,KAAK,SAASwB,UAAU,oBAAoBuB,QAASwO,GAC1D5Q,EAAK,YAER,4BAAQX,KAAK,SAASwB,UAAU,sBAAsBuB,QAASwO,EAAcsB,MAAOlS,EAAK,YACvF,kBAAC,IAAD,CAAiB8G,KAAK,SAASjG,UAAU,uBAE3C,4BAAQxB,KAAK,SAASwB,UAAU,oBAAoBuB,QAASmC,GAC1DvE,EAAKmS,UAER,4BAAQ9S,KAAK,SAASwB,UAAU,sBAAsBuB,QAASmC,EAAU2N,MAAOlS,EAAKmS,UACnF,kBAAC,IAAD,CAAiBrL,KAAK,WAAWjG,UAAU,mBAE7C,4BAAQxB,KAAK,SAASwB,UAAU,oBAAoBuB,QAAS2O,GAC1D/Q,EAAKoS,QAER,4BAAQ/S,KAAK,SAASwB,UAAU,sBAAsBuB,QAAS2O,EAAQmB,MAAOlS,EAAKoS,QACjF,kBAAC,IAAD,CAAiBtL,KAAK,SAASjG,UAAU,iBAE3C,4BAAQxB,KAAK,SAASwB,UAAU,oBAAoBuB,QAAS6C,GAC1DjF,EAAKqS,QAER,4BAAQhT,KAAK,SAASwB,UAAU,sBAAsBuB,QAAS6C,EAAaiN,MAAOlS,EAAKqS,QACtF,kBAAC,IAAD,CAAiBvL,KAAK,OAAOjG,UAAU,eAEzC,4BAAQxB,KAAK,SAASwB,UAAU,oBAAoBuB,QAASgP,GAC1DpR,EAAKsS,MAER,4BAAQjT,KAAK,SAASwB,UAAU,sBAAsBuB,QAASgP,EAAMc,MAAOlS,EAAKsS,MAC/E,kBAAC,IAAD,CAAiBxL,KAAK,OAAOjG,UAAU,eAEzC,4BAAQxB,KAAK,SAASwB,UAAU,oBAAoBuB,QAAS6O,GAC1DjR,EAAKuS,MAER,4BAAQlT,KAAK,SAASwB,UAAU,sBAAsBuB,QAAS6O,EAAMiB,MAAOlS,EAAKuS,MAC/E,kBAAC,IAAD,CAAiBzL,KAAK,QAAQjG,UAAU,gBAEzC6Q,EAAe,KACd,4BAAQrS,KAAK,SAASwB,UAAU,oBAAoBuB,QAAS8O,GAC1DlR,EAAKwS,SAGTd,EAAe,KACd,4BAAQrS,KAAK,SAASwB,UAAU,sBAAsBuB,QAAS8O,EAASgB,MAAOlS,EAAKwS,SAClF,kBAAC,IAAD,CAAiB1L,KAAK,OAAOjG,UAAU,eAG1C6Q,EACC,4BAAQrS,KAAK,SAASwB,UAAU,oBAAoBuB,QAAS+O,GAC1DnR,EAAKyS,SAEN,KACHf,EACC,4BAAQrS,KAAK,SAASwB,UAAU,sBAAsBuB,QAAS+O,EAASe,MAAOlS,EAAKyS,SAClF,kBAAC,IAAD,CAAiB3L,KAAK,WAAWjG,UAAU,eAE3C,KACJ,4BAAQxB,KAAK,SAASwB,UAAU,2BAA2BuB,QAASyO,GACjE7Q,EAAK0S,QAER,4BAAQrT,KAAK,SAASwB,UAAU,sBAAsBuB,QAASyO,EAAYqB,MAAOlS,EAAK0S,QACrF,kBAAC,IAAD,CAAiB5L,KAAK,QAAQjG,UAAU,mB,uCCnQ5C8R,GAAS9H,OAAO+H,SAASC,OAAS,4BAEjC,SAASC,GAAeC,GAC7B,OAAOC,KAAMC,IAAIF,GAkCZ,SAASG,GAAgBP,EAAQrQ,GACtC,OAAO0Q,KAAMC,IAAN,UAAaN,EAAb,eAA0BQ,GAAW7Q,GAArC,eAGF,SAAS8Q,GAAQ9Q,GACtB,OAAO0Q,KAAMC,IAAN,UAAaN,GAAb,kBAA6BrQ,EAA7B,eAiCF,SAAS6Q,GAAW7Q,GAGzB,OAFgBA,EAAKS,MAAM,KACCI,KAAK,OAc5B,SAASkQ,GAAYN,EAAKzQ,EAAMwO,GACrC,IAAKA,EAAUxL,OACb,OAAO,EAGT,IAAMgO,EAAgBxC,EAAUxN,KAAI,SAAAC,GAAI,OACtCuP,GAAe,GAAD,OAAIC,EAAJ,gBAAezQ,EAAf,cAAyBiB,EAAzB,gBAAqCjB,EAArC,yBACXiR,MAAK,kBAGV,OAAOC,QAAQC,IAAIH,GAGd,SAASI,GAAUX,EAAKzQ,EAAMqR,EAAY7C,GAC/C,IAAKA,EAAUxL,OACb,OAAO,EAGT,IAAMgO,EAAgBxC,EAAUxN,KAAI,SAAAC,GAAI,OACtCuP,GAAe,GAAD,OAAIC,EAAJ,gBAAezQ,EAAf,cAAyBiB,EAAzB,wBAA6CoQ,EAA7C,sBACXJ,MAAK,kBAGV,OAAOC,QAAQC,IAAIH,GAGd,SAASM,GAAUb,EAAKzQ,EAAMqR,EAAY7C,GAC/C,IAAKA,EAAUxL,OACb,OAAO,EAGT,IAAMgO,EAAgBxC,EAAUxN,KAAI,SAAAC,GAAI,OACtCuP,GAAe,GAAD,OAAIC,EAAJ,gBAAezQ,EAAf,cAAyBiB,EAAzB,qBAA0CA,EAA1C,gBAAsDjB,EAAtD,uBAAyEqR,EAAzE,sBACXJ,MAAK,kBAGV,OAAOC,QAAQC,IAAIH,G,YCjHfX,I,MAAS9H,OAAO+H,SAASC,OAAS,6BAClCgB,G,kDACJ,WAAYxS,GAAQ,IAAD,8BACjB,cAAMA,IA0BRsG,0BAA4B,WAC1B,IAAK,EAAKtG,MAAMzB,QAAQK,SAAU,OAAO,EAAKoB,MAAMmB,QAAQG,KAAK,WDtC9D,SAAmBmR,EAAatR,EAASgG,GAC9C,IAAMuL,EAAoBC,KAAYC,MAAMzR,EAAQoQ,SAAS7N,OAAQ,CAAEmP,mBAAmB,IAE1F,GAAIH,EAAkBzR,KAIpB,OAHAsF,aAAaS,QAAQ,eAAgB,QACrCT,aAAaS,QAAQ,eAAgB0L,EAAkBzR,WACvDsF,aAAaS,QAAQ,gBAAiB0L,EAAkBzR,MAI1D,GAAyC,OAArCsF,aAAaC,QAAQ,aAAwBiM,IAAgBlM,aAAaC,QAAQ,YAKpF,OAJAD,aAAaS,QAAQ,WAAYyL,GACjClM,aAAaS,QAAQ,eAAgB,QACrCT,aAAaS,QAAQ,eAAgBG,QACrCZ,aAAaS,QAAQ,gBAAiBG,GAIxC,GAA6C,OAAzCZ,aAAaC,QAAQ,iBAAqE,OAAzCD,aAAaC,QAAQ,iBAAsE,OAA1CD,aAAaC,QAAQ,iBAA2B,CACpJ,IAAIvF,EAAOE,EAAQoQ,SAAS7N,OAAOoP,UAAU,GAAGpR,MAAM,KACtD6E,aAAaS,QAAQ,eAAgB,QACrCT,aAAaS,QAAQ,eAAgB/F,GACrCsF,aAAaS,QAAQ,gBAAiBG,ICkBtC4L,CAAa,EAAKjV,MAAM2U,YAAa,EAAKzS,MAAMmB,QAAS,EAAKnB,MAAMX,aAAahB,KAAK0D,MACtF,IAAIiR,EDmCuC,SAAzCzM,aAAaC,QAAQ,gBACLD,aAAaC,QAAQ,gBAEW,UAAzCD,aAAaC,QAAQ,gBACZD,aAAaC,QAAQ,sBADlC,ECrCL,EAAKE,SAAS,CACZsM,cACAP,YAAa,EAAKzS,MAAMX,aAAahB,KAAK0D,KAC1CkR,SAAS,2BAAM,EAAKnV,MAAMmV,UAAlB,IAA4BhS,KAAM,EAAKjB,MAAMX,aAAahB,KAAK0D,OACvEmR,UAAU,2BAAM,EAAKpV,MAAMoV,WAAlB,IAA6BjS,KAAM,EAAKjB,MAAMX,aAAahB,KAAK0D,SAE3E,EAAKoR,4BAtCY,EAyCnB7Q,kBAAoB,WAClBkH,OAAOhH,iBAAiB,UAAW,EAAK4Q,kBACxC5J,OAAOhH,iBAAiB,UAAW,EAAK6Q,uBACxC9Q,SAASC,iBAAiB,UAAW,EAAK8Q,iBAEtC/M,aAAaC,QAAQ,iBACvB,EAAKE,SAAS,CAAE6M,aAAchN,aAAaC,QAAQ,mBA/CpC,EAmDnB9D,qBAAuB,WACrB8G,OAAO7G,oBAAoB,UAAW,EAAKyQ,kBAC3C5J,OAAO7G,oBAAoB,UAAW,EAAK0Q,uBAC3C9Q,SAASI,oBAAoB,UAAW,EAAK2Q,kBAtD5B,EAyDnBE,WAAa,WACXjN,aAAaS,QAAQ,eAAgB,EAAKlJ,MAAMyV,cAChDhN,aAAaS,QAAQ,eAAgB,EAAKlJ,MAAMmV,SAAShS,MACzDsF,aAAaS,QAAQ,gBAAiB,EAAKlJ,MAAMoV,UAAUjS,OA5D1C,EA+DnBwS,cAAgB,SAAAC,GAAO,OAAI,IAAIvB,SAAQ,SAAAwB,GAAO,OAAI,EAAKjN,SAASgN,EAASC,OA/DtD,EAiEnBR,yBAjEmB,sBAiEQ,sBAAA9K,EAAA,4DACzB,CAAC,WAAY,aAAapG,IAA1B,uCAA8B,WAAO2R,GAAP,mBAAAvL,EAAA,sEDjDOiJ,ECkDcA,GDlDN7K,ECkDtB,UAAuCmN,EAAvC,QDjDlBjC,KAAMC,IAAN,UAAaN,EAAb,eAA0BQ,GAAWvL,aAAaC,QAAQC,IAA1D,eCgDyB,cACtBuC,EADsB,OAExB/H,EAAOsF,aAAaC,QAAb,UAAwBoN,EAAxB,SACPjM,EAAUqB,EAAOlG,KAAK6E,QAHE,SAItB,EAAK8L,cAAL,eAAsBG,EAAO,CAAE3F,MAAO,CAAEtG,WAAW1G,UAJ7B,iCDjD3B,IAAkCqQ,EAAQ7K,ICiDf,OAA9B,uDADyB,SAQnB,EAAKgN,cAAc,CAAEtK,SAAS,IARX,2CAjER,EA4EnB0I,gBAAkB,WAAO,IAAD,EACU,EAAK/T,MAA7BmV,EADc,EACdA,SAAUC,EADI,EACJA,UAClBf,QAAQC,IAAI,CAACW,GAAmBzB,GAAQ2B,EAAShS,MAAO8R,GAAmBzB,GAAQ4B,EAAUjS,QAC1FiR,MAAK,SAAAlJ,GAAW,IAAD,cACgCA,EADhC,GACP6K,EADO,KACWC,EADX,KAEVC,EAAcF,EAAiB/Q,KAAK6E,QACpCqM,EAAeF,EAAkBhR,KAAK6E,QAE1C,EAAKjB,SAAS,CAAEuM,SAAS,2BAAMA,GAAP,IAAiBhF,MAAO,CAAEtG,QAASoM,KAAiBb,UAAU,2BAAMA,GAAP,IAAkBjF,MAAO,CAAEtG,QAASqM,KAAkB7K,SAAS,IAEpJ,EAAK8J,SAASlL,YACd,EAAKmL,UAAUnL,gBAvFF,EA2FnBsL,sBAAwB,SAACzQ,GAAO,IAAD,EAC8B,EAAK9E,MAAxDyV,EADqB,EACrBA,aAAcL,EADO,EACPA,UAAWD,EADJ,EACIA,SAAUD,EADd,EACcA,YAEvC,EAAKlV,MAAMkF,cAIG,IAAdJ,EAAEO,UACJP,EAAEsN,iBACmB,SAAjBqD,GACF,EAAK7M,SAAS,CAAE6M,aAAc,QAASP,YAAaE,EAAUjS,OAC9D,EAAKiS,UAAU3L,aAEf,EAAKb,SAAS,CAAE6M,aAAc,OAAQP,YAAaC,EAAShS,OAC5D,EAAKgS,SAAS1L,YAEhB,EAAK0M,YAAYjB,GACjB,EAAKQ,eA5GU,EAgHnBtK,cAAgB,SAACzB,GACf,EAAKf,SAAS,CAAEe,mBAjHC,EAoHnBL,iBAAmB,SAACX,GAClB,EAAKC,SAAS,CAAE6M,aAAc9M,KArHb,EAwHnB2M,iBAAmB,SAACxQ,GACd,EAAK9E,MAAMkF,eAIG,KAAdJ,EAAEO,SACJ,EAAKuD,SAAS,CAAE6M,aAAc,QAASP,YAAa,EAAKlV,MAAMoV,UAAUjS,OACzE,EAAKgT,YAAY,EAAKnW,MAAMkV,aAC5B,EAAKE,UAAU3L,WACf,EAAKiM,cACkB,KAAd5Q,EAAEO,UACX,EAAKuD,SAAS,CAAE6M,aAAc,OAAQP,YAAa,EAAKlV,MAAMmV,SAAShS,OACvE,EAAKgT,YAAY,EAAKnW,MAAMkV,aAC5B,EAAKC,SAAS1L,WACd,EAAKiM,gBAtIU,EA0InB/B,eA1ImB,uCA0IF,WAAOC,GAAP,eAAArJ,EAAA,sEACT,EAAKoL,cAAc,CAAEtK,SAAS,IADrB,uBAEM4J,GAAkBrB,GAFxB,QAEXwC,EAFW,QAGFpR,KAAKkG,OAChB,EAAK6I,kBAEL,EAAKsC,UAAUD,EAASpR,KAAKsR,SANhB,2CA1IE,wDAoJnBD,UAAY,SAACzV,GACX2V,IAAM3V,MAAMA,EAAO,CACjB4V,SAAU,aACVC,UAAW,IACXC,iBAAiB,EACjBC,cAAc,EACdC,cAAc,EACdC,WAAW,IAEb,EAAKjO,SAAS,CAAEyC,SAAS,KA7JR,EAgKnBjG,SAAW,WAAO,IAAD,EAC2B,EAAKpF,MAAvCmF,EADO,EACPA,OAAQ+P,EADD,EACCA,YAAa4B,EADd,EACcA,SAEd,IAAX3R,GACFuG,OAAOqL,KAAK,+BAAiC7B,EAAc,IAAM4B,IApKlD,EAwKnBE,sBAAwB,SAACC,GAAmB,IAAD,EACK,EAAKjX,MAA3CyV,EADiC,EACjCA,aAAcN,EADmB,EACnBA,SAAUC,EADS,EACTA,UADS,ED3ItC,SAA+B6B,EAAexB,EAAcyB,EAAcC,GAK/E,IAJA,IAAIC,EAAoB,GACpBC,EAAoB,GACpBC,EAAW,GAEN9Q,EAAI,EAAGA,EAAIyQ,EAAc9Q,OAAQK,IACxC4Q,EAAkB5T,KAAKyT,EAAczQ,IAGvC,GAAqB,SAAjBiP,EACF,IAAK,IAAIjP,EAAI,EAAGA,EAAI4Q,EAAkBjR,OAAQK,IACxC0Q,EAAa/S,KAAI,SAACC,GAAW,OAAOA,EAAKxB,QAAQ2U,SAASH,EAAkB5Q,GAAG5D,MACjFyU,EAAkB7T,KAAK4T,EAAkB5Q,IAEzC8Q,EAAS9T,KAAK4T,EAAkB5Q,SAIpC,IAAK,IAAIA,EAAI,EAAGA,EAAI4Q,EAAkBjR,OAAQK,IACxC2Q,EAAchT,KAAI,SAACC,GAAW,OAAOA,EAAKxB,QAAQ2U,SAASH,EAAkB5Q,GAAG5D,MAClFyU,EAAkB7T,KAAK4T,EAAkB5Q,IAEzC8Q,EAAS9T,KAAK4T,EAAkB5Q,IAKtC,MAAO,CAAE6Q,oBAAmBC,YCkHcrC,CAAyBgC,EAAexB,EAAcN,EAAShF,MAAMtG,QAASuL,EAAUjF,MAAMtG,SAA9HwN,EAFiC,EAEjCA,kBAAmBC,EAFc,EAEdA,SAEM,IAA7BD,EAAkBlR,QACpB,EAAK0K,MAAM,UAAWwG,GACtB,EAAKxE,OAAOyE,IAEZ,EAAKzE,OAAOoE,IAhLG,EAoLnBO,aAAe,SAACP,GACd,IAAK,IAAIzQ,EAAI,EAAGA,EAAIyQ,EAAc9Q,OAAQK,IACxC,EAAKmN,eAAL,UAAuBH,GAAvB,gBAAqCyB,GAAc,EAAKjV,MAAMkV,aAA9D,cAAgF+B,EAAczQ,GAAG5D,KAAjG,gBAA6GqS,GAAc,EAAKjV,MAAMkV,aAAtI,yBAGF,EAAKrC,OAAOoE,IAzLK,EA4LnBpE,OAAS,SAACoE,GACR,IAAMQ,EAAW,IAAIC,SAErB,GAA6B,IAAzBT,EAAc9Q,OAAlB,CAIA,IAAK,IAAIK,EAAI,EAAGA,EAAIyQ,EAAc9Q,OAAQK,IACxCiR,EAASE,OAAO,UAAWV,EAAczQ,GAAIyQ,EAAczQ,GAAG5D,MAGhE,EAAKgG,SAAS,CAAEyC,SAAS,IAAQ,WAC/BwI,KAAM+D,KAAN,UAAclM,OAAO+H,SAASC,OAA9B,+BAA2D,EAAK1T,MAAMkV,aAAeuC,EAAU,CAC7FI,iBAAkB,SAAAC,GAChB,IAAIC,EAAgBtR,KAAKuR,MAAMF,EAAcG,OAASH,EAAcI,MAAQ,KAC5E,EAAKtP,SAAS,CAAEmP,qBAEjB3D,MAAK,WACN,EAAKxL,SAAS,CAAEmP,cAAe,MAC/B,EAAKhE,0BA/MQ,EAoNnBoE,SApNmB,sBAoNR,kCAAA5N,EAAA,2DACwC,EAAKvK,MAA9C2J,EADC,EACDA,cAAemN,EADd,EACcA,SAAU5B,EADxB,EACwBA,cAC7BvL,EAAcxD,OAAS,GAFlB,iCAGD,EAAKwP,cAAc,CAAEtK,SAAS,IAH7B,uBAID4J,GAAezB,GAAQyB,GAAcC,GAAcvL,GAJlD,uBAKD,EAAKgM,cAAc,CAAEhM,cAAe,KALnC,OAMP,EAAKoK,kBANE,wBAQP,EAAKJ,eAAL,UAAuBH,GAAvB,gBAAqCyB,GAAcC,GAAnD,cAAqE4B,EAArE,gBAAqF7B,GAAcC,GAAnG,yBARO,4CApNQ,EAgOnB3D,QAAU,WACR,IAAI3O,EAAO,EAAKwV,aAAajY,MAC7B,EAAKwT,eAAL,UAAuBH,GAAvB,oBAAyC5Q,EAAzC,gBAAqDqS,GAAc,EAAKjV,MAAMkV,aAA9E,yBAlOiB,EAqOnBmD,OAAS,WACP,IAAIzV,EAAO,EAAKwV,aAAajY,MAC7B,EAAKwT,eAAL,UAAuBH,GAAvB,mBAAwC5Q,EAAxC,gBAAoDqS,GAAc,EAAKjV,MAAMkV,aAA7E,wBAvOiB,EA0OnBoD,SAAW,WAAO,IAAD,EAC8C,EAAKtY,MAA1DuY,EADO,EACPA,gBAAiBrG,EADV,EACUA,SAAU4E,EADpB,EACoBA,SAAU5B,EAD9B,EAC8BA,YACzCtS,EAAO2V,EACM,MAAbrG,EACF,EAAKyB,eAAL,UAAuBH,GAAvB,gBAAqCsD,EAArC,wBAA6DlU,EAA7D,gBAAyEqS,GAAcC,GAAvF,wBACsB,MAAbhD,GACT,EAAKyB,eAAL,UAAuBH,GAAvB,gBAAqCsD,EAArC,wBAA6DlU,EAA7D,gBAAyEqS,GAAcC,GAAvF,iCAhPe,EAoPnBvE,oBAAsB,WACpB,IAAI7K,EAAc,EAAK9F,MAAMuY,gBAC7B,EAAK5E,eAAL,UAAuBH,GAAvB,eAAoCyB,GAAc,EAAKjV,MAAMkV,aAA7D,oBAAqF,EAAKlV,MAAM8W,SAAhG,wBAAwHhR,EAAxH,uBACA,EAAK8C,SAAS,CAAE4P,gBAAiB1S,KAvPhB,EA0PnB2S,YAAc,WACZ,IAAI7V,EAAO,EAAKwV,aAAajY,MAEzB,EAAKH,MAAM2J,cAAcxD,OAAS,EACpC,EAAKyC,SAAS,CAAEyC,SAAS,IAAQ,WAE/B,IADA,IAAI+B,EAAQ,GACH5G,EAAI,EAAGA,EAAI,EAAKxG,MAAM2J,cAAcxD,OAAQK,IAAK,CACxD,IAAIrD,EAAI,UAAM,EAAKnD,MAAMkV,YAAjB,KACR9H,EAAM5J,KAAKL,GAAQ,EAAKnD,MAAM2J,cAAcnD,IAE9C,EAAKmN,eAAL,UAAuBH,GAAvB,iBAAsCpG,EAAtC,qBAAwD6H,GAAcrS,GAAtE,sBACA,EAAKgG,SAAS,CAAEe,cAAe,QAGjC,EAAKgK,eAAL,UAAuBH,GAAvB,iBAAsCyB,GAAc,EAAKjV,MAAMkV,aAA/D,cAAiF,EAAKlV,MAAM8W,SAA5F,qBAAiH7B,GAAcrS,GAA/H,uBAxQe,EA4QnB8V,YAAc,WACZ,IAAI9V,EAAO,EAAKwV,aAAajY,MAC7B,EAAKwT,eAAL,UAAuBH,GAAvB,gBAAqCyB,GAAc,EAAKjV,MAAMkV,aAA9D,cAAgF,EAAKlV,MAAM8W,SAA3F,qBAAgH,EAAK9W,MAAM8W,SAA3H,gBAA2I7B,GAAc,EAAKjV,MAAMkV,aAApK,uBAA+LtS,EAA/L,yBA9QiB,EAiRnB+V,SAjRmB,sBAiRR,oCAAApO,EAAA,2DACwC,EAAKvK,MAA9CkV,EADC,EACDA,YAAavL,EADZ,EACYA,cAAemN,EAD3B,EAC2BA,SAChC8B,EAAY,EAAKR,aAAajY,QAE9BwJ,EAAcxD,OAAS,GAJlB,iCAKD,EAAKwP,cAAc,CAAEtK,SAAS,IAL7B,uBAMD4J,GAAazB,GAAQyB,GAAcC,GAAc0D,EAAWjP,GAN3D,uBAOD,EAAKgM,cAAc,CAAEhM,cAAe,KAPnC,OAQP,EAAKoK,kBARE,wBAUP,EAAKJ,eAAL,UAAuBH,GAAvB,gBAAqC0B,EAArC,cAAsD4B,EAAtD,wBAA8E8B,EAA9E,sBAVO,4CAjRQ,EA+RnBC,SA/RmB,sBA+RR,oCAAAtO,EAAA,2DACwC,EAAKvK,MAA9CkV,EADC,EACDA,YAAavL,EADZ,EACYA,cAAemN,EAD3B,EAC2BA,SAChC8B,EAAY,EAAKR,aAAajY,QAE9BwJ,EAAcxD,OAAS,GAJlB,iCAKD,EAAKwP,cAAc,CAAEtK,SAAS,IAL7B,uBAMD4J,GAAazB,GAAQyB,GAAcC,GAAc0D,EAAWjP,GAN3D,uBAOD,EAAKgM,cAAc,CAAEhM,cAAe,KAPnC,OAQP,EAAKoK,kBARE,wBAUP,EAAKJ,eAAL,UAAuBH,GAAvB,gBAAqC0B,EAArC,cAAsD4B,EAAtD,qBAA2EA,EAA3E,gBAA2F5B,EAA3F,uBAAqH0D,EAArH,sBAVO,4CA/RQ,EA6SnBzC,YAAc,SAAChT,GACb,EAAKjB,MAAMmB,QAAQG,KAAK,CACtBmC,SAAU,mBACVC,OAAO,SAAD,OAAWzC,MAhTF,EAoTnBC,cAAgB,WACd,EAAKwF,SAAS,CAAEyC,SAAS,IAAQ,WAC/B,EAAK0I,kBACL,EAAK2B,iBAvTU,EA2TnBrL,qBAAuB,WACrB,EAAKzB,SAAS,CAAEyC,SAAS,IAAQ,WAC/B,EAAK0I,kBACL,EAAK2B,iBA9TU,EAkUnBvM,SAAW,WAAO,IAAD,EACPsM,EAAiB,EAAKzV,MAAtByV,aAEJ9M,EAAI,eAAQ,EAAK3I,MAAL,UAAcyV,EAAd,UAChB9M,EAAKxF,KAAOwF,EAAKxF,KAAK6R,UAAU,EAAGrM,EAAKxF,KAAK2V,YAAY,MACzD,EAAKlQ,UAAL,6BAAoB6M,EAApB,QAAyC9M,GAAzC,4BAA4DA,EAAKxF,MAAjE,IACA,EAAKjB,MAAMmB,QAAQG,KAAK,CAAEoC,OAAO,SAAD,OAAW+C,EAAKxF,QAChD,EAAKC,iBAzUY,EA4UnBgH,UAAY,SAACxH,GAAU,IAAD,EACZ6S,EAAiB,EAAKzV,MAAtByV,aAEJsD,EAAU,eAAQ,EAAK/Y,MAAL,UAAcyV,EAAd,UAClBuD,EAAUD,EAAW5V,KACzB4V,EAAW5V,KAAX,UAAqB6V,EAArB,YAAgCpW,GAChC,EAAKgG,UAAL,6BAAoB6M,EAApB,QAAyCsD,GAAzC,4BAAkEA,EAAW5V,MAA7E,KAlViB,EAqVnB8V,iBAAmB,SAACV,GAClB,EAAK3P,SAAS,CAAE2P,qBAtVC,EAyVnBhP,sBAAwB,SAAC2L,GACvB,EAAKtM,SAAS,CAAEsM,iBA1VC,EA6VnB1P,WAAa,SAAC0P,GACoB,SAA5B,EAAKlV,MAAMyV,aACb,EAAK7M,SAAS,CAAEuM,SAAU,CAAEhF,MAAM,eAAM,EAAKnQ,MAAMmV,SAAShF,OAAShN,KAAM+R,GAAeA,gBAE1F,EAAKtM,SAAS,CAAEwM,UAAW,CAAEjF,MAAM,eAAM,EAAKnQ,MAAMoV,UAAUjF,OAAShN,KAAM+R,GAAeA,iBAjW7E,EAqWnBzL,SAAW,SAACtE,EAAQ2R,EAAU0B,EAAiBtG,GAC7C,EAAKtJ,SAAS,CAAEzD,SAAQ2R,WAAU0B,kBAAiBtG,cAtWlC,EAyWnB1B,WAAa,WACX,EAAK5H,SAAS,CAAE1D,cAAc,KA1Wb,EA6WnBsQ,gBAAkB,SAAC1Q,GACb,EAAK9E,MAAMkF,cAIG,KAAdJ,EAAEO,SACJ,EAAKkL,WAnXU,EAuXnBA,QAAU,WACwB,aAA5B,EAAKvQ,MAAMkZ,aACb,EAAKtQ,SAAS,CAAEsQ,aAAc,WAE9B,EAAKtQ,SAAS,CAAEsQ,aAAc,cA3Xf,EA+XnBrI,MAAQ,SAAC3Q,EAAMkN,EAAO+L,GAAe,IAAD,EAC+B,EAAKnZ,MAA9DkF,EAD0B,EAC1BA,aAAc4R,EADY,EACZA,SAAU0B,EADE,EACFA,gBAAiBtD,EADf,EACeA,YACjD,OAAQhV,GACN,IAAK,OAAQ,OAAO,EAAK0I,SAAS,CAAEwQ,YAAa,kBAAC,GAAD,CAAOlU,aAAcA,EAAchF,KAAMA,EAAM8M,MAAO8J,EAAU3T,KAAM+R,EAAajS,QAAS,EAAK4V,SAAUzL,MAAOA,EAAOsD,QAAS,EAAKF,WAAYI,cAAe,EAAKqI,iBAAkBrN,UAAW,SAACyN,GAAD,OAAS,EAAKjB,aAAeiB,KAASnU,cAAc,IACzS,IAAK,OAAQ,OAAO,EAAK0D,SAAS,CAAEwQ,YAAa,kBAAC,GAAD,CAAOlU,aAAcA,EAAchF,KAAMA,EAAM8M,MAAO8J,EAAU3T,KAAM+R,EAAajS,QAAS,EAAK0V,SAAUvL,MAAOA,EAAOsD,QAAS,EAAKF,WAAYI,cAAe,EAAKqI,iBAAkBrN,UAAW,SAACyN,GAAD,OAAS,EAAKjB,aAAeiB,KAASnU,cAAc,IACzS,IAAK,UAAW,OAAO,EAAK0D,SAAS,CAAEwQ,YAAa,kBAAC,GAAD,CAAOlU,aAAcA,EAAchF,KAAMA,EAAM8M,MAAO8J,EAAU7T,QAAS,EAAKyV,YAAahI,QAAS,EAAKF,WAAYI,cAAe,EAAKqI,iBAAkB9V,KAAM+R,EAAatJ,UAAW,SAACyN,GAAD,OAAS,EAAKjB,aAAeiB,KAASnU,cAAc,IACjS,IAAK,UAAW,OAAO,EAAK0D,SAAS,CAAEwQ,YAAa,kBAAC,GAAD,CAAOlU,aAAcA,EAAchF,KAAMA,EAAM8M,MAAO8J,EAAU7T,QAAS,EAAKwV,YAAarL,MAAOA,EAAOsD,QAAS,EAAKF,WAAYI,cAAe,EAAKqI,iBAAkB9V,KAAM+R,EAAatJ,UAAW,SAACyN,GAAD,OAAS,EAAKjB,aAAeiB,KAASnU,cAAc,IAC/S,IAAK,cAAe,OAAO,EAAK0D,SAAS,CAAEwQ,YAAa,kBAAC,GAAD,CAAOlU,aAAcA,EAAchF,KAAMA,EAAM8M,MAAO8J,EAAU7T,QAAS,EAAK0N,oBAAqBD,QAAS,EAAKF,WAAYG,oBAAqB,EAAKsI,iBAAkBnT,YAAa0S,IAAqBtT,cAAc,IACjR,IAAK,SAAU,OAAO,EAAK0D,SAAS,CAAEwQ,YAAa,kBAAC,GAAD,CAAOlU,aAAcA,EAAchF,KAAMA,EAAM8M,MAAO8J,EAAUlG,cAAe,EAAKqI,iBAAkBhW,QAAS,EAAKqV,SAAU5H,QAAS,EAAKF,WAAY5E,UAAW,SAACyN,GAAD,OAAS,EAAKjB,aAAeiB,KAASnU,cAAc,IAC1Q,IAAK,gBAAiB,OAAO,EAAK0D,SAAS,CAAEwQ,YAAa,kBAAC,GAAD,CAAOlU,aAAcA,EAAchF,KAAMA,EAAM+C,QAAS,EAAKoV,OAAQ3H,QAAS,EAAKF,WAAY5E,UAAW,SAACyN,GAAD,OAAS,EAAKjB,aAAeiB,KAASnU,cAAc,IACxN,IAAK,WAAY,OAAO,EAAK0D,SAAS,CAAEwQ,YAAa,kBAAC,GAAD,CAAOlU,aAAcA,EAAchF,KAAMA,EAAM+C,QAAS,EAAKsO,QAASb,QAAS,EAAKF,WAAY5E,UAAW,SAACyN,GAAD,OAAS,EAAKjB,aAAeiB,KAASnU,cAAc,IACpN,IAAK,SAAU,OAAO,EAAK0D,SAAS,CAAEwQ,YAAa,kBAAC,GAAD,CAAOlU,aAAcA,EAAchF,KAAMA,EAAM8M,MAAO8J,EAAU7T,QAAS,EAAKkV,SAAUzH,QAAS,EAAKF,WAAYpD,MAAOA,IAAWlI,cAAc,IACrM,IAAK,mBAAoB,OAAO,EAAK0D,SAAS,CAAEwQ,YAAa,kBAAC,GAAD,CAAOlU,aAAcA,EAAcoI,aAAc6L,EAAWjZ,KAAMA,EAAMwQ,QAAS,EAAKF,WAAYvN,QAAS,EAAKuN,aAAgBtL,cAAc,IAC3M,IAAK,UAAW,OAAO,EAAK0D,SAAS,CAAEwQ,YAAa,kBAAC,GAAD,CAAOlU,aAAcA,EAAchF,KAAMA,EAAMiQ,MAAO/C,EAAOnK,QAAS,SAACkN,GAAD,OAAW,EAAKqH,aAAarH,IAAQO,QAAS,EAAKF,aAAgBtL,cAAc,MA1Y7M,EAAKlF,MAAQ,CACXmV,SAAU,CACRhS,KAAM,GACNgN,MAAO,CAAEtG,QAAS,KAEpBuL,UAAW,CACTjS,KAAM,GACNgN,MAAO,CAAEtG,QAAS,KAEpBqL,YAAa,GACbP,YAAa,GACbc,aAAc,OACd2D,YAAa,KACblU,cAAc,EACdC,OAAQ,EACR2R,SAAU,GACV0B,gBAAiB,GACjBtG,SAAU,GACVvI,cAAe,GACf4O,gBAAiB,GACjBR,cAAe,IACf1M,SAAS,GAvBM,E,qDAkZT,IAAD,SACwGpD,KAAKjI,MAA5GyV,EADD,EACCA,aAAc2D,EADf,EACeA,YAAalU,EAD5B,EAC4BA,aAAcyE,EAD1C,EAC0CA,cAAemN,EADzD,EACyDA,SAAUzL,EADnE,EACmEA,QAAS0M,EAD5E,EAC4EA,cAAe7F,EAD3F,EAC2FA,SAClG,OACE,yBAAKxQ,UAAU,UACb,kBAAC4X,GAAA,EAAD,KACE,+BAAQrR,KAAK/F,MAAMzB,QAAQI,KAAK,kBAEf,MAAlBkX,GAAyB,kBAAC,EAAD,CAAavM,SAAUuM,IACjD,kBAAC,IAAD,MACA,kBAAC,GAAD,CACEI,SAAUlQ,KAAKsR,oBACfrU,aAAcA,EACdE,SAAU6C,KAAK7C,SACfoM,UAAWvJ,KAAK4I,MAChBc,UAAWhI,EACXuI,SAAUA,EACVW,OAAQ5K,KAAK+O,sBACb7R,OAAQ8C,KAAKjI,MAAMmF,OACnBvC,KAAMkU,IACR,yBAAKpV,UAAU,mBACZuG,KAAK/F,MAAMzB,QAAQK,UAAY,CAAC,OAAQ,SAASqD,KAAI,SAAC2R,GAAD,OACpD,kBAAC,EAAD,CACEvM,sBAAuB,EAAKA,sBAC5Bc,qBAAsB,EAAKA,qBAC3B7H,SAAUiT,IAAiBK,EAC3B1S,cAAe,EAAKA,cACpBgI,cAAe,EAAKA,cACpBpG,KAAM,EAAKhF,MAAL,UAAc8V,EAAd,SAA0B3F,MAChClN,QAAS,EAAKqG,iBACd9D,WAAY,EAAKA,WACjBN,aAAcA,EACdkF,UAAW,EAAKA,UAChBjF,OAAQ,EAAKnF,MAAMmF,OACnBsE,SAAU,EAAKA,SACfJ,QAAS,EAAKnH,MAAMX,aAAahB,KAAK0D,KACtCgI,IAAK,SAAAuN,GAAE,OAAI,EAAK,GAAD,OAAI1D,EAAJ,SAAkB0D,GACjCpU,SAAU,EAAKA,SACf+D,SAAU,EAAKA,SACfhG,KAAM,EAAKnD,MAAL,UAAc8V,EAAd,SAA0B3S,KAChCE,QAAS,EAAKnB,MAAMmB,QACpBgI,QAASA,EACT1C,KAAMmN,OAEV,yBAAKpU,UAAU,oBACb,yBAAKA,UAAU,iBACb,4BAAQuB,QAAS,kBAAM,EAAKwW,YAAYC,UAAUC,OAAO,UACvD,kBAAC,IAAD,CAAiBhS,KAAK,kBAI5B,kBAAC,EAAD,CAASiE,UAAW,SAACyN,GAAD,OAAS,EAAKI,YAAcJ,GAAKrN,cAAe,kBAAM,EAAKyN,YAAYC,UAAUC,OAAO,YAE7GzU,GAAgBkU,O,GAvcChR,aAodXC,oBAPf,SAAyBrI,GACvB,MAAO,CACLS,QAAST,EAAMS,QACfc,aAAcvB,EAAMuB,gBAIT8G,CAAyBC,YAAWoM,K,oBCjWpCkF,I,8CArHA,SAAC,GAAqB,IAAnBlN,EAAkB,EAAlBA,MAAO9J,EAAW,EAAXA,KACf/B,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACFwC,EAAUC,cAFkB,EAGR8I,mBAAS,CACjCyN,KAAM,GACNxO,SAAS,IALuB,mBAG3BrL,EAH2B,KAGpB4I,EAHoB,KAQlCrF,qBAAU,WACRkB,SAASC,iBAAiB,UAAWoV,GAErC,IAAI3W,EAAI,UAAME,EAAQoQ,SAAS7N,OAAOoP,UAAU,EAAG3R,EAAQoQ,SAAS7N,OAAOkT,YAAY,MAA/E,YAAwFlW,GAqBhG,OApBAgG,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAE9B0O,EAAc5W,GACXiR,MAAK,SAAA4F,GACAA,EAAIhV,KAAKkG,OACX2I,KAAMC,IAAN,UAAapI,OAAO+H,SAASC,OAA7B,mCAA8DM,EAAW7Q,KACtEiR,MAAK,SAAAlJ,GACJ,GAAIA,EAAOlG,KAAKpE,MACd,OAAOqZ,EAAUD,EAAIhV,KAAKpE,OAG5BgI,EAAS,2BAAK5I,GAAN,IAAa6Z,KAAM3O,EAAOlG,KAAKgM,QAAS3F,SAAS,QAE1D6O,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,MAE9BtI,QAAQjR,MAAM,2CAGjBsZ,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,MAEvB,WACL1V,SAASI,oBAAoB,UAAWiV,MAEzC,IAEH,IAAMC,EAAgB,SAAA5W,GACpB,OAAO0Q,KAAMC,IAAN,UAAapI,OAAO+H,SAASC,OAA7B,wCAAmEvQ,EAAnE,6BAGH6Q,EAAa,SAAA7Q,GACjB,OAAOA,EAAKS,MAAM,KAAKI,KAAK,QAGxB8V,EAAS,SAAAhV,GACK,MAAdA,EAAEO,SACJuH,KAIEA,EAAO,WACX,IAAI6K,EAAW,IAAIC,SACfvU,EAAOE,EAAQoQ,SAAS7N,OAAOoP,UAAU,EAAG3R,EAAQoQ,SAAS7N,OAAOkT,YAAY,MAEpFrB,EAASE,OAAO,OAAQ,QACxBF,EAASE,OAAO,WAAY3X,EAAM6Z,MAElCjR,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAC9BwI,KAAM+D,KAAN,UAAclM,OAAO+H,SAASC,OAA9B,mCAA+DvQ,EAA/D,cAAyEP,GAAQ6U,GAC9ErD,MAAK,SAAA4F,GACAA,EAAIhV,KAAKpE,MACXqZ,EAAUD,EAAIhV,KAAKpE,OAEnBqZ,EAAU,uBAEZrR,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,QAE/B6O,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,OAG1BF,EAAY,SAAAG,GAChB7D,IAAM8D,QAAQD,EAAM,CAClB5D,SAAU,aACVC,UAAW,IACXC,iBAAiB,EACjBC,cAAc,EACdC,cAAc,EACdC,WAAW,KAsBXyD,EAAU,CACZC,KAf0B,WAG1B,OAFsB3X,EAAKgB,MAAM,KAAK4W,OAGpC,IAAK,KACL,IAAK,MAAO,MAAO,aACnB,IAAK,MAAO,MAAO,MACnB,IAAK,MACL,IAAK,OAAQ,MAAO,MACpB,IAAK,OAAQ,MAAO,YACpB,QAAS,MAAO,YAKZC,GACNC,aAAa,GAGf,OACE,yBAAKhZ,UAAU,UACb,kBAAC,IAAD,MACA,yBAAKA,UAAU,gBACb,4BAAQxB,KAAK,SAASwB,UAAU,kBAAkBuB,QAAS2J,GAAO/L,EAAK8Z,MACvE,4BAAQza,KAAK,SAASwB,UAAU,iBAAiBuB,QAASyJ,GAAQ7L,EAAK+Z,QAExE5a,EAAMqL,QAAU,kBAAC,EAAD,MAAc,kBAAC,KAAD,CAAYlL,MAAOH,EAAM6Z,KAAMrN,SA9B/C,SAAAqO,GACjBjS,EAAS,2BAAK5I,GAAN,IAAa6Z,KAAMgB,MA6B2DP,QAASA,EAASrN,WAAS,OCvBtG6N,I,mNAjGb9a,MAAQ,CACN+a,YAAa,EACbC,aAAc,GACd3P,SAAS,G,EAGX4P,SAAW,SAAC7W,GACV,OAAIA,EAAKsB,MAAM,SACN,MAEA,O,EAIXsO,WAAa,SAAC7Q,GACZ,IAAIe,EAAYf,EAAKS,MAAM,KAG3B,OAFAM,EAAUH,OAAOG,EAAUiC,OAAS,EAAG,GACvCjC,EAAUH,OAAO,EAAG,GACbG,EAAUF,KAAK,Q,EAGxBkX,WAAa,SAAC/X,GACZ,IAAIe,EAAYf,EAAKS,MAAM,KAE3B,OADAM,EAAUH,OAAOG,EAAUiC,OAAS,EAAG,GAChCjC,EAAUF,KAAK,M,EAGxBmX,mBAAqB,WAEnB,OADgB,EAAKnb,MAAMgb,aACZ7W,KAAI,SAACC,EAAMoC,GACxB,IAAM4U,EAAe3L,KAAW,CAAE,iBAAiB,EAAM,OAAUjJ,IAAM,EAAKxG,MAAM+a,cAIpF,OAHgB,yBAAKM,cAAY,gBAAgBC,gBAAe9U,EAAGnC,IAAKmC,EAAG9E,UAAU,aACnF,yBAAK+Q,IAAG,UAAK/G,OAAO+H,SAASC,OAArB,6BAAgD,EAAKwH,WAAW,EAAKhZ,MAAMiB,MAA3E,YAAoFiB,EAApF,aAAqGsO,IAAKlM,EAAG9E,UAAW0Z,S,EAMtIG,eAAiB,WAEf,OADgB,EAAKvb,MAAMgb,cAAgB,IAC5B7W,KAAI,SAACC,EAAMoC,GAAP,OACjB,yBAAK9E,UAAW8E,IAAM,EAAKxG,MAAM+a,YAAc,uBAAyB,gBAAiB1W,IAAKmC,GAC5F,yBAAK9E,UAAU,+DACb,yBAAKA,UAAW,EAAKuZ,SAAS7W,GAAOqO,IAAG,UAAK/G,OAAO+H,SAASC,OAArB,6BAAgD,EAAKwH,WAAW,EAAKhZ,MAAMiB,MAA3E,YAAoFiB,EAApF,aAAqGsO,IAAKlM,U,EAM1JmP,cAAgB,SAAAC,GAAO,OAAI,IAAIvB,SAAQ,SAAAwB,GAAO,OAAI,EAAKjN,SAASgN,EAASC,O,EAEzE2F,gB,sBAAkB,8BAAAjR,EAAA,sEACV,EAAKoL,cAAc,CAAEtK,SAAS,IADpB,uBAEK4J,GAAW,EAAKjB,WAAW,EAAK9R,MAAMiB,OAF3C,cAEV+H,EAFU,OAGZ8P,EAHY,YAGO,EAAKhb,MAAMgb,cAClC9P,EAAOlG,KAAK6E,QAAQkB,QAAO,SAAA3G,GAAI,OAAIA,EAAKxB,KAAK8C,MAAM,2BAA6BtB,EAAKxB,KAAK8C,MAAM,4DAA8DsV,EAAaxX,KAAKY,EAAKxB,MAAQ,QAJ7K,SAKV,EAAK+S,cAAc,CAAEqF,eAAc3P,SAAS,IALlC,OAMhB,EAAKoQ,iBANW,4C,EASlBA,eAAiB,WACf,IAAIC,EAAc,EAAKxZ,MAAMwZ,YACzBC,EAAmB,EAAK3b,MAAMgb,aAAapR,QAAQ8R,GACvD,EAAK9S,SAAS,CAAEmS,YAAaY,K,kEAI7B1T,KAAKuT,oB,+BAIL,OACE,6BACGvT,KAAKjI,MAAMqL,QAAU,kBAAC,EAAD,MACpB,yBAAKlD,GAAG,eAAezG,UAAU,iBAAiBka,YAAU,YAC1D,0BAAMla,UAAU,QAAQuB,QAASgF,KAAK/F,MAAMwK,OAA5C,QACA,yBAAKhL,UAAU,kBACZuG,KAAKsT,kBAER,yBAAK7Z,UAAU,uBACZuG,KAAKkT,sBAER,uBAAGzZ,UAAU,wBAAwBma,KAAK,gBAAgBla,KAAK,SAASma,aAAW,QACjF,0BAAMpa,UAAU,6BAA6Bqa,cAAY,SACzD,0BAAMra,UAAU,WAAhB,aAEF,uBAAGA,UAAU,wBAAwBma,KAAK,gBAAgBla,KAAK,SAASma,aAAW,QACjF,0BAAMpa,UAAU,6BAA6Bqa,cAAY,SACzD,0BAAMra,UAAU,WAAhB,e,GAzFM0G,cCSL4T,I,OAXD,SAAC9Z,GACb,OACE,yBAAKR,UAAU,iBACb,0BAAMA,UAAU,QAAQuB,QAASf,EAAMsO,YAAvC,QACA,2BAAO9O,UAAU,QAAQua,UAAQ,EAACC,MAAI,EAACC,UAAQ,GAC7C,4BAAQ1J,IAAI,GAAGvS,KAAK,kBCkDbkc,GApDC,SAACla,GAAW,IACnBpB,EAAYsB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAAvCK,SACDuC,EAAUC,cAEhBC,qBAAU,WAKR,OAJKzC,GAAUuC,EAAQG,KAAK,UAE5BiB,SAASC,iBAAiB,UAAW6L,GAE9B,WACL9L,SAASI,oBAAoB,UAAW0L,MAEzC,IAEH,IAAMA,EAAU,SAAAzL,GACI,MAAdA,EAAEO,SACJqL,KAIEA,EAAU,WACd,IAAI2L,EAAsBhZ,EAAQoQ,SAAS7N,OAAOoP,UAAU,EAAG3R,EAAQoQ,SAAS7N,OAAOkT,YAAY,MACnGzV,EAAQG,KAAK,CACXmC,SAAU,kBACVC,OAAO,SAAD,OAAWyW,MAqBrB,OACE,6BAlBc,WACd,IAAIzY,EAAQP,EAAQoQ,SAAS7N,OAAOhC,MAAM,KACtChB,EAAOgB,EAAMA,EAAMuC,OAAS,GAEhC,GAAkC,6BAA9B9C,EAAQoQ,SAAS9N,SAIrB,OAAI/C,EAAK8C,MAAM,QACN,kBAAC,GAAD,CAAO8K,WAAYE,IACjB9N,EAAK8C,MAAM,qBACb,kBAAC,GAAD,CAAO8K,WAAYE,EAAShE,MAAOgE,EAASvN,KAAME,EAAQoQ,SAAS7N,OAAQ8V,YAAa9Y,IAExF,kBAAC,GAAD,CAAQ8J,MAAOgE,EAAS9N,KAAMA,IAMpCoO,K,kBCpDMsL,I,cAAoB,SAAAnc,GAC/B,MAAO,CACLD,KxCJ+B,sBwCK/BC,WAWSoc,GAAmB,SAAApc,GAC9B,MAAO,CACLD,KxChB8B,qBwCiB9BC,U,SCjBSqc,GAAe,SAAA7b,GAAK,OAAI8H,aAAaS,QAFjC,QAEmDvI,IACvD8b,GAAe,kBAAMhU,aAAaC,QAH9B,UCGXgU,GAAWhR,OAAO+H,SAASC,OCiClBiJ,GAjCK,SAAC,GAAkH,IAAD,IAA/GrC,eAA+G,MAArG,GAAqG,EAAjGnS,EAAiG,EAAjGA,GAAIvF,EAA6F,EAA7FA,KAAMmQ,EAAuF,EAAvFA,MAAuF,IAAhF6J,qBAAgF,MAAhE,GAAgE,MAA5D1W,gBAA4D,MAAjD,GAAiD,MAA7CsG,gBAA6C,MAAlC,aAAkC,MAAvBmD,gBAAuB,SAC5H9O,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KAUR,OACE,oCAEIyZ,EAEI,yBAAK5Y,UAAU,2BACb,2BAAOA,UAAU,gBAAgBmb,QAAS1U,GACvC4K,EACD,8BAAO6J,IAET,4BAAQlb,UAAU,eAAeyG,GAAIA,EAAIvF,KAAMA,EAAM+M,SAAUA,EAAUnD,SAAU,SAAAX,GAAK,OAAIW,EAASX,EAAMY,OAAOtM,SAC/GwP,GAAY,2BAAOzP,KAAK,SAAS0C,KAAMA,EAAMzC,MAAO+F,GAAYoU,EAAQ,KAlB9EA,EAAQnW,KAAI,SAAC2Y,EAAQpZ,GAAT,OACjB,4BAAQW,IAAKX,EAAOwC,SAAUA,IAAa4W,EAAQ3c,MAAO2c,IAAWjc,EAAK,8BAAgC,SAAWic,GAClHA,QAqBG,OCIGC,GAhCG,SAAC,GAAgH,IAA9G5U,EAA6G,EAA7GA,GAAIvF,EAAyG,EAAzGA,KAAMmQ,EAAmG,EAAnGA,MAAmG,IAA5F6J,qBAA4F,MAA5E,GAA4E,MAAxE1c,YAAwE,MAAjE,OAAiE,MAAzDsM,gBAAyD,MAA9C,aAA8C,MAAnCrM,aAAmC,MAA3B,GAA2B,MAAvBwP,gBAAuB,WAC5FvD,mBAAS,IADmF,mBACzH4Q,EADyH,KAC7GC,EAD6G,KAGhI1Z,qBAAU,WACJpD,GACF8c,EAAc9c,KAEf,CAACA,IAOJ,OACE,yBAAKuB,UAAU,cACb,2BAAOA,UAAU,gBAAgBmb,QAAS1U,GACvC4K,EACD,8BAAO6J,IAET,2BACE1c,KAAMA,EACN0C,KAAMA,EACNuF,GAAIA,EACJqE,SAfqB,SAAAX,GACzBoR,EAAcpR,EAAMY,OAAOtM,OAC3BqM,EAASX,IAcLqR,SAAUvN,EACVxP,MAAO6c,EACPtb,UAAU,mBCCHyb,GA5BE,SAAC,GAAgF,IAA9Eva,EAA6E,EAA7EA,KAAMuF,EAAuE,EAAvEA,GAAI4K,EAAmE,EAAnEA,MAAmE,IAA5DqK,sBAA4D,aAApC5Q,gBAAoC,MAAzB,aAAyB,EAAd8B,EAAc,EAAdA,QAAc,EACvDlC,mBAASgR,GAD8C,mBACxFC,EADwF,KAC1EC,EAD0E,KAG/F/Z,qBAAU,WACR+Z,EAAgBhP,KACf,CAACA,IAOJ,OACE,yBAAK5M,UAAU,cACb,yBAAKA,UAAU,oBACb,2BACExB,KAAK,WACL0C,KAAMA,EACNuF,GAAIA,EACJmG,QAAS+O,EACT7Q,SAbe,SAAAX,GACrByR,EAAgBzR,EAAMY,OAAO6B,SAC7B9B,EAASX,EAAMY,OAAO6B,UAYhB8O,eAAgBA,IAClB,2BAAOP,QAAS1U,GAAK4K,MCbdwK,I,OARG,SAAArb,GAChB,OACE,yBAAKR,UAAWQ,EAAMR,WACnBQ,EAAMsb,YC4BEC,I,MA7BO,SAAC,GAAqD,IAAD,IAAlD9a,YAAkD,MAA3C,GAA2C,MAAvC2E,YAAuC,MAAhC,GAAgC,MAA5BoW,cAA4B,MAAnB,GAAmB,EAAfF,EAAe,EAAfA,SAa1D,OACE,yBAAK9b,UAAU,aACb,kBAAC,GAAD,CAAWA,UAAU,cAdN,WACjB,GAAIiB,EAAKwD,OAAS,EAAG,CACnB,IAAIwX,EAAU,IAAI1W,KAAKtE,GACnBib,EAAMD,EAAQxW,UACd0W,EAAQF,EAAQvW,WAChBG,EAAOoW,EAAQG,cAGnB,OAAO,yBAAKpc,UAAU,QAAQkc,EAAvB,SAFM,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAEzCC,GAA3C,SAA2DtW,IAO/DwW,GACD,yBAAKrc,UAAU,QACZ4F,GAEH,yBAAK5F,UAAU,oBACZgc,IAGJF,KCgCQQ,I,OA1DC,SAAA9b,GAAU,IAAD,EACmBkK,mBAAS,KAD5B,mBAChB6R,EADgB,KACDC,EADC,KAGvB3a,qBAAU,WAIR,OAHAmI,OAAOhH,iBAAiB,SAAUyZ,GAClC1Z,SAASC,iBAAiB,SAAU0Z,GAE7B,WACL1S,OAAO7G,oBAAoB,SAAUsZ,GACrC1Z,SAASI,oBAAoB,SAAUuZ,MAExC,IAEH,IAAMD,EAAgB,WAChB1Z,SAAS4Z,gBAAgBC,YAAc,IACzCJ,EAAiB,IAEjBA,EAAiB,MAIfE,EAAsB,WAC1B,GAAI3Z,SAAS4Z,gBAAgBC,YAAc,IAAK,CAC9C,IAAIC,EAAY7S,OAAO8S,QACnBC,EAAmBhY,KAAKiY,IAAI,GAAI,IAAMH,GAC1CL,EAAiBO,KA0BrB,OACE,yBAAK/c,UAvBW,WAAO,IACfA,EAAcQ,EAAdR,UAER,MAAkB,kBAAdA,EACuB,KAAlBuc,EAAuB,oBAAsBvc,EAAY,WAAaA,EAGtD,KAAlBuc,EAAuB,mBAAqB,UAgBnCvc,GAAaK,MAbjB,WACZ,IAAIG,EAAMyc,OAIV,OAAIla,SAAS4Z,gBAAgBC,YAAc,IAClC,CAAEM,UAAWX,GAEb,CAAEW,UAAW,IAKc7c,GAASoG,GAAG,aAC7CjG,EAAMsb,YCrDPd,I,OAAWhR,OAAO+H,SAASC,QAcpBmL,GAAY,WACvB,IAAIC,EAAM,0BACJne,EAAQ8b,KAId,OAFI9b,IAAOme,GAAG,iBAAcne,IAErBkT,KAAMC,IAAN,UAAa4I,IAAb,OAAwBoC,KClBpBC,GAAkB,kBAAM,SAACC,EAAUC,GAC9C,OAAO,IAAI5K,SAAQ,SAACwB,EAASqJ,GAC3BL,KACGzK,MAAK,SAAA4F,GAAQ,IAAD,EACoBA,EAAIhV,KAA3BA,EADG,EACHA,KAAMrE,EADH,EACGA,MAAOK,EADV,EACUA,MAEjBL,GAAO6b,GAAa7b,GAExBqe,EAAS,CACP9e,K5CdsB,mB4CetBC,MAAO,CACLI,KAAMyE,KAIVga,EAAS,CACP9e,KtCrBmB,gBsCsBnBC,MAAO,CACLa,WAIJ6U,EAAQlV,MAETuZ,OAAM,SAAAC,GACL+E,IACArN,QAAQjR,MAAMuZ,W,oBCkIPgF,GA7Ic,WAC3B,IAAMxe,EAAQ8H,aAAaC,QAAQ,SAC3B7H,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACFwC,EAAUC,cACV0b,EAAWI,cAJgB,EAKOhT,mBAAS,IALhB,mBAK1BiT,EAL0B,KAKZC,EALY,OAMClT,mBAAS,IANV,mBAM1BmT,EAN0B,KAMfC,EANe,OAOPpT,mBAAS,CACjCpH,KAAM,GACNqG,SAAS,EACToU,WAAW,IAVoB,mBAO1Bzf,EAP0B,KAOnB4I,EAPmB,KAajCrF,qBAAU,WACR,IACQmc,EADUC,KAAG7K,MAAMzR,EAAQoQ,SAAS7N,OAAQ,CAAEmP,mBAAmB,IACjE2K,GAERV,EAASzC,GAAiB,cAC1ByC,EX5BK,CACL9e,KxCVkC,yBwCWlCC,MAAO,KW4BHuf,IACF9W,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAC9BuU,EAAUF,MAEX,IAEH,IAAME,EAAY,SAAAF,ITEmB,SAAAA,GACrC,OAAO7L,KAAMC,IAAI4I,GA1CD,4BA0CuB,CACrCmD,OAAQ,CACNH,KACA/e,MAAO8b,SSLTqD,CAAwBJ,GACrBtL,MAAK,SAAAgC,GACJxN,EAAS,2BACJ5I,GADG,IAENgF,KAAMoR,EAASpR,KACfya,WAAYrJ,EAASpR,KAAKya,UAC1BpU,SAAS,QAGZ6O,OAAM,SAAAC,GACLvR,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAC9BwG,QAAQjR,MAAMuZ,OAId4F,EAAoB,SAAAlU,GACxBA,EAAMuG,iBACN,IAFiC,EAE7B4N,EAAY,GAFiB,eAIN,IAAItI,SAAS7L,EAAMY,QAASwT,WAJtB,IAIjC,2BAAkE,CAAC,IAAD,yBAAxDrd,EAAwD,KAAlDzC,EAAkD,KAChE6f,EAAUpd,GAAQzC,GALa,8BAQjC6f,EAAS,MAAYrf,EACrBqf,EAAS,KAAW,OACpBA,EAAS,KAAWhgB,EAAMgF,KAAK0a,GAEO,IAAlCrQ,OAAO6Q,KAAKF,GAAW7Z,QAAgB6Z,EAAUG,cAAgB9Q,SACnEzG,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KTlBE,SAACrG,EAAM0a,GAC3C,IAAIU,EAAiB,IAAI1I,SAEzB,IAAK,IAAIrT,KAAOW,EACdob,EAAezI,OAAOtT,EAAKW,EAAKX,IAGlC,OAAOwP,KAAM+D,KAAK8E,GAxDA,4BAwDwB0D,EAAgB,CACxDP,OAAQ,CACNH,KACA/e,MAAO8b,QSUP4D,CAAuBL,EAAWhgB,EAAMgF,KAAK0a,IAC1CtL,MAAK,SAAAlJ,GACJ,GAAsB,MAAlBA,EAAOwS,OAAgB,CAAC,IAAD,EACKxS,EAAOlG,KAA7Bsb,EADiB,EACjBA,UAAWC,EADM,EACNA,OAEfD,GACFhB,EAAgBgB,GAChBd,EAAa,KAEbR,EAASD,MAAmB3K,MAAK,WAC/BkL,EAAgB,IAChBE,EAAae,UAKpBnM,MAAK,kBAAMwL,EAAU5f,EAAMgF,KAAK0a,OAChCxF,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,QAQlC,OACE,yBAAKzY,UAAU,yBACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAK2f,MAE1B,kBAAC,GAAD,CAAS7B,QAAQ,GACf,8BACA,yBAAKjd,UAAU,uBAAuBb,EAAK,uBAC3C,yBAAKa,UAAU,SACb,0BAAMA,UAAU,iBACb2d,EAAe,kBAAC,IAAD,CAAiB1X,KAAK,yBAA4B,GADpE,IACyE0X,IAG3E,yBAAK3d,UAAU,WACb,0BAAMA,UAAU,cACb6d,EAAY,kBAAC,IAAD,CAAiB5X,KAAK,yBAA4B,GADjE,IACqE,8BAAO8Y,KAAWlB,OAI3F,kBAAC,GAAD,CAAe5c,KAAM3C,EAAMgF,KAAKrC,KAAM2E,KAAMtH,EAAMgF,KAAKsC,KAAMoW,OAAQ1d,EAAMgF,KAAK0Y,QAC7E1d,EAAMqL,QAAU,kBAAC,EAAD,MACf,0BAAMqV,SAAU,SAAA7U,GAAK,OAAIkU,EAAkBlU,IAAQ1D,GAAG,WACpD,kBAAC,GAAD,CAAWA,GAAG,OAAOvF,KAAK,OAAOmQ,MAAOlS,EAAK,cAAeV,MAAOH,EAAMgF,KAAK0a,GAAI/P,UAAQ,IAE1F,kBAAC,GAAD,CAAWxH,GAAG,OAAOvF,KAAK,YAAYmQ,MAAOlS,EAAI,QAAaV,MAAOH,EAAMgF,KAAK2b,QAAShR,UAAQ,IAEjG,kBAAC,GAAD,CAAWxH,GAAG,OAAOvF,KAAK,cAAcmQ,MAAOlS,EAAI,UAAeV,MAAOH,EAAMgF,KAAK4b,UAAWjR,UAAQ,IAEvG,kBAAC,GAAD,CAAUnD,SAhCM,SAAArM,GACxByI,EAAS,2BAAK5I,GAAN,IAAayf,UAAWtf,MA+BeyC,KAAK,WAAWuF,GAAG,SAAS4K,MAAOlS,EAAI,OAAYuc,eAAgBpd,EAAMyf,aAG7Gzf,EAAMyf,WACL,yBAAK/d,UAAU,wBACb,kBAAC,GAAD,CACE4Y,QAASta,EAAMgF,KAAK6b,MACpB3a,SAAUlG,EAAMgF,KAAKkD,MACrB6K,MAAOlS,EAAK,iBACZ+B,KAAK,UACLuF,GAAG,WAKX,kBAAC,GAAD,CAAWA,GAAG,OAAOvF,KAAK,SAASmQ,MAAOlS,EAAK,mBAAoBV,MAAOH,EAAMgF,KAAKpC,KAAMga,cAAe/b,EAAI,WAE9G,kBAAC,GAAD,CAAWsH,GAAG,OAAOvF,KAAK,QAAQmQ,MAAOlS,EAAK,sBAAuBV,MAAOH,EAAMgF,KAAK8b,IAAKlE,cAAe/b,EAAI,WAE/G,yBAAKa,UAAU,mBACb,4BAAQxB,KAAK,SAASwB,UAAU,OAAOb,EAAK8Z,MAC5C,4BAAQza,KAAK,SAASwB,UAAU,OAAOuB,QAAS,kBAAMI,EAAQG,KAAK,eAAe3C,EAAKkgB,WCDtFC,I,OAnIa,SAAA9e,GAC1B,IAAMvB,EAAQ8H,aAAaC,QAAQ,SADA,EAERtG,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAA9CI,EAF2B,EAE3BA,KAAMC,EAFqB,EAErBA,SACRke,EAAWI,cACX/b,EAAUC,cAJmB,EAKT8I,mBAAS,CACjCf,SAAS,EACToU,WAAW,EACXF,UAAW,GACXF,aAAc,GACd4B,WAAY,GACZJ,MAAO,KAX0B,mBAK5B7gB,EAL4B,KAKrB4I,EALqB,KAcnCrF,qBAAU,WACRyb,EAASzC,GAAiB,cAC1ByC,EZzBK,CACL9e,KxCVkC,yBwCWlCC,MAAO,KYyBPyI,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAE9BuU,MACC,IAEH,IAAMG,EAAoB,SAAAlU,GACxBA,EAAMuG,iBACN,IAFiC,EAE7B8O,EAAQ,GAFqB,eAIN,IAAIxJ,SAAS7L,EAAMY,QAASwT,WAJtB,IAIjC,2BAAkE,CAAC,IAAD,yBAAxDrd,EAAwD,KAAlDzC,EAAkD,KAChE+gB,EAAMte,GAAQzC,GALiB,8BAQC,IAA9BkP,OAAO6Q,KAAKgB,GAAO/a,QAAgB+a,EAAMf,cAAgB9Q,SAC3DzG,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KVbD,SAAArG,GACjC,IAAIob,EAAiB,IAAI1I,SAEzB,IAAK,IAAIrT,KAAOW,EACdob,EAAezI,OAAOtT,EAAKW,EAAKX,IAGlC,OAAOwP,KAAM+D,KAAK8E,GAxCA,2BAwCwB0D,GUOtCe,CAAoBD,GACjB9M,MAAK,SAAAlJ,GACJ,GAAsB,MAAlBA,EAAOwS,OAAgB,CAAC,IAAD,EAC8BxS,EAAOlG,KAA3Cqa,EADM,EACjBiB,UAAiCf,EADhB,EACQgB,OAE7BlB,EACFzW,EAAS,2BAAK5I,GAAN,IAAaqf,eAAcE,YAAWlU,SAAS,KAEvD2T,EAASD,MAAmB3K,MAAK,WAC/BxL,EAAS,2BAAK5I,GAAN,IAAauf,YAAWF,aAAc,GAAIhU,SAAS,YAKlE6O,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,QAI5ByF,EAAY,WVnCX/L,KAAMC,IAAI4I,GA7BO,4BUkEnBtI,MAAK,SAAAlJ,GACJtC,EAAS,2BAAK5I,GAAN,IAAaihB,WAAY/V,EAAOlG,KAAKic,WAAYJ,MAAO3V,EAAOlG,KAAK6b,MAAOxV,SAAS,QAE7F6O,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,OAOhC,OACE,yBAAKzY,UAAU,wBACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAK2f,MAE1B,kBAAC,GAAD,CAAS7B,QAAQ,GACf,8BACA,yBAAKjd,UAAU,uBAAuBb,EAAK,mBAC3C,yBAAKa,UAAU,SACb,0BAAMA,UAAU,iBACb1B,EAAMqf,aAAe,kBAAC,IAAD,CAAiB1X,KAAK,yBAA4B,GACvE3H,EAAMqf,eAEX,yBAAK3d,UAAU,WACb,0BAAMA,UAAU,cACb1B,EAAMuf,UAAY,kBAAC,IAAD,CAAiB5X,KAAK,yBAA4B,GACrE,8BAAO8Y,KAAWzgB,EAAMuf,eAI9B,kBAAC,GAAD,KACGvf,EAAMqL,QAAU,kBAAC,EAAD,MACf,0BAAMqV,SAAU,SAAA7U,GAAK,OAAIkU,EAAkBlU,KACzC,2BAAO3L,KAAK,SAAS0C,KAAK,KAAKzC,MAAM,QACrC,2BAAOD,KAAK,SAAS0C,KAAK,UAAUzC,MAAOW,IAC3C,2BAAOZ,KAAK,SAAS0C,KAAK,QAAQzC,MAAOQ,IAEzC,kBAAC,GAAD,CAAWiC,KAAK,OAAOuF,GAAG,YAAY4K,MAAOlS,EAAK,gBAElD,kBAAC,GAAD,CAAW+B,KAAK,YAAYuF,GAAG,UAAU4K,MAAOlS,EAAI,UAEpD,kBAAC,GAAD,CACEyZ,QAASta,EAAMihB,WACfre,KAAK,cACLuF,GAAG,aACH4K,MAAOlS,EAAI,YAEb,kBAAC,GAAD,CAAU2L,SAzCM,SAAArM,GACxByI,EAAS,2BAAK5I,GAAN,IAAayf,UAAWtf,MAwCeyC,KAAK,WAAWuF,GAAG,SAAS4K,MAAOlS,EAAI,OAAYuc,eAAgBpd,EAAMyf,YAG7Gzf,EAAMyf,UAUH,KARA,yBAAK/d,UAAU,iBACb,kBAAC,GAAD,CACE4Y,QAASta,EAAM6gB,MACfje,KAAK,UACLuF,GAAG,QACH4K,MAAOlS,EAAK,oBAMtB,kBAAC,GAAD,CAAW+B,KAAK,SAASuF,GAAG,OAAO4K,MAAOlS,EAAK,mBAAoB+b,cAAe/b,EAAI,WAEtF,kBAAC,GAAD,CAAW+B,KAAK,QAAQuF,GAAG,MAAM4K,MAAOlS,EAAK,sBAAuB+b,cAAe/b,EAAI,WAEvF,yBAAKa,UAAU,mBACb,4BAAQxB,KAAK,SAASwB,UAAU,OAAOb,EAAKugB,KAC5C,4BAAQlhB,KAAK,SAASwB,UAAU,OAAOuB,QAAS,kBAAMI,EAAQG,KAAK,eAAe3C,EAAKkgB,YCtHtFM,GArBE,SAAC,GAAuG,IAArGlZ,EAAoG,EAApGA,GAAIvF,EAAgG,EAAhGA,KAAgG,IAA1FsK,oBAA0F,MAA3E,GAA2E,EAAvE6F,EAAuE,EAAvEA,MAAuE,IAAhE6J,qBAAgE,MAAhD,GAAgD,MAA5C5R,YAA4C,MAArC,IAAqC,MAAhC2E,gBAAgC,SAAX2R,EAAW,sFACtH,OACE,yBAAK5f,UAAU,cACb,2BAAOA,UAAU,gBAAgBmb,QAAS1U,GACvC4K,EACD,8BAAO6J,IAET,4CACElb,UAAU,eACVyG,GAAIA,EACJ6C,KAAMA,EACNpI,KAAMA,EACNsa,SAAUvN,EACVzC,aAAcA,GACVoU,MCbN5E,GAAWhR,OAAO+H,SAASC,OAoBpB6N,GAAe,SAAAzC,GAC1B,OAAOjL,KAAMC,IAAI4I,GAAWoC,EAAK,CAC/Be,OAAQ,CACNlf,MAAO8b,SAaA+E,GAAgB,SAACxc,GAAoB,IAAd8Z,EAAa,uDAAP,GACpCsB,EAAiB,IAAI1I,SAEzB,IAAK,IAAIrT,KAAOW,EACdob,EAAezI,OAAOtT,EAAKW,EAAKX,IAGlC,OAAOwP,KAAM+D,KAAK8E,GAAQ,8BAA0BoC,EAA1B,cAA2CsB,EAAgB,CACnFP,OAAQ,CACNlf,MAAO8b,SAKAgF,GAAiB,SAAAC,GAC5B,OAAO7N,KAAMC,IAAN,UAAa4I,GAAb,+BAA4CgF,EAA5C,gBAOIC,GAAW,CACtB,UACA,QACA,OACA,QACA,OACA,QACA,WACA,WACA,UACA,SACA,QACA,UACA,WACA,UACA,eACA,QACA,UCwLaC,I,OArPS,SAAA1f,GACtB,IAAMvB,EAAQ8H,aAAaC,QAAQ,SAC3B7H,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACFwC,EAAUC,cACV0b,EAAWI,cAJc,EAKShT,mBAAS,IALlB,mBAKxBiT,EALwB,KAKVC,EALU,OAMGlT,mBAAS,IANZ,mBAMxBmT,EANwB,KAMbC,EANa,OAODpT,oBAAS,GAPR,mBAOxByV,EAPwB,KAOfC,EAPe,OAQL1V,mBAAS,CACjCpH,KAAM,GACNqG,SAAS,EACT0W,cAAc,EACdC,iBAAiB,IAZY,mBAQxBhiB,EARwB,KAQjB4I,EARiB,KAe/BrF,qBAAU,WACRyb,EAASzC,GAAiB,kBAC1ByC,EfxBK,CACL9e,KxCVkC,yBwCWlCC,MAAO,KewBPyI,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAC9BuU,MACC,IAEH,IAAMA,EAAY,WAChB6B,GAAe,SACZrN,MAAK,SAAAgC,GACJxN,EAAS,2BACJ5I,GADG,IAENgF,KAAMoR,EAASpR,KACfqG,SAAS,QAGZ6O,OAAM,SAAAC,GACLvR,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAC9BwG,QAAQjR,MAAMuZ,OAqCd8H,EAAgB,WACpBrZ,EAAS,2BACJ5I,GADG,IAENgiB,iBAAkBhiB,EAAMgiB,gBACxBD,cAAe/hB,EAAM+hB,iBAInBG,EAAiB,SAAC,GAAmB,IAAjB/Z,EAAgB,EAAhBA,GAAIhI,EAAY,EAAZA,MAC5B,GAAKA,EAAL,CAEA,IAAIgiB,EAAS,IAAIC,OAAJ,WAAeja,EAAf,iBAA0BnI,EAAMgF,KAAKmD,GAArC,KAA6C,MACpDka,EAAgBriB,EAAMgF,KAAKsd,OAAOlS,QAAQ+R,EAA1B,cAAyChiB,IAC/DyI,EAAS,2BAAK5I,GAAN,IAAagF,KAAK,2BAAMhF,EAAMgF,MAAb,gBAAmBsd,OAAQD,GAAgBla,EAAKhI,SAG3E,OACE,yBAAKuB,UAAU,4BACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAK0hB,UAE1B,kBAAC,GAAD,CAAS5D,QAAQ,GACf,8BACA,yBAAKjd,UAAU,uBAAuBb,EAAK,sBAA3C,MAAqEb,EAAMgF,KAAKwd,cAChF,yBAAK9gB,UAAU,QAAO,kBAAC,KAAD,CAAM8Q,GAAG,oBAAoB3R,EAAI,UAAjC,aACtB,yBAAKa,UAAU,SACb,0BAAMA,UAAU,iBACb2d,EAAe,kBAAC,IAAD,CAAiB1X,KAAK,yBAA4B,GADpE,IACyE0X,IAG3E,yBAAK3d,UAAU,WACb,0BAAMA,UAAU,cACb6d,EAAY,kBAAC,IAAD,CAAiB5X,KAAK,yBAA4B,GADjE,IACqE,8BAAO8Y,KAAWlB,OAI3F,kBAAC,GAAD,KACGvf,EAAMqL,QAAU,kBAAC,EAAD,MACf,0BAAMqV,SAAU,SAAA7U,GAAK,OAvEH,SAAAA,GACxBA,EAAMuG,iBACN,IAFiC,EAE7BqQ,EAAiB,GAFY,eAIN,IAAI/K,SAAS7L,EAAMY,QAASwT,WAJtB,IAIjC,2BAAkE,CAAC,IAAD,yBAAxDrd,EAAwD,KAAlDzC,EAAkD,KAChEsiB,EAAe7f,GAAQzC,GALQ,8BAQU,IAAvCkP,OAAO6Q,KAAKuC,GAAgBtc,QAAgBsc,EAAetC,cAAgB9Q,SAC7EzG,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAE9BoX,EAAc,SAAeziB,EAAMgF,KAAKsd,OACxCG,EAAc,UAAgBZ,EAAU,MAAQ,KAEhDL,GAAciB,EAAgB,UAC3BrO,MAAK,SAAAlJ,GACJ,GAAsB,MAAlBA,EAAOwS,OAAgB,CAAC,IAAD,EACKxS,EAAOlG,KAA7Bsb,EADiB,EACjBA,UAAWC,EADM,EACNA,OAEfD,GACFhB,EAAgBgB,GAChBd,EAAa,MAEbF,EAAgB,IAChBE,EAAae,QAIlBnM,MAAK,kBAAMwL,OACX1F,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,OA0CD4F,CAAkBlU,IAAQ1D,GAAG,aACpD,2BAAOjI,KAAK,SAAS0C,KAAK,OAAOzC,MAAM,SACvC,2BAAOD,KAAK,SAAS0C,KAAK,QAAQzC,MAAOQ,KAGtCX,EAAM+hB,cACL,4BAAQ7hB,KAAK,SAAS+C,QAAS,kBAAMgf,MAClCphB,EAAK,iBACLb,EAAM+hB,aAAe,kBAAC,IAAD,CAAiBpa,KAAK,aAAgB,kBAAC,IAAD,CAAiBA,KAAK,gBAMtF3H,EAAM+hB,cACJ,oCACE,kBAAC,GAAD,CACE5Z,GAAG,mBACH4K,MAAM,mBACNnQ,KAAK,qBACL4J,SAAU,SAAAX,GAAK,OAAIqW,EAAerW,EAAMY,SACxCtM,MAAOH,EAAMgF,KAAK0d,mBAEpB,kBAAC,GAAD,CACEva,GAAG,qBACH4K,MAAM,qBACNnQ,KAAK,uBACL4J,SAAU,SAAAX,GAAK,OAAIqW,EAAerW,EAAMY,SACxCtM,MAAOH,EAAMgF,KAAK2d,qBAEpB,kBAAC,GAAD,CACExa,GAAG,uBACH4K,MAAM,uBACNnQ,KAAK,yBACL4J,SAAU,SAAAX,GAAK,OAAIqW,EAAerW,EAAMY,SACxCtM,MAAOH,EAAMgF,KAAK4d,uBAEpB,kBAAC,GAAD,CACEza,GAAG,eACH4K,MAAM,eACNnQ,KAAK,iBACL4J,SAAU,SAAAX,GAAK,OAAIqW,EAAerW,EAAMY,SACxCtM,MAAOH,EAAMgF,KAAK6d,eAEpB,kBAAC,GAAD,CACE1a,GAAG,wBACH4K,MAAM,wBACNnQ,KAAK,0BACL4J,SAAU,SAAAX,GAAK,OAAIqW,EAAerW,EAAMY,SACxCtM,MAAOH,EAAMgF,KAAK8d,wBAEpB,kBAAC,GAAD,CACE3a,GAAG,qBACH4K,MAAM,qBACNnQ,KAAK,uBACL4J,SAAU,SAAAX,GAAK,OAAIqW,EAAerW,EAAMY,SACxCtM,MAAOH,EAAMgF,KAAK+d,qBAEpB,kBAAC,GAAD,CACE5a,GAAG,qBACH4K,MAAM,qBACNnQ,KAAK,uBACL4J,SAAU,SAAAX,GAAK,OAAIqW,EAAerW,EAAMY,SACxCtM,MAAOH,EAAMgF,KAAKge,qBAEpB,kBAAC,GAAD,CACE7a,GAAG,OACH4K,MAAM,OACNnQ,KAAK,SACL4J,SAAU,SAAAX,GAAK,OAAIqW,EAAerW,EAAMY,SACxCtM,MAAOH,EAAMgF,KAAKie,OAEpB,kBAAC,GAAD,CACE9a,GAAG,kBACH4K,MAAM,kBACNnQ,KAAK,oBACL4J,SAAU,SAAAX,GAAK,OAAIqW,EAAerW,EAAMY,SACxCtM,MAAOH,EAAMgF,KAAKke,kBAEpB,kBAAC,GAAD,CACE/a,GAAG,UACH4K,MAAM,UACNnQ,KAAK,YACL4J,SAAU,SAAAX,GAAK,OAAIqW,EAAerW,EAAMY,SACxCtM,MAAOH,EAAMgF,KAAKme,YAMvBnjB,EAAMgiB,iBACL,4BAAQ9hB,KAAK,SAAS+C,QAAS,kBAAMgf,MAClCphB,EAAK,oBACLb,EAAMgiB,gBAAkB,kBAAC,IAAD,CAAiBra,KAAK,aAAgB,kBAAC,IAAD,CAAiBA,KAAK,gBAK3F,6BACA,6BAGE3H,EAAMgiB,iBACJ,oCACE,kBAAC,GAAD,CACE9U,aAAclN,EAAMgF,KAAKsd,OACzBvP,MAAO/S,EAAMgF,KAAKoe,YAClB5W,SAAU,SAAA1H,GAAC,OAAI8D,EAAS,2BAAK5I,GAAN,IAAagF,KAAK,2BAAMhF,EAAMgF,MAAb,IAAmBsd,OAAQxd,EAAE2H,OAAOtM,YAC5EyC,KAAK,WACLuF,GAAG,WACH6C,KAAK,OAEP,6BAEA,kBAAC,GAAD,CACE+H,MAAOlS,EAAI,QACXuc,gBAAgB,EAChB5Q,SAAU,SAAA8B,GAAO,OAAIwT,EAAWxT,IAChC1L,KAAK,YACLuF,GAAG,aAKX,yBAAKzG,UAAU,mBACb,4BAAQxB,KAAK,SAASwB,UAAU,OAAOb,EAAK8Z,MAC5C,4BAAQza,KAAK,SAASwB,UAAU,OAAOuB,QAAS,kBAAMI,EAAQG,KAAK,mBAAmB3C,EAAKkgB,YCjH1FsC,I,OA3HI,WACjB,IAAM1iB,EAAQ8H,aAAaC,QAAQ,SAC3B7H,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACFwC,EAAUC,cACV0b,EAAWI,cAJM,EAKiBhT,mBAAS,IAL1B,mBAKhBiT,EALgB,KAKFC,EALE,OAMWlT,mBAAS,IANpB,mBAMhBmT,EANgB,KAMLC,EANK,OAOGpT,mBAAS,CACjCpH,KAAM,GACNqG,SAAS,IATY,mBAOhBrL,EAPgB,KAOT4I,EAPS,KAYvBrF,qBAAU,WACRyb,EAASzC,GAAiB,kBAC1ByC,EhBpBK,CACL9e,KxCVkC,yBwCWlCC,MAAO,KgBoBPyI,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAC9BuU,MACC,IAEH,IAAMA,EAAY,WAChB6B,GAAe,cACZrN,MAAK,SAAAgC,GACCA,EAASpR,KAAKsd,QACjBjf,EAAQG,KAAK,gBAGfoF,EAAS,2BAAK5I,GAAN,IAAagF,KAAMoR,EAASpR,KAAMqG,SAAS,QAEpD6O,OAAM,SAAAC,GACLvR,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAC9BwG,QAAQjR,MAAMuZ,OA6BpB,OACE,yBAAKzY,UAAU,4BACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAK0hB,UAE1B,kBAAC,GAAD,CAAS5D,QAAQ,GACf,8BACA,yBAAKjd,UAAU,uBACZb,EAAK,sBADR,MACkCb,EAAMgF,KAAKwd,cAE7C,yBAAK9gB,UAAU,SACb,0BAAMA,UAAU,iBACb2d,EAAe,kBAAC,IAAD,CAAiB1X,KAAK,yBAA4B,GADpE,IACyE0X,IAG3E,yBAAK3d,UAAU,WACb,0BAAMA,UAAU,cACb6d,EAAY,kBAAC,IAAD,CAAiB5X,KAAK,yBAA4B,GADjE,IACqE,8BAAO8Y,KAAWlB,OAI3F,kBAAC,GAAD,KACGvf,EAAMqL,QAAU,kBAAC,EAAD,MACf,0BAAMqV,SAAU,SAAA7U,GAAK,OAhDH,SAAAA,GACxBA,EAAMuG,iBACN,IAFiC,EAE7BqQ,EAAiB,GAFY,eAIN,IAAI/K,SAAS7L,EAAMY,QAASwT,WAJtB,IAIjC,2BAAkE,CAAC,IAAD,yBAAxDrd,EAAwD,KAAlDzC,EAAkD,KAChEsiB,EAAe7f,GAAQzC,GALQ,8BAQU,IAAvCkP,OAAO6Q,KAAKuC,GAAgBtc,QAAgBsc,EAAetC,cAAgB9Q,SAC7EzG,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAE9BmW,GAAciB,EAAgB,eAC3BrO,MAAK,SAAAlJ,GACJ,GAAsB,MAAlBA,EAAOwS,OAAgB,CAAC,IAAD,EACKxS,EAAOlG,KAA7Bsb,EADiB,EACjBA,UAAWC,EADM,EACNA,OAEnBjB,EAAgBgB,GAAa,IAC7Bd,EAAae,GAAU,QAG1BnM,MAAK,kBAAMwL,OACX1F,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,OA2BD4F,CAAkBlU,IAAQ1D,GAAG,cACpD,2BAAOjI,KAAK,SAAS0C,KAAK,OAAOzC,MAAM,SACvC,2BAAOD,KAAK,SAAS0C,KAAK,QAAQzC,MAAOQ,IAEzC,kBAAC,GAAD,CACEuM,aAAclN,EAAMgF,KAAKsV,QACzBvH,MAAO/S,EAAMgF,KAAKse,aAClB1gB,KAAK,YACLuF,GAAG,YACH6C,KAAK,OAEP,6BAEA,kBAAC,GAAD,CACEkC,aAAclN,EAAMgF,KAAKsd,OACzBvP,MAAO/S,EAAMgF,KAAKoe,YAClBxgB,KAAK,WACLuF,GAAG,WACH6C,KAAK,OAEP,6BAEA,kBAAC,GAAD,CACE+H,MAAOlS,EAAI,QACXuc,gBAAgB,EAChBxa,KAAK,YACLuF,GAAG,YAEL,yBAAKzG,UAAU,mBACb,4BAAQxB,KAAK,SAASwB,UAAU,OAAOb,EAAK8Z,MAC5C,4BAAQza,KAAK,SAASwB,UAAU,OAAOuB,QAAS,kBAAMI,EAAQG,KAAK,mBAAmB3C,EAAKkgB,YC9HnGrE,GAAWhR,OAAO+H,SAASC,OCiIlB6P,I,OArHc,WAC3B,IAAM5iB,EAAQ8H,aAAaC,QAAQ,SAC3B7H,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACFwC,EAAUC,cACV0b,EAAWI,cAJgB,EAKOhT,mBAAS,IALhB,mBAK1BiT,EAL0B,KAKZC,EALY,OAMClT,mBAAS,IANV,mBAM1BmT,EAN0B,KAMfC,EANe,OAOPpT,mBAAS,CACjCpH,KAAM,GACNqG,SAAS,IATsB,mBAO1BrL,EAP0B,KAOnB4I,EAPmB,KAYjCrF,qBAAU,WACRyb,EAASzC,GAAiB,kBAC1ByC,ElBnBK,CACL9e,KxCVkC,yBwCWlCC,MAAO,KkBmBPyI,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAC9BuU,MACC,IAEH,IAAMA,EAAY,WD+BX/L,KAAMC,IAAI4I,GAAQ,UA1DK,6CC6BzBtI,MAAK,SAAAgC,GACJxN,EAAS,2BACJ5I,GADG,IAENgF,KAAMoR,EAASpR,KACfqG,SAAS,QAGZ6O,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,OAG1B4F,EAAoB,SAAAlU,GACxBA,EAAMuG,iBACN,IAFiC,EAE7BoR,EAAoB,GAFS,eAIN,IAAI9L,SAAS7L,EAAMY,QAASwT,WAJtB,IAIjC,2BAAkE,CAAC,IAAD,yBAAxDrd,EAAwD,KAAlDzC,EAAkD,KAChEqjB,EAAkB5gB,GAAQzC,GALK,8BAQjCqjB,EAAiB,MAAY7iB,EAC7B6iB,EAAiB,KAAW,OAEkB,IAA1CnU,OAAO6Q,KAAKsD,GAAmBrd,QAAgBqd,EAAkBrD,cAAgB9Q,SACnFzG,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KDUE,SAAArG,GACpC,IAAIob,EAAiB,IAAI1I,SAEzB,IAAK,IAAIrT,KAAOW,EACdob,EAAezI,OAAOtT,EAAKW,EAAKX,IAGlC,OAAOwP,KAAM+D,KAAK8E,GApEY,2CAoEwB0D,EAAgB,CACpEP,OAAQ,CACNlf,MAAO8b,QCjBPgH,CAAuBD,GACpBpP,MAAK,SAAAlJ,GACJ,GAAsB,MAAlBA,EAAOwS,OAAgB,CAAC,IAAD,EACKxS,EAAOlG,KAA7Bsb,EADiB,EACjBA,UAAWC,EADM,EACNA,OAEnBjB,EAAgBgB,GAAa,IAC7Bd,EAAae,GAAU,QAG1BnM,MAAK,kBAAMwL,OACX1F,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,QAIlC,OACE,yBAAKzY,UAAU,wCACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAK6iB,UAE1B,kBAAC,GAAD,CAAS/E,QAAQ,GACf,8BACA,yBAAKjd,UAAU,uBAAuBb,EAAK,8BAC3C,yBAAKa,UAAU,SACb,0BAAMA,UAAU,iBACb2d,EAAe,kBAAC,IAAD,CAAiB1X,KAAK,yBAA4B,GADpE,IACyE0X,IAG3E,yBAAK3d,UAAU,WACb,0BAAMA,UAAU,cACb6d,EAAY,kBAAC,IAAD,CAAiB5X,KAAK,yBAA4B,GADjE,IACqE,8BAAO8Y,KAAWlB,OAI3F,kBAAC,GAAD,KACGvf,EAAMqL,QAAU,kBAAC,EAAD,MACf,0BAAMqV,SAAU,SAAA7U,GAAK,OAAIkU,EAAkBlU,IAAQ1D,GAAG,0BACpD,kBAAC,GAAD,CACE4K,MAAOlS,EAAK,eACZqM,aAAclN,EAAMgF,KAAK2e,IACzB/gB,KAAK,QACLuF,GAAG,UAEL,kBAAC,GAAD,CACE4K,MAAOlS,EAAK,gBACZqM,aAAclN,EAAMgF,KAAK4e,KACzBhhB,KAAK,SACLuF,GAAG,WAEL,kBAAC,GAAD,CACE4K,MAAOlS,EAAI,UACXqM,aAAclN,EAAMgF,KAAK6e,GACzBjhB,KAAK,OACLuF,GAAG,SAEL,kBAAC,GAAD,CACE4K,MAAOlS,EAAK,oBACZqM,aAAclN,EAAMgF,KAAK8e,QACzBlhB,KAAK,YACLuF,GAAG,cAEL,yBAAKzG,UAAU,mBACb,4BAAQxB,KAAK,SAASwB,UAAU,OAAOb,EAAK8Z,MAC5C,4BAAQza,KAAK,SAASwB,UAAU,OAAOuB,QAAS,kBAAMI,EAAQG,KAAK,6BAA6B3C,EAAKkgB,YCzHtGgD,GAAuC,SAAA5jB,GAClD,MAAO,CACLD,KzDJsC,6ByDKtCC,UCiEW6jB,I,OAlEQ,SAAA9hB,GAAU,IACvBrB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KAEFb,EAAQ,CACZikB,UAAW,CAACpjB,EAAKoG,KAAMpG,EAAKqjB,SAAUrjB,EAAKsjB,KAAMtjB,EAAKujB,UAAWvjB,EAAKwjB,SACtEC,QAAS,CAACzjB,EAAKoG,KAAMpG,EAAK0jB,OAAQ1jB,EAAK,gBAAiBA,EAAKsjB,KAAMtjB,EAAKujB,UAAWvjB,EAAKwjB,SACxFG,QAAS,CAAC3jB,EAAKoG,KAAMpG,EAAK4jB,OAAQ5jB,EAAK0jB,OAAQ1jB,EAAK,gBAAiBA,EAAK6jB,QAAS7jB,EAAKwjB,SACxFM,SAAU,CAAC9jB,EAAKoG,KAAMpG,EAAK0jB,OAAQ1jB,EAAK+jB,SAAU/jB,EAAKsjB,KAAMtjB,EAAKwjB,SAClEQ,gBAAiB,CAAChkB,EAAKoG,KAAMpG,EAAK+jB,SAAU/jB,EAAKsjB,KAAMtjB,EAAKwjB,SAC5DS,OAAQ,CAACjkB,EAAKoG,KAAMpG,EAAKkkB,SAAUlkB,EAAKsjB,KAAMtjB,EAAKmkB,KAAMnkB,EAAKokB,KAAMpkB,EAAKwjB,SACzEa,SAAU,CAACrkB,EAAKoG,KAAMpG,EAAKskB,QAAStkB,EAAKwjB,SACzCe,aAAc,CAACvkB,EAAKoG,KAAMpG,EAAK,gBAAiBA,EAAKwjB,SACrDgB,sBAAuB,CAACxkB,EAAKoG,KAAMpG,EAAK2f,GAAI3f,EAAKykB,QAASzkB,EAAK0kB,UAAW1kB,EAAK0jB,OAAQ1jB,EAAK2kB,MAAO3kB,EAAKwjB,SACxGoB,aAAc,CAAC5kB,EAAK6kB,OAAQ7kB,EAAK8kB,SAAU9kB,EAAK+kB,KAAM/kB,EAAK,gBAAiBA,EAAKglB,QAAShlB,EAAKwjB,SAC/FyB,WAAY,CAACjlB,EAAKoG,KAAMpG,EAAKklB,KAAMllB,EAAKwjB,UAGpChiB,EAAgB,SAACnC,EAAMqC,GAC3BL,EAAMG,cAAcnC,EAAMqC,IAGtByjB,EAAkB,SAAC7jB,EAASI,GAChC,OAAIL,EAAMC,UAAYA,GAAWD,EAAMK,QAAUA,EACxC,uBAGF,iBAyBT,OACE,yBAAKb,UAAU,aACb,4BAAQA,UAAU,mDAAmDxB,KAAK,SAAS4C,cAAY,WAAWC,gBAAc,OAAOC,gBAAc,SAC1InC,EAAK,WADR,KACqB,2BAAIqB,EAAMC,SAVb,eAAhBD,EAAMK,MACD,0BAAMb,UAAU,cAAhB,UAEA,yCAUP,yBAAKA,UAAU,iBACb,wBAAIA,UAAU,iBA7BE,WAAO,IACnBiH,EAASzG,EAATyG,KAGR,OAFuB3I,EAAM2I,GAELxE,KAAI,SAACC,EAAMV,GACjC,OACE,wBAAIW,IAAKX,GACP,0BAAMhC,UAAWskB,EAAgB5hB,EAAM,cAAenB,QAAS,kBAAMZ,EAAc+B,EAAM,gBAAgBA,EAAK,0BAAM1C,UAAU,cAAhB,WAC9G,0BAAMA,UAAWskB,EAAgB5hB,EAAM,aAAcnB,QAAS,kBAAMZ,EAAc+B,EAAM,eAAc,6CAsBrG6hB,QCjBIC,I,OA1CK,SAAAhkB,GAAU,IAAD,EACSkK,mBAAS,IADlB,mBACpB+Z,EADoB,KACRC,EADQ,KAEvBhO,EAAejH,iBAAO,MAEpBkV,EAAc,WAClB,GAAIF,GAA6B,KAAfA,EAChB,OAAOjkB,EAAMokB,iBAAiBH,IAMlC5iB,qBAAU,WAGR,OAFAmI,OAAOhH,iBAAiB,QAAS6hB,GAE1B,kBAAM7a,OAAO7G,oBAAoB,QAAS0hB,MAChD,IAEH,IAQMA,EAAa,SAAA1a,GACjB,GAAsB,KAAlBA,EAAMxG,QACR,OAAO+S,EAAa/F,QAAQmU,SAIhC,OACE,0BAAM9F,SAfS,SAAA5b,GACfA,EAAEsN,iBAEE+T,GACFE,MAYA,yBAAK3kB,UAAU,qBACb,2BAAOxB,KAAK,OAAOwB,UAAU,eAAe8K,SAAU,SAAA1H,GAAC,OAAIshB,EAActhB,EAAE2H,OAAOtM,QAAQ8L,IAAKmM,IAC/F,4BAAQ1W,UAAU,4BAA4BxB,KAAK,SAAS+C,QAAS,kBAAMojB,MAAe,kBAAC,IAAD,CAAiB1e,KAAK,gBCrCpH+U,GAAWhR,OAAO+H,SAASC,OAGlB+S,GAAc,SAACC,EAAQC,GAClC,OAAO9S,KAAMC,IAAI4I,GANE,iCAMyB,CAC1CmD,OAAQ,CACN,UAAa6G,EACb,UAAaC,MAKNC,GAAiB,SAACF,EAAQC,GACrC,OAAO9S,KAAMC,IAAI4I,GAdK,oCAcyB,CAC7CmD,OAAQ,CACN,UAAa6G,EACb,UAAaC,MCsEJE,I,OAnFE,SAAC3kB,GAAW,IACnBrB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KADkB,EAEAuL,mBAAS,CAAE0a,SAAS,IAFpB,mBAEnB9mB,EAFmB,KAEZ4I,EAFY,KAI1BrF,qBAAU,WACJrB,EAAM6kB,eAAe,YACvBne,EAAS,2BAAK5I,GAAN,IAAa8mB,QAASE,QAAQ9kB,EAAM4kB,cAE7C,CAAC5kB,EAAM4kB,UAEV,IAYMG,EAAa,WACjB/kB,EAAMglB,aAwCR,OACE,yBAAKxlB,UAjCW,WAAO,IACfolB,EAAY9mB,EAAZ8mB,QACAxY,EAA4DpM,EAA5DoM,QAAS6Y,EAAmDjlB,EAAnDilB,SAAUC,EAAyCllB,EAAzCklB,UAAWC,EAA8BnlB,EAA9BmlB,QAClC3lB,EAAY,YA0BhB,OAxBI4M,IACF5M,GAAa,YAGXolB,IACFplB,GAAa,YAGXylB,IACFzlB,GAAa,cAGX0lB,GAAaC,KACf3lB,GAAa,cAhBqDQ,EAArBolB,UAoB7C5lB,GAAa,YApBqDQ,EAAZqlB,UAwBtD7lB,GAAa,aAGRA,EAISA,GAAayG,GAAIjG,EAAMiG,IACrC,kBAAC,GAAD,CAAWzG,UAAU,cAvDP,SAAAiB,GAChB,GAAIA,EAAM,CACR,IAAIgb,EAAU,IAAI1W,KAAKtE,GACnBib,EAAMD,EAAQxW,UACd0W,EAAQF,EAAQvW,WAAa,EAC7BG,EAAOoW,EAAQG,cAGnB,OAAO,yBAAKpc,UAAU,QAAQkc,EAAvB,SAFM,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAEzCC,EAAQ,GAAnD,SAA+DtW,IAgDnEigB,CAAUtlB,EAAMS,MACjB,yBAAKjB,UAAU,eACb,yBAAKA,UAAU,YAAW,2BAAOxB,KAAK,WAAWsM,SAAUya,EAAY3Y,QAASpM,EAAMoM,WACrFpM,EAAMulB,cAET,yBAAK/lB,UAAU,QACb,yBAAKA,UAAU,YAAW,2BAAOxB,KAAK,WAAWsM,SAAUya,EAAY3Y,QAASpM,EAAMoM,WACtF,yBAAKrL,QA/CI,WACf2F,EAAS,2BAAK5I,GAAN,IAAa8mB,SAAU9mB,EAAM8mB,WACrC5kB,EAAMwlB,WAAW1nB,EAAM8mB,WA6CO,kBAAC,IAAD,CAAiBnf,KAAK,WAE/CzF,EAAMklB,WAAa,yBAAK1lB,UAAU,aAAab,EAAKumB,WACpDllB,EAAMmlB,SAAW,yBAAK3lB,UAAU,WAAWb,EAAKwmB,UAElDnlB,EAAMsb,YCTEmK,I,OAnEU,SAAAzlB,GAAU,IACzB8C,EAAS9C,EAAT8C,KACAnE,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KAkBR,OACE,kBAAC,GAAD,CACEsH,GAAInD,EAAK4iB,KACTN,QAAStiB,EAAK6iB,QACdvZ,QAAStJ,EAAK8iB,UACdnlB,KAAMqC,EAAK+iB,KACXjB,QAAS9hB,EAAKgjB,QACdN,UAvBc,SAACZ,GACbA,EACF5kB,EAAMwlB,UAAU1iB,EAAK4iB,KAAM,OAE3B1lB,EAAMwlB,UAAU1iB,EAAK4iB,KAAM,WAoB3BV,UAhBc,WAChBhlB,EAAMglB,UAAUliB,EAAK4iB,QAiBnB,kBAAC,GAAD,CAAWlmB,UAAU,cACnB,yBAAKA,UAAU,QAAQsD,EAAKijB,IAAM,oCAAGjjB,EAAKijB,IAAR,IAAa,kBAAC,IAAD,CAAiBtgB,KAAK,yBAAnC,IAA8D3C,EAAK4iB,MAAW5iB,EAAK4iB,MACrH,6BACA,yBAAKlmB,UAAU,SACb,kBAAC,GAAD,CAAWA,UAAU,YACnB,yBAAKA,UAAU,MAAK,0BAAMA,UAAU,QAAQsD,EAAKkjB,UACjD,yBAAKxmB,UAAU,OAAM,0BAAMA,UAAU,QAAQsD,EAAKmjB,aAEpD,kBAAC,GAAD,CAAWzmB,UAAU,YACnB,6BAAMb,EAAKunB,QAAX,KAAqB,0BAAM1mB,UAAU,QAAQsD,EAAKqjB,gBAClD,6BAAMxnB,EAAKynB,OAAX,KAAoB,0BAAM5mB,UAAU,QAAQsD,EAAKujB,UAEnD,kBAAC,GAAD,CAAW7mB,UAAU,YACnB,6BAAMb,EAAK2kB,MAAX,KAAmB,0BAAM9jB,UAAU,QAAQsD,EAAKwjB,QAChD,6BAAM3nB,EAAK4nB,MAAX,KAAmB,0BAAM/mB,UAAU,QAAQsD,EAAK0jB,YAAYtY,QAAQ,KAAM,WAIhF,yBAAK1O,UAAU,WACb,6BACE,kBAAC,KAAD,CAAMA,UAAU,YAAY8Q,GAAE,uBAAkBxN,EAAK4iB,OAClD/mB,EAAK8nB,KACL3jB,EAAK6iB,QAAU,0BAAMnmB,UAAU,gCAAhB,UAAgE,kBAAC,IAAD,CAAiBiG,KAAK,UAI1G,6BACE,4BAAQjG,UAAU,cAAcuB,QAAS,WAxC/Cf,EAAM0mB,YAAY5jB,EAAK6jB,YAAvB,gCAA6D7jB,EAAK4iB,SAyCzD/mB,EAAKsM,OACLnI,EAAK6iB,QAAU,0BAAMnmB,UAAU,uBAAhB,OAAmD,kBAAC,IAAD,CAAiBiG,KAAK,gBCpBtFmhB,I,OA1CI,SAAC,GAA6D,IAA3DC,EAA0D,EAA1DA,aAAcpgB,EAA4C,EAA5CA,KAAM/F,EAAsC,EAAtCA,KAAMiZ,EAAgC,EAAhCA,KAAgC,IAA1B5Y,eAA0B,MAAhB,aAAgB,EAexE+lB,EAAa,WACjB,MAAa,WAATrgB,EACK,kBAAC,IAAD,CAAiBhB,KAAK,QACX,mBAATgB,EACF,kBAAC,IAAD,CAAiBhB,KAAK,SAGxB,kBAAC,IAAD,CAAiBA,KAAK,UAG/B,OACE,yBAAKjG,UAxBAqnB,EAIQ,WAATpgB,EACK,qBACW,mBAATA,EACF,6BAGF,SATE,eAyBLkT,EACK,kBAAC,KAAD,CAAMrJ,GAAIqJ,GACVmN,IACD,0BAAMtnB,UAAU,OAAOkB,IAEtB,4BAAQK,QAASA,GACjB+lB,IACD,0BAAMtnB,UAAU,OAAOkB,O,OChCnC,IAeeua,GAfE,SAACjb,GAAW,IACnBrB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KAER,OACE,yBAAKa,UAAU,uBACb,yBAAKA,UAAU,oBACb,2BAAOxB,KAAK,WAAWsM,SAAU,SAAC1H,GAAD,OAVzC,SAAmB5C,EAAO4C,GACxB5C,EAAM+mB,UAAUnkB,EAAE2H,OAAO6B,SASqB2a,CAAU/mB,EAAO4C,IAAI6N,aAAW,oCAAoCxK,GAAG,WAAWmG,QAASpM,EAAMgnB,WAE3I,0BAAMxnB,UAAU,oBACd,2BAAOmb,QAAQ,YAAYhc,EAAK,kBCoEzBsoB,I,OA/EA,SAAC,GAA+B,IAA7BC,EAA4B,EAA5BA,YAAgBlnB,EAAY,+BACpCrB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACFwoB,ECRc,WAAkB,IAAjBC,EAAgB,uDAAP,GAC9B,MAAO,CACLrF,UAAW,CACT,CAAE9jB,MAAO,UAAWyC,KAAM0mB,EAAOC,SACjC,CAAEppB,MAAO,cAAeyC,KAAM0mB,EAAO,gBACrC,CAAEnpB,MAAO,cAAeyC,KAAM0mB,EAAO,gBACrC,CAAEnpB,MAAO,eAAgByC,KAAM0mB,EAAO,iBACtC,CAAEnpB,MAAO,aAAcyC,KAAM0mB,EAAO,eACpC,CAAEnpB,MAAO,eAAgByC,KAAM0mB,EAAO,iBACtC,CAAEnpB,MAAO,kBAAmByC,KAAM0mB,EAAO,oBACzC,CAAEnpB,MAAO,UAAWyC,KAAM0mB,EAAOE,SACjC,CAAErpB,MAAO,YAAayC,KAAM0mB,EAAOG,WACnC,CAAEtpB,MAAO,SAAUyC,KAAM0mB,EAAOI,SAElCpF,QAAS,CACP,CAAEnkB,MAAO,UAAWyC,KAAM0mB,EAAOE,SACjC,CAAErpB,MAAO,YAAayC,KAAM0mB,EAAOG,WACnC,CAAEtpB,MAAO,SAAUyC,KAAM0mB,EAAOI,SAElClF,QAAS,CACP,CAAErkB,MAAO,UAAWyC,KAAM0mB,EAAOE,SACjC,CAAErpB,MAAO,YAAayC,KAAM0mB,EAAOG,WACnC,CAAEtpB,MAAO,SAAUyC,KAAM0mB,EAAOI,SAElC/E,SAAU,CACR,CAAExkB,MAAO,UAAWyC,KAAM0mB,EAAOE,SACjC,CAAErpB,MAAO,YAAayC,KAAM0mB,EAAOG,WACnC,CAAEtpB,MAAO,SAAUyC,KAAM0mB,EAAOI,SAElC5E,OAAQ,CACN,CAAE3kB,MAAO,UAAWyC,KAAM0mB,EAAOE,SACjC,CAAErpB,MAAO,YAAayC,KAAM0mB,EAAOG,WACnC,CAAEtpB,MAAO,SAAUyC,KAAM0mB,EAAOI,SAElCxE,SAAU,CACR,CAAE/kB,MAAO,mBAAoByC,KAAM0mB,EAAO,0BAC1C,CAAEnpB,MAAO,sBAAuByC,KAAM0mB,EAAO,2BAC7C,CAAEnpB,MAAO,UAAWyC,KAAM0mB,EAAOE,SACjC,CAAErpB,MAAO,YAAayC,KAAM0mB,EAAOG,WACnC,CAAEtpB,MAAO,SAAUyC,KAAM0mB,EAAOI,SAElCC,WAAY,CACV,CAAExpB,MAAO,SAAUyC,KAAM0mB,EAAOI,SAElCtE,aAAc,CACZ,CAAEjlB,MAAO,SAAUyC,KAAM0mB,EAAOI,SAElCrE,sBAAuB,CACrB,CAAEllB,MAAO,YAAayC,KAAM0mB,EAAO,cACnC,CAAEnpB,MAAO,SAAUyC,KAAM0mB,EAAOI,SAElCE,YAAa,CACX,CAAEzpB,MAAO,SAAUyC,KAAM0mB,EAAOO,SAElCpE,aAAc,CACZ,CAAEtlB,MAAO,UAAWyC,KAAM0mB,EAAOE,SACjC,CAAErpB,MAAO,YAAayC,KAAM0mB,EAAOG,WACnC,CAAEtpB,MAAO,SAAUyC,KAAM0mB,EAAOI,SAElCI,WAAY,CACV,CAAE3pB,MAAO,OAAQyC,KAAM0mB,EAAOS,MAC9B,CAAE5pB,MAAO,QAASyC,KAAM0mB,EAAOU,OAC/B,CAAE7pB,MAAO,UAAWyC,KAAM0mB,EAAOzH,UAEnCoI,iBAAkB,CAChB,CAAE9pB,MAAO,UAAWyC,KAAM0mB,EAAOY,UAEnCC,QAAS,CACP,CAAEhqB,MAAO,SAAUyC,KAAM0mB,EAAOI,UD5DjBpa,CAAOzO,GAFkB,EAIlBuL,mBAAS,CACjC6X,UAAWoF,EAAWpF,UACtBK,QAAS+E,EAAW/E,QACpBE,QAAS6E,EAAW7E,QACpBG,SAAU0E,EAAW1E,SACrBG,OAAQuE,EAAWvE,OACnBI,SAAUmE,EAAWnE,SACrByE,WAAYN,EAAWM,WACvBvE,aAAciE,EAAWjE,aACzBC,sBAAuBgE,EAAWhE,sBAClC+E,eAAgB,GAChBR,YAAaP,EAAWO,YACxBnE,aAAc4D,EAAW5D,aACzBqE,WAAYT,EAAWS,WACvBG,iBAAkBZ,EAAWY,iBAC7BE,QAASd,EAAWc,QACpBjkB,SAAU,KApBgC,mBAIrClG,EAJqC,KAI9B4I,EAJ8B,KAuB5CrF,qBAAU,WAAO,IACPoF,EAASzG,EAATyG,KACRC,EAAS,2BAAK5I,GAAN,IAAa2I,YACpB,IAEH,IAAMuE,EAAe,WACnB,MAAmB,mBAAfhL,EAAMyG,KACD9H,EAAK,iBAGPA,EAAK,sBA+Bd,OACE,yBAAKa,UAAU,kBACb,4BAAQA,UAAU,gBAAgByG,GAAG,qBAAqBqE,SAXzC,SAAAX,GACnBjD,EAAS,2BAAK5I,GAAN,IAAakG,SAAU2F,EAAMY,OAAOtM,WAWxC,4BAAQ+M,aAAcA,IAAgB/M,MAAO+M,KAAgC,mBAAfhL,EAAMyG,KAA4B9H,EAAK,iBAAmBA,EAAK,sBA/B7G,WAAO,IACnB8H,EAASzG,EAATyG,KACJoQ,EAAa/Y,EAAM2I,GAUvB,MARa,aAATA,IAEAoQ,EADEqQ,EACWrQ,EAAWhO,QAAO,SAAC3G,EAAMV,GAAP,OAA2B,IAAVA,KAEnCqV,EAAWhO,QAAO,SAAC3G,EAAMV,GAAP,OAA2B,IAAVA,MAIvC,mBAATiF,EACKzG,EAAM2e,MAAM1c,KAAI,SAACC,EAAMV,GAAY,OAAO,4BAAQW,IAAKX,EAAOvD,MAAOiE,GAAOA,MAE5E2U,EAAW5U,KAAI,SAACC,EAAMV,GAAY,OAAO,4BAAQW,IAAKX,EAAOvD,MAAOiE,EAAKjE,OAAQiE,EAAKxB,SAiB1FynB,IAEH,yBAAK3oB,UAAU,sBACb,4BAAQA,UAAU,4BAA4BxB,KAAK,SAAS+C,QAZ/C,WACjBf,EAAMooB,WAAWtqB,EAAMkG,UACvB0C,EAAS,2BAAK5I,GAAN,IAAakG,SAAU,QAWzB,kBAAC,IAAD,CAAiByB,KAAK,qBE9CjB0I,I,OA5BD,SAAC,GAAsF,IAApFka,EAAmF,EAAnFA,KAAMnQ,EAA6E,EAA7EA,KAAMoQ,EAAuE,EAAvEA,OAAQC,EAA+D,EAA/DA,SAA+D,IAArDC,sBAAqD,aAA9BC,wBAA8B,SAC1F9pB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KAER,OACE,6BACE,yBAAKa,UAAS,qBAAgB6oB,EAAO,OAAS,IAAMpiB,GAAG,gBAAgByiB,SAAS,KAAKjpB,KAAK,SAASkpB,kBAAgB,oBAAoB9O,cAAY,OAAOha,MAAO,CAAE+oB,QAASP,EAAO,QAAU,SAC3L,yBAAK7oB,UAAU,eAAeC,KAAK,YACjC,yBAAKD,UAAU,iBACb,yBAAKA,UAAU,gBACb,wBAAIA,UAAU,cAAcyG,GAAG,qBAAqBtH,EAAKkqB,cACzD,4BAAQ7qB,KAAK,SAAS+C,QAAS,kBAAMwnB,KAAY/oB,UAAU,QAAQspB,eAAa,QAAQrY,aAAW,SACjG,0BAAMoJ,cAAY,QAAlB,UAGJ,yBAAKra,UAAU,cACZ0Y,GAEH,yBAAK1Y,UAAU,gBACZipB,EAAmB,4BAAQ1nB,QAAS,kBAAMwnB,KAAYvqB,KAAK,SAASwB,UAAU,oBAAoBspB,eAAa,SAASnqB,EAAK8L,QAAmB,GAChJ+d,EAAiB,4BAAQznB,QAAS,kBAAMunB,KAAUtqB,KAAK,SAASwB,UAAU,mBAAmBb,EAAKoqB,IAAe,UCgXjHC,I,OAnXW,SAAAhpB,GAAU,IAC1BrB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACAT,EAA+BgC,aAAY,SAAApC,GAAK,OAAIA,EAAMqB,uBAA1DjB,2BACAT,EAAmByC,aAAY,SAAApC,GAAK,OAAIA,EAAMmB,kBAA9CxB,eACFqf,EAAWI,cAJgB,EAKHhT,oBAAS,GALN,mBAK1Bf,EAL0B,KAKjB8f,EALiB,OAMP/e,mBAAS,CACjCgO,KAAM,GACNgR,SAAS,EACTC,UAAW,KAToB,mBAM1Bxa,EAN0B,KAMnBya,EANmB,OAWPlf,mBAAS,CACjCmf,kBAAmB,GACnBC,MAAO,GACPC,YAAY,EACZtpB,QAAStB,EAAKoG,KACd1E,MAAO,aACPoP,UAAW,GACX+Z,YAAa,KAlBkB,mBAW1B1rB,EAX0B,KAWnB4I,EAXmB,KAqBjCrF,qBAAU,WAMR,OALAyb,EAASzC,GAAiB,cAC1ByC,E9BjCK,CACL9e,KxCVkC,yBwCWlCC,MAAO,K8BgCP6e,EXlCK,CACL9e,KzDVyC,gCyDWzCC,MAAO,KWiCPyf,IAAYxL,MAAK,kBAAM+W,GAAW,MAE3B,WACLnM,EXtCG,CACL9e,KzDVyC,gCyDWzCC,MAAO,QWsCN,IAEHoD,qBAAU,WAIR,OAHAmI,OAAOhH,iBAAiB,UAAWinB,GACnCjgB,OAAOhH,iBAAiB,UAAWknB,GAE5B,WACLlgB,OAAO7G,oBAAoB,UAAW8mB,GACtCjgB,OAAO7G,oBAAoB,UAAW+mB,MAEvC,CAACxrB,EAA4BT,EAAgBK,EAAMurB,oBAEtD,IAAMI,EAAyB,SAAA9f,GACP,KAAlBA,EAAMxG,SAAoC,KAAlBwG,EAAMxG,SAC5B1F,GACFqf,E9BvDC,CACL9e,KxCVkC,yBwCWlCC,MAAO,K8ByDe,KAAlB0L,EAAMxG,SACRwG,EAAMuG,iBACNyZ,KAC2B,KAAlBhgB,EAAMxG,UACfwG,EAAMuG,iBACN0Z,MAIEC,EAAqB,SAAAR,GACzBA,EAAkB,GAAlB,QAAkCA,EAAkB,GAAlB,KAClC3iB,EAAS,2BAAK5I,GAAN,IAAaurB,uBACrBvM,EAAS+E,GAAqCwH,EAAkB,GAAlB,QAG1CO,EAAkB,WACtB,IAAIP,EAAiB,YAAOvrB,EAAMurB,mBAMlC,GAAmC,KAA/BnrB,EAAJ,CAKA,IAAI4rB,EAAyBT,EAAkBU,WAAU,SAAAC,GAAI,OAAIA,EAAKtE,OAASxnB,KAE/E,GAAI4rB,IAA2BT,EAAkBplB,OAAS,EAAG,CAC3D,IAAIgmB,EAAqBZ,EAAkBS,EAAyB,GACpET,EAAkBS,GAAlB,QAAuD,GACvDG,EAAkB,QAAcA,EAAkB,KAClD1nB,SAASqM,eAAeqb,EAAkB,MAAUC,eAAe,CAAEC,SAAU,SAAUC,MAAO,WAChG1jB,EAAS,2BAAK5I,GAAN,IAAaurB,uBACrBvM,EAAS+E,GAAqCoI,EAAkB,aAZhEJ,EAAmBR,IAgBjBM,EAAgB,WACpB,IAAIN,EAAiB,YAAOvrB,EAAMurB,mBAMlC,GAAmC,KAA/BnrB,EAAJ,CAKA,IAAI4rB,EAAyBT,EAAkBU,WAAU,SAAAC,GAAI,OAAIA,EAAKtE,OAASxnB,KAE/E,GAA+B,IAA3B4rB,EAA8B,CAChC,IAAIG,EAAqBZ,EAAkBS,EAAyB,GACpET,EAAkBS,GAAlB,QAAuD,GACvDG,EAAkB,QAAcA,EAAkB,KAClD1nB,SAASqM,eAAeqb,EAAkB,MAAUC,eAAe,CAAEC,SAAU,SAAUC,MAAO,WAChG1jB,EAAS,2BAAK5I,GAAN,IAAaurB,uBACrBvM,EAAS+E,GAAqCoI,EAAkB,aAZhEJ,EAAmBR,IAgBjBK,EAAgC,SAAA/f,GACpC,IAAIC,EAAuBrH,SAASsH,cAAc,gBAAkBtH,SAASsH,cAAc,kBAE3F,GAAI3L,IAA+B0L,EACjC,OAAQD,EAAMxG,SACZ,KAAK,EAAG,OAAOknB,IACf,KAAK,GAAI,OAAOC,MAMhBA,EAAa,WACjBtqB,EAAMmB,QAAQG,KAAd,uBAAmCpD,KAG/BmsB,EAAe,WAAO,IAEtBE,EAD0BzsB,EAAtBurB,kBAC4CxgB,QAAO,SAAAmhB,GAAI,OAAIA,EAAKtE,OAASxnB,KAA4B,GAE7GssB,EAAaD,EAA4B5D,YAA7B,gCAAmEzoB,KAG3Ewf,EAAY,WAEhB,OADAuL,GAAW,GACJ,IAAI9W,SAAQ,SAACwB,EAASqJ,G5BlJxBrL,KAAMC,IAAI4I,GAPD,6B4B2JTtI,MAAK,SAAAlJ,GACJtC,EAAS,2BACJ5I,GADG,IAENurB,kBAAmBoB,EAAazhB,EAAOlG,KAAKA,MAC5CwmB,MAAOtgB,EAAOlG,KAAKwmB,MACnB7Z,UAAW,GACX+Z,YAAaxgB,EAAOlG,KAAK0mB,YACzBD,YAAY,KAEd5V,OAEDqE,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,UAI5BwS,EAAe,SAAA3nB,GACnB,IAAIumB,EAAoB,GAExB,IAAK,IAAI/kB,KAAKxB,EACZA,EAAKwB,GAAL,KAAkBA,EAClBxB,EAAKwB,GAAL,QAAqBpG,IAA+BoG,EACpD+kB,EAAkB/nB,KAAKwB,EAAKwB,IAG9B,OAAO+kB,GAmCHrE,EAAY,SAAAtkB,GAAS,IACjB+O,EAAiC3R,EAAjC2R,UAAW4Z,EAAsBvrB,EAAtBurB,kBACfpgB,EAAS,YAAOwG,GAChBib,EAA6BrB,EAC7BsB,EAAc1hB,EAAUvB,QAAQhH,GAEhCkqB,EAAeF,EAA2BX,WAAU,SAAAvM,GAAE,OAAIA,EAAGkI,OAAShlB,KAC1EgqB,EAA2BE,GAAchF,WAAa8E,EAA2BE,GAAchF,WAE1E,IAAjB+E,EACF1hB,EAAUpH,OAAO8oB,EAAa,GAE9B1hB,EAAU3H,KAAKZ,GAGjBgG,EAAS,2BAAK5I,GAAN,IAAaurB,kBAAmBqB,EAA4Bjb,UAAWxG,MAG3E4hB,EAAY,SAAAje,GAAU,IAClBvM,EAAmBvC,EAAnBuC,MAAOJ,EAAYnC,EAAZmC,QACX6qB,EAAgBC,EAAO9qB,GAE3B,MAAc,eAAVI,EACKuM,EAAMrM,MAAK,SAAC8H,EAAGC,GAAJ,OAAWD,EAAEyiB,GAAiBxiB,EAAEwiB,GAAkB,EAAMxiB,EAAEwiB,GAAiBziB,EAAEyiB,IAAmB,EAAI,KAE/Gle,EAAMrM,MAAK,SAAC8H,EAAGC,GAAJ,OAAWD,EAAEyiB,GAAiBxiB,EAAEwiB,GAAkB,EAAMxiB,EAAEwiB,GAAiBziB,EAAEyiB,IAAmB,EAAI,MAIpHC,EAAS,SAAA9qB,GAAY,IACjB8E,EAA0DpG,EAA1DoG,KAAMuZ,EAAoD3f,EAApD2f,GAAI4H,EAAgDvnB,EAAhDunB,QAAS9C,EAAuCzkB,EAAvCykB,QAASC,EAA8B1kB,EAA9B0kB,UAAWC,EAAmB3kB,EAAnB2kB,MAAOnB,EAAYxjB,EAAZwjB,QAEtD,OAAQliB,GACN,KAAK8E,EAAM,MAAO,OAClB,KAAKuZ,EAAI,MAAO,KAChB,KAAK8E,EAAS,MAAO,UACrB,KAAKC,EAAW,MAAO,YACvB,KAAK6C,EAAS,MAAO,gBACrB,KAAK5C,EAAO,MAAO,QACnB,KAAKnB,EAAS,MAAO,YAKnBqD,EAAY,SAACvnB,EAAOD,GAAU,IAE9BgtB,EADcltB,EAAVwrB,MAGK,QAATtrB,GACFgtB,EAAe/sB,GAAS,EAExBsmB,GAAYtmB,EAAO,MAChBiU,MAAK,WACJxL,EAAS,2BAAK5I,GAAN,IAAawrB,MAAO0B,QAE7BhT,OAAM,SAAAC,GACLtI,QAAQjR,MAAMuZ,QAGlB+S,EAAe/sB,QAAS0D,EAExB+iB,GAAezmB,EAAO,MACnBiU,MAAK,WACJxL,EAAS,2BAAK5I,GAAN,IAAawrB,MAAO0B,QAE7BhT,OAAM,SAAAC,GACLtI,QAAQjR,MAAMuZ,QAKhB8O,EAAY,SAAAC,GAChB,IAAI0D,EAA0B,YAAO5sB,EAAMurB,mBAE3C,GAAIrC,EAAS,CACX,IAAIiE,EAAU,GAEV5B,EAAoBqB,EAA2BzoB,KAAI,SAAAipB,GAGrD,OAFAD,EAAQ3pB,KAAK4pB,EAAiBxF,MAC9BwF,EAAiBtF,WAAY,EACtBsF,KAGTxkB,EAAS,2BAAK5I,GAAN,IAAaurB,oBAAmB5Z,UAAWwb,EAAS1B,WAAYvC,SACnE,CACL,IAAIqC,EAAoBqB,EAA2BzoB,KAAI,SAAAipB,GAErD,OADAA,EAAiBtF,WAAY,EACtBsF,KAGTxkB,EAAS,2BAAK5I,GAAN,IAAaurB,oBAAmB5Z,UAAW,GAAI8Z,WAAYvC,OAoBjEwD,EAAe,SAACtS,EAAMiR,GAC1BC,EAAS,2BAAKza,GAAN,IAAaua,SAAS,EAAMhR,OAAMiR,gBAqBtCgC,EAAsB,WAC1BrO,EAASD,MAAmB3K,MAAK,kBAAM+W,GAAW,OAG9CmC,EAAqB,WACzBhC,EAAS,2BAAKza,GAAN,IAAaua,SAAS,EAAOhR,KAAM,GAAIiR,UAAW,OAG5D,OACE,yBAAK3pB,UAAU,qBACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAK2f,MAE1B,kBAAC,GAAD,CAAS7B,QAAQ,GACf,kBAAC,GAAD,CAAY/b,KAAM/B,EAAK,UAAWgb,KAAK,WAAWkN,cAAc,IAChE,yBAAKrnB,UAAU,UACb,yBAAKA,UAAU,8BACb,kBAAC,GAAD,CAAUunB,UAAWA,EAAWC,QAASlpB,EAAMyrB,aAC/C,kBAAC,GAAD,CAAQ9iB,KAAK,wBAAwB2hB,WAxDlC,SAAArqB,GAAW,IACd0R,EAAc3R,EAAd2R,UAEJA,EAAUxL,QAAUlG,IACtBkrB,GAAW,G5B9SS,SAAClrB,EAAQsrB,GACjC,IAAM9T,EAAW,IAAIC,SAQrB,OAPAD,EAASE,OAAO,SAAU1X,GAC1BwX,EAASE,OAAO,QAAS8E,MAEzB8O,EAAkBzgB,SAAQ,SAAAsiB,GACxB3V,EAASE,OAAO,OAAQyV,MAGnBvZ,KAAM+D,KAAK8E,GAAW,mBAAoBjF,G4BsS7C6S,CAAWrqB,EAAQ0R,GAChByC,MAAK,SAAAlJ,GACkB,MAAlBA,EAAOwS,SACTuL,GAAU,GACVrJ,IAAYxL,MAAK,kBAAMiZ,WAG1BnT,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,UA6CxB,kBAAC,GAAD,CAAgB9X,cAvLJ,SAACF,EAASI,GAC9BqG,EAAS,2BACJ5I,GADG,IAENmC,UACAI,YAmLoDJ,QAASnC,EAAMmC,QAASI,MAAOvC,EAAMuC,MAAOoG,KAAK,0BAC/F,kBAAC,GAAD,CAAa2d,iBAAkB,SAAAiH,GAAI,OAAIrrB,EAAMsrB,iBAAiBD,SAIpE,yBAAK7rB,UAAU,cACZ2J,EACG,kBAAC,EAAD,MACC,oCAvLe,WAAO,IACvBkgB,EAAsBvrB,EAAtBurB,kBACFC,EAAK,eAAQxrB,EAAMwrB,OACnBtgB,EAAS,GAgBf,OAdAqgB,EAAkBzgB,SAAQ,SAAAsiB,GACxBA,EAAiBvF,QAAUznB,IAA+BgtB,EAAiBxF,KAEvE4D,EAAM4B,EAAiBxF,MACzBwF,EAAiBpF,QAAUwD,EAAM4B,EAAiBxF,MAElDwF,EAAiBpF,QAAU,EAG7B9c,EAAO1H,KAAK4pB,MAGKL,EAAU7hB,GAET/G,KAAI,SAACC,EAAMV,GAC7B,OAAO,kBAAC,GAAD,CAAkBsB,KAAMZ,EAAMC,IAAKX,EAAOgkB,UAAWA,EAAWR,UAAWA,EAAW0B,YAAa8D,OAoKnGnB,GACD,yBAAK7pB,UAAU,SAAS1B,EAAM0rB,eAGpC,kBAAC,GAAD,CACElB,OAnDsB,WAC1B,IAAK3Z,EAAMwa,UACT,OAAOiC,I5BpTe,IAAAxO,E4BuTxBwO,IACAnC,GAAW,I5BxTarM,E4ByTXjO,EAAMwa,U5BxTdxX,KAAMC,IAAI4I,GAAWoC,EAAK,CAC/Be,OAAQ,CACNlf,MAAO8b,S4BuTNrI,MAAK,SAAA4F,GACJ,GAAIA,EAAIhV,KAAKpE,MAEX,OADAuqB,GAAW,GACJuB,EAAa1S,EAAIhV,KAAKpE,MAAO,IAEtCgf,IAAYxL,MAAK,kBAAMiZ,UAExBnT,OAAM,SAAAC,GAASgR,GAAW,GAAQtZ,QAAQjR,MAAMuZ,OAqC/CsQ,SAAU6C,EACV/C,KAAM1Z,EAAMua,QACZhR,KAAMvJ,EAAMuJ,UC/XdsC,GAAWhR,OAAO+H,SAASC,OAK3B+Z,GAAiB,iCAyEVC,GAAoB,SAAAC,GAC/B,OAAIA,EACK9Z,KAAMC,IAAI4I,GAAW+Q,GAAgB,CAC1C5N,OAAQ,CACN8N,YAIG9Z,KAAMC,IAAI4I,GAAW+Q,KClBjBG,GAnEE,SAAC,GAAoG,IAAlG1gB,EAAiG,EAAjGA,aAAiG,IAAnFV,gBAAmF,MAAxE,aAAwE,EAA7DrE,EAA6D,EAA7DA,GAAIvF,EAAyD,EAAzDA,KAAMmQ,EAAmD,EAAnDA,MAAmD,IAA5C8a,4BAA4C,SAAZ3rB,EAAY,sFAC3GrB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KAD2G,EAEzFuL,mBAAS,CACjC0hB,cAAc,EACdC,kBAAmB,KAJ8F,mBAE5G/tB,EAF4G,KAErG4I,EAFqG,KAOnHrF,qBAAU,WACJ2J,IAAiBlN,EAAM+tB,mBACzBnlB,EAAS,2BAAK5I,GAAN,IAAa+tB,kBAAmB7gB,OAEzC,CAACA,IAEJ,IAkBM8gB,EAAuB,SAAA7tB,GAC3ByI,EAAS,2BAAK5I,GAAN,IAAa+tB,kBAAmB5tB,KACxCqM,EAASrM,IAGX,OACE,yBAAKuB,UAAU,cACb,2BAAOmb,QAAQ,YACZ9J,GAAgBlS,EAAK+sB,SAEpBC,GACE,0CAAK,4BAAQ3tB,KAAK,SAASwB,UAAU,oBAAoBuB,QAAS,kBAzBnD,WAKvB,IAJA,IAAIgrB,EAAQ,gEAER/iB,EAAS,GAEJ1E,EAAI,EAAGA,EAHG,GAGeA,IAAK,CACrC,IAAI0nB,EAAeznB,KAAKC,MAAMD,KAAK0nB,SAAWF,EAAM9nB,QACpD+E,GAAU+iB,EAAMG,OAAOF,EAAc,GAGvCtlB,EAAS,2BAAK5I,GAAN,IAAa+tB,kBAAmB7iB,KACxCsB,EAAStB,GAcuEmjB,KACrExtB,EAAKytB,YAKd,yBAAK5sB,UAAU,oBACb,yCACExB,KAAMF,EAAM8tB,aAAe,WAAa,OACxCpsB,UAAU,eACVyG,GAAE,mBAAcA,GAChBvF,KAAMA,EACNzC,MAAOH,EAAM+tB,kBACbvhB,SAAU,SAAAX,GAAK,OAAImiB,EAAqBniB,EAAMY,OAAOtM,SACjD+B,IACN,4BAAQhC,KAAK,SAAS+C,QAAS,WA3CnC2F,EAAS,2BAAK5I,GAAN,IAAa8tB,cAAe9tB,EAAM8tB,kBA4CnC9tB,EAAM8tB,aACL,0BAAMpsB,UAAU,aAAY,kBAAC,IAAD,CAAiBiG,KAAK,eAClD,0BAAMjG,UAAU,OAAM,kBAAC,IAAD,CAAiBiG,KAAK,aC2CzC4mB,I,OApGiB,SAAC,GAAyF,EAAvFZ,OAAwF,IAAD,IAA/E3oB,YAA+E,MAAxE,GAAwE,EAApEwpB,EAAoE,EAApEA,sBAAuBC,EAA6C,EAA7CA,WAAYC,EAAiC,EAAjCA,QAASpgB,EAAwB,EAAxBA,QAAwB,6FAC7FlM,aAAY,SAAApC,GAAK,OAAIA,EAAMS,YAA9CI,EADgH,EAChHA,KAAMC,EAD0G,EAC1GA,SAD0G,EAE9FsL,mBAAS,CACjCuiB,SAAU3pB,EAAK4pB,YAAc,GAC7BzrB,KAAM6B,EAAK6pB,YAAc,KAJ6F,mBAEjH7uB,EAFiH,KAE1G4I,EAF0G,KAiGxH,OA1FmB,WAYT,IAAD,EAXP,OAAI5D,EAAK8pB,QACa,IAAhB9pB,EAAK+pB,OACC,oCACN,2BAAO7uB,KAAK,SAAS0C,KAAI,qBAAgBoC,EAAKmD,GAArB,aAAoChI,MAAM,MACnE,2BAAOD,KAAK,SAAS0C,KAAI,qBAAgBoC,EAAKmD,GAArB,aAAoChI,MAAO6E,EAAK+pB,SACzE,2BAAO7uB,KAAK,SAAS0C,KAAI,qBAAgBoC,EAAKmD,GAArB,iBAAwChI,MAAO6E,EAAK4pB,aAC7E,2BAAO1uB,KAAK,SAAS0C,KAAI,qBAAgBoC,EAAKmD,GAArB,qBAA4ChI,MAAO6E,EAAKgqB,iBACjF,2BAAO9uB,KAAK,SAAS0C,KAAI,qBAAgBoC,EAAKmD,GAArB,iBAAwChI,MAAO6E,EAAK6pB,aAC7E,2BAAO3uB,KAAK,SAAS0C,KAAI,qBAAgBoC,EAAKmD,GAArB,qBAA4ChI,MAAOuuB,KA8E3E,qCA1EApgB,EAKH,yBAAK5M,UAAU,kBACb,yBAAKA,UAAU,SACb,2BAAOxB,KAAK,SAAS0C,KAAI,qBAAgBoC,EAAKmD,GAArB,iBAAwChI,MAAO6E,EAAK4pB,aAC7E,2BAAO1uB,KAAK,SAAS0C,KAAI,qBAAgBoC,EAAKmD,GAArB,aAAoChI,MAAM,MACnE,2BAAOD,KAAK,SAAS0C,KAAI,qBAAgBoC,EAAKmD,GAArB,aAAoChI,MAAO6E,EAAK+pB,SAEzE,0BAAMrtB,UAAU,qBAAqBb,EAAKouB,IAA1C,KAAiDjqB,EAAKmD,GAAK,GAC3D,qCAEE,4BACEjI,KAAK,SACL+C,QAAS,kBAAMurB,EAAsBxpB,EAAKmD,MAF5C,cAGItH,EAAKsM,cAHT,QAGmB,SAHnB,OAQJ,yBAAKzL,UAAU,kBACb,yBAAKA,UAAU,uBACb,2BAAOmb,QAAO,mBAAc7X,EAAKmD,KAAOtH,EAAKqjB,UAC7C,0BAAMxiB,UAAU,eAAe+sB,GAC/B,yBAAK/sB,UAAU,iBACb,2BACEwL,aAAclN,EAAM2uB,SACpBniB,SAAU,SAAAX,GAAK,OAAIjD,EAAS,2BAAK5I,GAAN,IAAa2uB,SAAU9iB,EAAMY,OAAOtM,UAC/DD,KAAK,OACLyP,SAAU3K,EAAK4pB,WACfltB,UAAU,eACVyG,GAAE,mBAAcnD,EAAKmD,IACrBvF,KAAI,qBAAgBoC,EAAKmD,GAArB,mBACN,8BAAOnD,EAAK4pB,WAAa5pB,EAAK4pB,WAAvB,UAAuC9tB,EAAvC,YAAmDd,EAAM2uB,aAIpE,kBAAC,GAAD,CAAU/rB,KAAI,qBAAgBoC,EAAKmD,GAArB,qBAA4CA,GAAInD,EAAKmD,KAEnE,yBAAKzG,UAAU,cACb,2BAAOxB,KAAK,SAAS0C,KAAK,iBAAiBzC,MAAOuuB,IAClD,2BAAOxuB,KAAK,SAAS0C,KAAI,qBAAgBoC,EAAKmD,GAArB,sBAA6ChI,MAAO6E,EAAK6pB,aAElF,2BAAOhS,QAAO,cAAS7X,EAAKmD,KAAOtH,EAAKqC,MACxC,2BACEhD,KAAK,OACLC,MAAOH,EAAMmD,KACbqJ,SAAU,SAAAX,GAAK,OAAIjD,EAAS,2BAAK5I,GAAN,IAAamD,KAA0C,IAApC0I,EAAMY,OAAOtM,MAAMyJ,QAAQ,KAA3B,WAA4CiC,EAAMY,OAAOtM,OAAU0L,EAAMY,OAAOtM,UAC9HuB,UAAU,eACVyG,GAAE,cAASnD,EAAKmD,IAChBvF,KAAI,qBAAgBoC,EAAKmD,GAArB,mBACN,0BAAMzG,UAAU,aAAagtB,EAAS1uB,EAAMmD,OAI5B,IAAhB6B,EAAK+pB,QACH,yBAAKrtB,UAAU,cACb,2BAAOmb,QAAO,6CAAwC7X,EAAKmD,KAAOtH,EAAK,4CACvE,2BACEX,KAAK,QACLwB,UAAU,eACVyG,GAAE,6CAAwCnD,EAAKmD,IAC/C+E,aAAclI,EAAKkqB,YACnBtsB,KAAI,qBAAgBoC,EAAKmD,GAArB,uBAhET,qCA4ENgnB,KC7BMC,I,OAtEc,SAAC,GAA8F,IAAD,EAA3F9gB,EAA2F,EAA3FA,QAAS+gB,EAAkF,EAAlFA,KAAMC,EAA4E,EAA5EA,wBAAyBb,EAAmD,EAAnDA,WAAYc,EAAuC,EAAvCA,eAAgB5B,EAAuB,EAAvBA,OAC1F9sB,GADiH,mGACxGuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,MADiH,EAE/FuL,mBAAS,CACjCojB,cAAe,KAHwG,mBAElHxvB,EAFkH,KAE3G4I,EAF2G,KAMzHrF,qBAAU,WACR,GAAI8rB,EAAM,CACR,IAAMrqB,EAAOqqB,EAAKlrB,KAAI,SAACC,EAAMV,GAG3B,OAFAU,EAAI,SAAekK,EACnBlK,EAAI,GAASV,EACNU,KAGTwE,EAAS,2BAAK5I,GAAN,IAAawvB,cAAexqB,QAErC,CAACsJ,EAAS+gB,IAEb,IAaMI,EAAc,SAAA/rB,GAClB,IAAIgsB,EAAwB,GAE5B1vB,EAAMwvB,cAAc1kB,SAAQ,SAAA1G,GACtBA,EAAK+D,KAAOzE,IACdU,EAAK0qB,SAAU,GAGjBY,EAAsBlsB,KAAKY,MAGxBsrB,EAAsBvpB,QACzBmpB,IAGF1mB,EAAS,2BAAK5I,GAAN,IAAawvB,cAAeE,MAYtC,OACE,6BAxCO1vB,EAAMwvB,cAAcrrB,KAAI,SAAAwrB,GAC7B,OAAO,kBAAC,GAAD,CACLtrB,IAAKsrB,EAAIxnB,GACTsmB,WAAYA,EACZzpB,KAAM2qB,EACNrhB,QAASA,EACTogB,QAASa,EACT5B,OAAQA,EACRa,sBAAuB,SAAArmB,GAAE,OAAIsnB,EAAYtnB,SAmC1CmG,GACC,4BAAQpO,KAAK,SAAS+C,QAAS,kBAdZ,WACvB,IAAI2sB,EAA2B5vB,EAAMwvB,cAAcrpB,OAC/C0pB,EAAuB,YAAO7vB,EAAMwvB,eAExCK,EAAwBrsB,KAAK,CAAE2E,GAAIynB,EAA0Bd,SAAS,EAAOC,OAAQ,IAErFnmB,EAAS,2BAAK5I,GAAN,IAAawvB,cAAeK,KAQKC,KAArC,UACGjvB,EAAK,mCADR,QACuC,UCtBhCkvB,I,OAzCI,SAAA7tB,GAAU,IACnBrB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KADkB,EAEYuL,oBAAS,GAFrB,mBAEnB4jB,EAFmB,KAENC,EAFM,KAI1B,OACE,yBAAKvuB,UAAU,eACb,yBAAKA,UAAU,cACb,yBAAKA,UAAU,oBACb,2BACExB,KAAK,WACL0C,KAAK,gBACLuF,GAAG,eACHmG,QAAS0hB,EACTxjB,SAAU,kBAAMyjB,GAAgBD,MAClC,2BAAOnT,QAAQ,gBAAgBhc,EAAK,0BAEtC,0BAAMa,UAAU,qBAAqBsuB,EAAcnvB,EAAK,8DAAgE,OAG1H,2BAAOX,KAAK,SAASC,MAAM,OAAOyC,KAAK,eAEvC,kBAAC,GAAD,CACEuF,GAAG,kBACHvF,KAAK,YACLmQ,MAAOlS,EAAK,mBACZ8O,SAAUqgB,EACVpT,cAAe,yCAAI,4BAAQ1c,KAAK,SAAS+C,QAAS,kBAAMf,EAAMguB,iBAAgB,IAAOxuB,UAAU,gBAAgBb,EAAK,oBAEtH,yBAAKgC,MAAM,cACT,2BAAOga,QAAQ,WAAWhc,EAAK,YAC/B,8BAAUgC,MAAM,eAAesF,GAAG,UAAU6C,KAAK,IAAIpI,KAAK,YAAYsK,aAAchL,EAAMiuB,OAAQxgB,SAAUqgB,KAG9G,yBAAKntB,MAAM,cACT,2BAAOga,QAAQ,WAAWhc,EAAK,6CAC/B,8BAAUgC,MAAM,eAAesF,GAAG,SAAS6C,KAAK,IAAIpI,KAAK,WAAW+M,SAAUqgB,QC6DvEI,I,OA7FS,SAAC,GAAuC,IAArC3B,EAAoC,EAApCA,WAAYC,EAAwB,EAAxBA,QAAYxsB,EAAY,wCACrDrB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KADqD,EAEnCuL,mBAAS,CACjCikB,YAAY,EACZb,eAAe,EACfc,wBAAwB,EACxBC,gBAAgB,IAN2C,mBAEtDvwB,EAFsD,KAE/C4I,EAF+C,KAS7DrF,qBAAU,WACR,IAAIitB,EAAa,cAAUtuB,EAAMyrB,QACjC/kB,EAAS,2BAAK5I,GAAN,IAAaywB,QAASD,OAC7B,CAACtuB,EAAMyrB,SAoBV,OACE,yBAAK5rB,MAAO,CAAE2uB,UAAW,qBACvB,yBAAKhvB,UAAU,cACb,yBAAKA,UAAU,oBACb,2BACExB,KAAK,WACL0C,KAAK,QACLuF,GAAG,cACHmG,QAAStO,EAAMqwB,WACf7jB,SAAU,kBAAM5D,EAAS,2BAAK5I,GAAN,IAAaqwB,YAAarwB,EAAMqwB,iBAC1D,2BAAOxT,QAAQ,eAAehc,EAAK,kBA5BlB,WACvB,GAAIb,EAAMqwB,WACR,OAAO,kBAAC,GAAD,CAAYM,eAAgBzuB,EAAMyuB,eAAgBR,OAAQjuB,EAAMiuB,OAAQD,gBAAiB,SAAAU,GAAI,OAAI1uB,EAAMguB,gBAAgBU,MA8B7HC,GAED,yBAAKhuB,MAAM,cACT,2BAAOga,QAAQ,aAAahc,EAAK,mBACjC,4BAAQgC,MAAM,eAAesF,GAAG,YAAYvF,KAAK,UAAU4J,SAAU,SAAAX,GAAK,OA1BjD1L,EA0B4E0L,EAAMY,OAAOtM,WAxBpHyI,EADY,SAAVzI,EACO,2BAAKH,GAAN,IAAauwB,gBAAgB,IAE5B,2BAAKvwB,GAAN,IAAauwB,gBAAgB,EAAOD,wBAAwB,KAJzC,IAAAnwB,IAHtB+B,EAAM4uB,SAAS3sB,KAAI,SAAA4sB,GAAI,OAAI,4BAAQ5wB,MAAO4wB,GAAOA,QAkCtD,yBAAKrvB,UAAS,8CAAyC1B,EAAMuwB,eAAiB,OAAS,SACrF,yBAAK7uB,UAAU,oBACb,2BACExB,KAAK,WACL0C,KAAK,eACLuF,GAAG,aACHmG,QAAStO,EAAMswB,uBACf9jB,SAAU,kBAAM5D,EAAS,2BAAK5I,GAAN,IAAaswB,wBAAyBtwB,EAAMswB,6BACtE,2BAAOzT,QAAQ,cAAchc,EAAK,+BAItC,yBAAKa,UAAW1B,EAAMswB,uBAAyB,yBAA2B,QACxE,yBAAK5uB,UAAU,cACb,2BAAOmb,QAAQ,cAAchc,EAAKqjB,UAClC,2BAAOhkB,KAAK,OAAOwB,UAAU,eAAeyG,GAAG,aAAavF,KAAK,kBAGnE,kBAAC,GAAD,CAAUA,KAAK,sBAGjB,kBAAC,GAAD,CACE4J,SAAU,SAAA8B,GAAO,OAAI1F,EAAS,2BAAK5I,GAAN,IAAawvB,cAAelhB,MACzD1L,KAAK,QACLuF,GAAG,UACHmG,QAAStO,EAAMwvB,cACfzc,MAAOlS,EAAK,4BAEd,kBAAC,GAAD,CACEyN,QAAStO,EAAMwvB,cACff,WAAYA,EACZY,KAAM,CAAC,CAAElnB,GAAI,EAAG2mB,SAAS,EAAOC,OAAQ,IACxCQ,eAAgBb,EAChBY,wBAAyB,kBAAM1mB,EAAS,2BAAK5I,GAAN,IAAawvB,eAAe,WCwD5DwB,I,OA9IK,SAAA9uB,GAClB,IAAMvB,EAAQ8H,aAAaC,QAAQ,SAC3B7H,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KAEFme,GADU1b,cACC8b,eAJU,EAKahT,mBAAS,IALtB,mBAKpBiT,EALoB,KAKNC,EALM,OAMOlT,mBAAS,IANhB,mBAMpBmT,EANoB,KAMTC,EANS,OAODpT,mBAAS,CACjCpH,KAAM,GACNisB,cAAe,GACf5lB,SAAS,EACTsiB,OAAQ,KAXiB,mBAOpB3tB,EAPoB,KAOb4I,EAPa,KAc3BrF,qBAAU,WAAO,IACPoqB,EAAWzrB,EAAXyrB,OAER3O,EAASzC,GAAiB,eAC1ByC,ErCnBK,CACL9e,KxCVkC,yBwCWlCC,MAAO,KqCmBHwtB,EACF/N,EAAU+N,GAEV/N,MAED,IAEH,IAAMA,EAAY,WAAkB,IAAjB+N,EAAgB,uDAAP,GAC1BD,GAAkBC,GACfvZ,MAAK,SAAAgC,GACJxN,EAAS,2BACJ5I,GADG,IAEN2tB,SACAsD,cAAe,GACfjsB,KAAMoR,EAASpR,KACfqG,SAAS,QAGZ6O,OAAM,SAAAC,GACLvR,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAC9BwG,QAAQjR,MAAMuZ,OAId4F,EAAoB,SAAAlU,GACxBA,EAAMuG,iBACN,IAFiC,EAE7B8e,EAAS,GAFoB,eAIN,IAAIxZ,SAAS7L,EAAMY,QAASwT,WAJtB,IAIjC,2BAAkE,CAAC,IAAD,yBAAxDrd,EAAwD,KAAlDzC,EAAkD,KAChE+wB,EAAOtuB,GAAQzC,GALgB,8BAQjC+wB,EAAM,SAAe,WAEc,IAA/B7hB,OAAO6Q,KAAKgR,GAAQ/qB,QAAgB+qB,EAAO/Q,cAAgB9Q,SAC7DzG,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KN2BT,SAACrG,GAC1B,IAAIob,EAAiB,IAAI1I,SAEzB,IAAK,IAAIrT,KAAOW,EACdob,EAAezI,OAAOtT,EAAKW,EAAKX,IAGlC,OAAOwP,KAAM+D,KAAK8E,GAAW+Q,GAAgBrN,EAAgB,CAC3DP,OAAQ,CACNlf,MAAO8b,QMlCP0U,CAAYD,GACT9c,MAAK,SAAAlJ,GACJ,GAAsB,MAAlBA,EAAOwS,OAAgB,CAAC,IAAD,EAC6CxS,EAAOlG,KAA1Dqa,EADM,EACjBiB,UAAiCf,EADhB,EACQgB,OAAmB6Q,EAD3B,EAC2BA,IAAK/sB,EADhC,EACgCA,IAAKgtB,EADrC,EACqCA,IAE1DhS,GACFC,EAAgBD,GAChBG,EAAa,IACb5W,EAAS,2BAAK5I,GAAN,IAAaixB,cAAe,GAAI5lB,SAAS,OAEjDiU,EAAgB,IAChBE,EAAaD,GAEb3W,EAAS,2BAAK5I,GAAN,IAAaixB,cAAe,CAAEG,MAAK/sB,MAAKgtB,OAAOhmB,SAAS,UAIrE6O,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,QAIlC,OACE,yBAAKzY,UAAU,2BACb,kBAAC,GAAD,CAAeiB,KAAM3C,EAAMgF,KAAKrC,KAAM2E,KAAMtH,EAAMgF,KAAKsC,KAAMoW,OAAQ1d,EAAMgF,KAAK0Y,QAC7E1d,EAAMqL,QAAU,kBAAC,EAAD,MACf,0BAAMqV,SAAU,SAAA7U,GAAK,OAAIkU,EAAkBlU,IAAQ1D,GAAG,YACpD,2BAAOjI,KAAK,SAAS0C,KAAK,QAAQzC,MAAOQ,IAGvC0O,OAAO4Q,QAAQjgB,EAAMixB,eAAe9qB,OAC/B,oCACD,kBAAC,GAAD,CACEgC,GAAG,MACHvF,KAAK,QACLmQ,MAAOlS,EAAK,WACZqM,aAAclN,EAAMixB,cAAcI,MAEpC,kBAAC,GAAD,CACElpB,GAAG,MACHvF,KAAK,QACLmQ,MAAOlS,EAAK,mBACZqM,aAAclN,EAAMixB,cAAcG,MAEpC,kBAAC,GAAD,CACEjpB,GAAG,QACHvF,KAAK,MACLmQ,MAAOlS,EAAK,WACZqM,aAAclN,EAAMixB,cAAc5sB,MAEpC,yBAAK3C,UAAU,mBACb,4BAAQxB,KAAK,SAASwB,UAAU,MAAMuB,QAAS,kBAAMf,EAAMovB,kBAAkBtxB,EAAMixB,iBAAiBpwB,EAAKugB,KACzG,4BAAQlhB,KAAK,SAASwB,UAAU,OAAOuB,QAASf,EAAMsO,YAAa3P,EAAKkgB,QAGzE,oCACD,kBAAC,GAAD,CAAW5Y,GAAG,SAASvF,KAAK,WAAWmQ,MAAOlS,EAAI,OAAYV,MAAOH,EAAMgF,KAAK2oB,SAEhF,kBAAC,GAAD,CAAWxlB,GAAG,QAAQvF,KAAK,UAAUmQ,MAAOlS,EAAI,MAAWV,MAAOH,EAAMgF,KAAKusB,QAE7E,kBAAC,GAAD,CAAWppB,GAAG,UAAUvF,KAAK,YAAYmQ,MAAOlS,EAAI,QAAa+b,cAAa,WAAM/b,EAAK,iBAAX,KAAgCV,MAAOH,EAAMgF,KAAKwsB,UAEhI,kBAAC,GAAD,CAAWrpB,GAAG,QAAQvF,KAAK,UAAUmQ,MAAOlS,EAAK,oBAAqBV,MAAOH,EAAMgF,KAAKhF,QAExF,kBAAC,GAAD,CAAWmI,GAAG,WAAWvF,KAAK,aAAamQ,MAAOlS,EAAK,mBAAoBV,MAAOH,EAAMgF,KAAKysB,WAE7F,kBAAC,GAAD,CAAWtpB,GAAG,MAAMvF,KAAK,QAAQmQ,MAAOlS,EAAI,aAAkBV,MAAOH,EAAMgF,KAAK0sB,MAEhF,yBAAKhwB,UAAU,mBACb,4BAAQxB,KAAK,SAASwB,UAAU,OAAOb,EAAKytB,UAC5C,4BAAQpuB,KAAK,SAASwB,UAAU,OAAOuB,QAASf,EAAMsO,YAAa3P,EAAKkgB,QAKhF,yBAAKrf,UAAU,SAAQ,0BAAMA,UAAU,iBAAiB2d,IACxD,yBAAK3d,UAAU,WACb,0BAAMA,UAAU,cAAa,8BAAO+e,KAAWlB,IAA/C,WCqICoS,GAhQM,SAAAzvB,GAAU,IAAD,QACDE,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAA9CI,EADoB,EACpBA,KAAMC,EADc,EACdA,SACNE,EAAUoB,aAAY,SAAApC,GAAK,OAAIA,EAAMgB,SAArCA,MACAP,EAAY2B,aAAY,SAAApC,GAAK,OAAIA,EAAMwB,eAAvCf,QACFue,EAAWI,cACXze,EAAQ8H,aAAaC,QAAQ,SALP,EAMY0D,oBAAS,GANrB,mBAMrBlH,EANqB,KAMPgrB,EANO,KAOtB7sB,EAAUC,cAPY,EAQF8I,mBAAS,CACjCf,SAAS,EACTumB,YAAY,EACZC,aAAa,EACbC,cAAc,EACdC,qBAAqB,EACrBxS,UAAW,GACXyS,QAAS,GACTC,QAAS,GACTtE,OAAQ,GACRtO,aAAc,GACdyR,SAAU,GACVrC,WAAY,GACZC,QAAS,GACT+B,QAAS,GACTyB,UAAW,GACX3G,kBAAmB,KAxBO,mBAQrBvrB,EARqB,KAQd4I,EARc,KA2B5BrF,qBAAU,WACRyb,EAASzC,GAAiB,eAC1ByC,EtCxCK,CACL9e,KxCVkC,yBwCWlCC,MAAO,KsCwCPyI,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KPNzBwI,KAAMC,IAAI4I,GA1CD,4BA0CuB,CACrCmD,OAAQ,CACNlf,MAAO8b,QOMNrI,MAAK,SAAA4F,GACJpR,EAAS,2BACJ5I,GADG,IAENurB,kBAAmB4G,EAAyBnY,EAAIhV,KAAKotB,KACrDtB,SAAU9W,EAAIhV,KAAKqtB,MACnB5D,WAAYzU,EAAIhV,KAAKstB,OACrBJ,UAAWlY,EAAIhV,KAAKktB,UACpBxD,QAAS1U,EAAIhV,KAAKutB,aAClBlnB,SAAS,QAGZ6O,OAAM,SAAAC,GACLvR,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAC9BwG,QAAQjR,MAAMuZ,QAEjB,IAEH,IAAMgY,EAA2B,SAAA5G,GAC/B,IAAIrgB,EAAS,GAEb,IAAK,IAAI1E,KAAK+kB,EACZrgB,EAAO1H,KAAKgD,GAGd,OAAO0E,GA4BHsnB,EAAkB,SAACC,EAAOnkB,GAC9B1F,EAAS,2BAAK5I,GAAN,kBAAcyyB,EAAQnkB,MAG1ByR,EAAoB,SAAAlU,GACxBA,EAAMuG,iBACN,IAFiC,EAE7BsgB,EAAe,GAFc,eAIN,IAAIhb,SAAS7L,EAAMY,QAASwT,WAJtB,IAIjC,2BAAkE,CAAC,IAAD,yBAAxDrd,EAAwD,KAAlDzC,EAAkD,KAChEuyB,EAAa9vB,GAAQzC,GALU,8BAQQ,IAArCkP,OAAO6Q,KAAKwS,GAAcvsB,QAAgBusB,EAAavS,cAAgB9Q,SACzEzG,EAAS,CAAEyC,SAAS,IPpFJ,SAAArG,GACpB,IAAIob,EAAiB,IAAI1I,SAEzB,IAAK,IAAIrT,KAAOW,EACdob,EAAezI,OAAOtT,EAAKW,EAAKX,IAGlC,OAAOwP,KAAM+D,KAAK8E,GAtCF,4BAsCwB0D,GO8EpCuS,CAAOD,GACJte,MAAK,SAAAlJ,GACJ,GAAsB,MAAlBA,EAAOwS,OAAgB,CAAC,IAAD,EAC8BxS,EAAOlG,KAA3Cqa,EADM,EACjBiB,UAAiCf,EADhB,EACQgB,OAE7BlB,EACFzW,EAAS,2BAAK5I,GAAN,IAAaqf,eAAcE,YAAWlU,SAAS,KAEvD2T,EAASD,MAAmB3K,MAAK,WAC/BxL,EAAS,2BAAK5I,GAAN,IAAauf,YAAWF,aAAc,GAAIhU,SAAS,YAKlE6O,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,QAIlC,OACE,yBAAKzY,UAAU,yBACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAK+xB,OAE1B,kBAAC,GAAD,CAASjU,QAAQ,GACf,8BACA,yBAAKjd,UAAU,uBAAuBb,EAAK,kBAC3C,yBAAKa,UAAU,SACb,0BAAMA,UAAU,iBACb1B,EAAMqf,aAAe,kBAAC,IAAD,CAAiB1X,KAAK,yBAA4B,GACvE3H,EAAMqf,eAEX,yBAAK3d,UAAU,WACb,0BAAMA,UAAU,cACb1B,EAAMuf,UAAY,kBAAC,IAAD,CAAiB5X,KAAK,yBAA4B,GACrE,8BAAO8Y,KAAWzgB,EAAMuf,eAI9B,kBAAC,GAAD,KACGvf,EAAMqL,QAAU,kBAAC,EAAD,MACf,0BAAMqV,SAAU,SAAA7U,GAAK,OAAIkU,EAAkBlU,KACzC,2BAAO3L,KAAK,SAAS0C,KAAK,KAAKzC,MAAM,QACrC,2BAAOD,KAAK,SAAS0C,KAAK,QAAQzC,MAAOQ,IAEzC,yBAAKe,UAAU,cACb,2BAAOmb,QAAQ,UAAUhc,EAAK0jB,QAC9B,2BACErkB,KAAK,OACLwB,UAAU,eACVyG,GAAG,SACH0qB,UAAQ,EACRjwB,KAAK,WACLmN,OAAQ,SAAAlE,GAAK,OAtEC1L,EAsEuB0L,EAAMY,OAAOtM,WArE9DyI,EAAS,2BAAK5I,GAAN,IAAaywB,QAAQ,OAAD,OAAStwB,MADX,IAAAA,MAyElB,yBAAK0C,MAAM,cACT,2BAAOga,QAAQ,WAAWhc,EAAK,eAC/B,4BAAQgC,MAAM,eAAesF,GAAG,KAAKvF,KAAK,QA/F7C5C,EAAMurB,kBAAkBpnB,KAAI,SAAAub,GAAE,OAAI,4BAAQvf,MAAOuf,GAAKA,QAoGrD,yBAAK7c,MAAM,cACT,2BAAOga,QAAQ,WAAWhc,EAAKiyB,SAC/B,8BACEjwB,MAAM,eACNsF,GAAG,UACH6C,KAAK,IACLpI,KAAK,YACLsK,aAAclN,EAAMywB,WAKa,MAAnCzvB,EAAMF,GAAN,aACE,kBAAC,GAAD,CACE0L,SAAU,SAAA8B,GAAO,OAAIkkB,EAAgB,aAAclkB,IACnD1L,KAAK,QACLuF,GAAG,cACH4K,MAAK,UAAElS,EAAK,sBAAP,QAAyB,cAC9Buc,eAAgBpd,EAAM4xB,aAKU,MAApC5wB,EAAMF,GAAN,cACE,kBAAC,GAAD,CACE0L,SAAU,SAAA8B,GAAO,OAAIkkB,EAAgB,cAAelkB,IACpD1L,KAAK,SACLuF,GAAG,eACH4K,MAAK,UAAElS,EAAK,uBAAP,QAA0B,eAC/Buc,eAAgBpd,EAAM6xB,cAK1BpxB,EAAQsyB,cACN,oCACE,kBAAC,GAAD,CACEvmB,SAAU,SAAA8B,GAAO,OAAIkkB,EAAgB,eAAgBlkB,IACrD1L,KAAK,UACLuF,GAAG,QACH4K,MAAK,UAAElS,EAAK,wBAAP,QAA2B,gBAChCuc,eAAgBpd,EAAM8xB,eAGtB9xB,EAAM8xB,cAAiB,yBAAK/vB,MAAO,CAAE2uB,UAAW,qBAC9C,kBAAC,GAAD,CACEvoB,GAAG,mBACHvF,KAAK,cACLmQ,MAAOlS,EAAK,oBACZqM,aAAclN,EAAMkyB,cAOhC,yBAAKxwB,UAAU,sCACb,4BAAQxB,KAAK,SAAS+C,QAAS,WAzJzC2F,EAAS,2BAAK5I,GAAN,IAAa+xB,qBAAsB/xB,EAAM+xB,yBA0JpClxB,EAAK,oBACLb,EAAM+xB,oBAAsB,kBAAC,IAAD,CAAiBpqB,KAAK,eAAkB,kBAAC,IAAD,CAAiBA,KAAK,eAxJ3E,WAC5B,GAAI3H,EAAM+xB,oBACR,OAAO,kBAAC,GAAD,CACLtD,WAAYzuB,EAAMyuB,WAClByB,gBAAiB,SAAAU,GAAI,OAAIV,EAAgBU,IACzCD,eAAgB3wB,EAAMgyB,QACtB7B,OAAQnwB,EAAMiyB,QACdtE,OAAQ3tB,EAAM2tB,OACdmD,SAAU9wB,EAAM8wB,SAChBpC,QAAS1uB,EAAM0uB,UAmJVsE,GAED,yBAAKtxB,UAAU,mBACb,4BAAQxB,KAAK,SAASwB,UAAU,OAAOb,EAAKugB,KAC5C,4BAAQlhB,KAAK,SAASwB,UAAU,OAAOuB,QAAS,kBAAMI,EAAQG,KAAK,gBAAgB3C,EAAKkgB,SAKhG,yBAAKrf,UAAS,qBAAgBwD,EAAe,OAAS,IAAMiD,GAAG,gBAAgByiB,SAAS,KAAKjpB,KAAK,SAASkpB,kBAAgB,oBAAoB9O,cAAY,OAAOha,MAAO,CAAE+oB,QAAS5lB,EAAe,QAAU,SAC3M,yBAAKxD,UAAU,eAAeC,KAAK,YACjC,yBAAKD,UAAU,iBACb,yBAAKA,UAAU,gBACb,4BAAKb,EAAK,mBACV,4BAAQX,KAAK,SAAS+C,QAAS,kBAAMitB,GAAgB,IAAQxuB,UAAU,QAAQspB,eAAa,QAAQrY,aAAW,SAC7G,0BAAMoJ,cAAY,QAAlB,UAGJ,kBAAC,GAAD,CACE4R,OAAQ3tB,EAAM2tB,OACdnd,WAAY,kBAAM0f,GAAgB,IAClCoB,kBAAmB,YAAmB,IAAhBF,EAAe,EAAfA,IAAK/sB,EAAU,EAAVA,IACzBuE,EAAS,2BAAK5I,GAAN,IAAagyB,QAASZ,EAAKa,QAAS5tB,KAC5C6rB,GAAgB,WCzOjB+C,I,OA/BqB,SAAC,GAAkF,IAAhF9qB,EAA+E,EAA/EA,GAAI4K,EAA2E,EAA3EA,MAAOnQ,EAAoE,EAApEA,KAAoE,IAA9DsK,oBAA8D,MAA/C,GAA+C,MAA3C0P,qBAA2C,MAA3B,GAA2B,MAAvBjN,gBAAuB,WAChFvD,mBAAS,IADuE,mBAC7G4Q,EAD6G,KACjGC,EADiG,KASpH,OANA1Z,qBAAU,WACJ2J,GACF+P,EAAc/P,KAEf,CAACA,IAGF,yBAAKxL,UAAU,gCACb,2BAAOA,UAAU,gBAAgBmb,QAAS1U,GACvC4K,EACD,8BAAO6J,GAAiB,KAE1B,yBAAKlb,UAAU,iBACb,2BACEwL,aAAY,gBAAWA,GACvBhN,KAAK,OACLwB,UAAU,eACVyG,GAAIA,EACJhI,MAAO6c,EACPxQ,SAAU,SAAAX,GAAK,OAAIoR,EAAcpR,EAAMY,OAAOtM,QAC9CwP,SAAUA,EACV/M,KAAMA,IACR,8BAAM,qCAAOoa,SC1BfN,GAAWhR,OAAO+H,SAASC,OA6CpBwf,GAAa,CACxB,OACA,OACA,QACA,MACA,QACA,SACA,SACA,OACA,QACA,OACA,OACA,SACA,SACA,QACA,QACA,SACA,QACA,SACA,MACA,SACA,WACA,OACA,UACA,OACA,QACA,UACA,QACA,WACA,QACA,SACA,SACA,SACA,SACA,SACA,UACA,QACA,WC8EaC,I,OAhJM,SAAAjxB,GACnB,IAAMvB,EAAQ8H,aAAaC,QAAQ,SADP,EAEDtG,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAA9CI,EAFoB,EAEpBA,KAAMC,EAFc,EAEdA,SACRuC,EAAUC,cACV0b,EAAWI,cAJW,EAKYhT,mBAAS,IALrB,mBAKrBiT,EALqB,KAKPC,EALO,OAMMlT,mBAAS,IANf,mBAMrBmT,EANqB,KAMVC,EANU,OAOFpT,mBAAS,CACjCpH,KAAM,GACNqG,SAAS,EACT+nB,uBAAwB,KAVE,mBAOrBpzB,EAPqB,KAOd4I,EAPc,KAa5BrF,qBAAU,WACR,IACQ8vB,EADU1T,KAAG7K,MAAMzR,EAAQoQ,SAAS7N,OAAQ,CAAEmP,mBAAmB,IACjEse,SAERrU,EAASzC,GAAiB,cAC1ByC,EzC3BK,CACL9e,KxCVkC,yBwCWlCC,MAAO,KyC2BHkzB,IACFzqB,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAC9BuU,EAAUyT,MAEX,IAEH,IAAMzT,EAAY,SAAAyT,ID2CW,SAACA,GAC9B,OAAOxf,KAAMC,IAAI4I,GAlFD,4BAkFuB,CACrCmD,OAAQ,CACNwT,WACA1yB,MAAO8b,SC9CT6W,CAAgBD,GACbjf,MAAK,SAAAgC,GACJxN,EAAS,2BACJ5I,GADG,IAENgF,KAAMoR,EAASpR,KACfouB,uBAAwBhd,EAASpR,KAAKuuB,OAAO3vB,MAAM,KAAKG,OAAO,GAAGC,KAAK,KACvEqH,SAAS,QAGZ6O,OAAM,SAAAC,GACLvR,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAC9BwG,QAAQjR,MAAMuZ,OAId4F,EAAoB,SAAAlU,GACxBA,EAAMuG,iBACN,IAFiC,EAE7BohB,EAAkB,GAFW,eAIN,IAAI9b,SAAS7L,EAAMY,QAASwT,WAJtB,IAIjC,2BAAkE,CAAC,IAAD,yBAAxDrd,EAAwD,KAAlDzC,EAAkD,KAChEqzB,EAAgB5wB,GAAQzC,GALO,8BAQjCqzB,EAAe,WAAiBxzB,EAAMgF,KAAKquB,SAC3CG,EAAe,SAAf,UAAiC1yB,EAAjC,YAA6Cd,EAAMozB,wBAEP,IAAxC/jB,OAAO6Q,KAAKsT,GAAiBrtB,QAAgBqtB,EAAgBrT,cAAgB9Q,SAC/EzG,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KDwBN,SAACrG,EAAMquB,GACnC,IAAIjT,EAAiB,IAAI1I,SAEzB,IAAK,IAAIrT,KAAOW,EACdob,EAAezI,OAAOtT,EAAKW,EAAKX,IAGlC,OAAOwP,KAAM+D,KAAK8E,GAhGM,4BAgGwB0D,EAAgB,CAC9DP,OAAQ,CACNwT,WACA1yB,MAAO8b,QChCPgX,CAAeD,EAAiBxzB,EAAMgF,KAAKquB,UACxCjf,MAAK,SAAAlJ,GACJ,GAAsB,MAAlBA,EAAOwS,OAAgB,CAAC,IAAD,EACKxS,EAAOlG,KAA7Bsb,EADiB,EACjBA,UAAWC,EADM,EACNA,OAEfD,GACFd,EAAa,IACbF,EAAgBgB,IAEhBtB,EAASD,MAAmB3K,MAAK,WAC/BoL,EAAae,GACbjB,EAAgB,WAKvBlL,MAAK,kBAAMwL,EAAU5f,EAAMgF,KAAKquB,aAChCnZ,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,QAQlC,OACE,yBAAKzY,UAAU,yBACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAK6yB,MAE1B,kBAAC,GAAD,CAAS/U,QAAQ,GACf,8BACA,yBAAKjd,UAAU,uBAAuBb,EAAK,qBAC3C,yBAAKa,UAAU,SACb,0BAAMA,UAAU,iBACb2d,EAAe,kBAAC,IAAD,CAAiB1X,KAAK,yBAA4B,GADpE,IACyE0X,IAG3E,yBAAK3d,UAAU,WACb,0BAAMA,UAAU,cACb6d,EAAY,kBAAC,IAAD,CAAiB5X,KAAK,yBAA4B,GADjE,IACqE,8BAAO8Y,KAAWlB,OAI3F,kBAAC,GAAD,CAAe5c,KAAM3C,EAAMgF,KAAKrC,KAAM2E,KAAMtH,EAAMgF,KAAKsC,KAAMoW,OAAQ1d,EAAMgF,KAAK0Y,QAC7E1d,EAAMqL,QAAU,kBAAC,EAAD,MACf,0BAAMqV,SAAU,SAAA7U,GAAK,OAAIkU,EAAkBlU,IAAQ1D,GAAG,WACpD,2BAAOjI,KAAK,SAAS0C,KAAK,OAAOzC,MAAM,SACvC,2BAAOD,KAAK,SAAS0C,KAAK,QAAQzC,MAAOQ,IAEzC,kBAAC,GAAD,CAA6BwH,GAAG,WAAWvF,KAAK,aAAamQ,MAAOlS,EAAI,SAAcqM,aAAclN,EAAMgF,KAAKquB,SAAU1jB,UAAQ,IAEjI,yBAAKjO,UAAU,cACb,yBAAKA,UAAU,iBACb,2BAAOmb,QAAQ,QAAQhc,EAAKmkB,OAE9B,yBAAKtjB,UAAU,iBACb,2BACExB,KAAK,OACLwB,UAAU,eACVyG,GAAG,OACHhI,MAAOH,EAAMozB,uBACb5mB,SAAU,SAAAX,GAAK,OAzCE1L,EAyC2B0L,EAAMY,OAAOtM,WAxCvEyI,EAAS,2BAAK5I,GAAN,IAAaozB,uBAAwBjzB,KADd,IAAAA,GA0CjByC,KAAK,aACP,0BAAMlB,UAAU,UAAS,qCAAOZ,EAAP,YAAmBd,EAAMozB,4BAItD,kBAAC,GAAD,CAAUxwB,KAAK,aAAasK,aAAclN,EAAMgF,KAAK2uB,WAErD,kBAAC,GAAD,CAAWxrB,GAAG,OAAOvF,KAAK,SAASmQ,MAAOlS,EAAI,KAAUV,MAAOH,EAAMgF,KAAK9E,KAAMyP,UAAQ,IAExF,kBAAC,GAAD,CAAWxH,GAAG,OAAOvF,KAAK,SAASmQ,MAAOlS,EAAI,KAAUV,MAAOH,EAAMgF,KAAK4uB,KAAMjkB,UAAQ,IAExF,kBAAC,GAAD,CAAWxH,GAAG,UAAUvF,KAAK,YAAYmQ,MAAOlS,EAAI,QAAaV,MAAOH,EAAMgF,KAAKme,QAASxT,UAAQ,IAEpG,yBAAKjO,UAAU,mBACb,4BAAQxB,KAAK,SAASwB,UAAU,OAAOb,EAAK8Z,MAC5C,4BAAQza,KAAK,SAASwB,UAAU,OAAOuB,QAAS,kBAAMI,EAAQG,KAAK,eAAe3C,EAAKkgB,YCtJ/FrE,GAAWhR,OAAO+H,SAASC,OAK3BmgB,GAAe,yCAoCRtS,GAAe,SAAAzC,GAC1B,OAAOjL,KAAMC,IAAI4I,GAAWoC,EAAK,CAC/Be,OAAQ,CACNlf,MAAO8b,SCkHEqX,I,OAhJM,SAAA5xB,GACnB,IAAMvB,EAAQ8H,aAAaC,QAAQ,SAC3B7H,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACFwC,EAAUC,cACV0b,EAAWI,cAJW,EAKYhT,mBAAS,IALrB,mBAKrBiT,EALqB,KAKPC,EALO,OAMMlT,mBAAS,IANf,mBAMrBmT,EANqB,KAMVC,EANU,OAOFpT,mBAAS,CACjCpH,KAAM,GACNqG,SAAS,IATiB,mBAOrBrL,EAPqB,KAOd4I,EAPc,KAY5BrF,qBAAU,WACR,IACQwwB,EADUpU,KAAG7K,MAAMzR,EAAQoQ,SAAS7N,OAAQ,CAAEmP,mBAAmB,IACjEgf,KAER/U,EAASzC,GAAiB,oBAC1ByC,E3CxBK,CACL9e,KxCVkC,yBwCWlCC,MAAO,K2CwBH4zB,IACFnrB,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAC9BuU,EAAUmU,MAEX,IAEH,IAAMnU,EAAY,SAAAmU,IDkDW,SAAAA,GAC7B,OAAOlgB,KAAMC,IAAI4I,GAvFK,kCAuFuB,CAC3CmD,OAAQ,CACNkU,OACApzB,MAAO8b,SCrDTuX,CAAgBD,GACb3f,MAAK,SAAAgC,GACJxN,EAAS,2BACJ5I,GADG,IAENgF,KAAMoR,EAASpR,KACfqG,SAAS,QAGZ6O,OAAM,SAAAC,GACLvR,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAC9BwG,QAAQjR,MAAMuZ,OAId4F,EAAoB,SAAAlU,GACxBA,EAAMuG,iBACN,IAFiC,EAE7Boe,EAAgB,GAFa,eAIN,IAAI9Y,SAAS7L,EAAMY,QAASwT,WAJtB,IAIjC,2BAAkE,CAAC,IAAD,yBAAxDrd,EAAwD,KAAlDzC,EAAkD,KAChEqwB,EAAc5tB,GAAQzC,GALS,8BAQS,IAAtCkP,OAAO6Q,KAAKsQ,GAAerqB,QAAgBqqB,EAAcrQ,cAAgB9Q,SAC3EzG,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KDmCN,SAACrG,EAAM+uB,GACnC,IAAI3T,EAAiB,IAAI1I,SAEzB,IAAK,IAAIrT,KAAOW,EACdob,EAAezI,OAAOtT,EAAKW,EAAKX,IAGlC,OAAOwP,KAAM+D,KAAK8E,GArGM,kCAqGwB0D,EAAgB,CAC9DP,OAAQ,CACNkU,OACApzB,MAAO8b,QC3CPwX,CAAezD,EAAexwB,EAAMgF,KAAK+uB,MACtC3f,MAAK,SAAAlJ,GACJ,GAAsB,MAAlBA,EAAOwS,OAAgB,CAAC,IAAD,EACKxS,EAAOlG,KAA7Bsb,EADiB,EACjBA,UAAWC,EADM,EACNA,OAEnBjB,EAAgBgB,GAAa,IAC7Bd,EAAae,GAAU,QAG1BnM,MAAK,kBAAMwL,EAAU5f,EAAMgF,KAAK+uB,SAChC7Z,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,QAIlC,OACE,yBAAKzY,UAAU,+BACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAKqzB,YAE1B,kBAAC,GAAD,CAASvV,QAAQ,GACf,8BACA,yBAAKjd,UAAU,uBAAuBb,EAAK,0BAC3C,yBAAKa,UAAU,SACb,0BAAMA,UAAU,iBACb2d,EAAe,kBAAC,IAAD,CAAiB1X,KAAK,yBAA4B,GADpE,IACyE0X,IAG3E,yBAAK3d,UAAU,WACb,0BAAMA,UAAU,cACb6d,EAAY,kBAAC,IAAD,CAAiB5X,KAAK,yBAA4B,GADjE,IACqE,8BAAO8Y,KAAWlB,OAI3F,kBAAC,GAAD,CAAe5c,KAAM3C,EAAMgF,KAAKrC,KAAM2E,KAAMtH,EAAMgF,KAAKsC,KAAMoW,OAAQ1d,EAAMgF,KAAK0Y,QAC7E1d,EAAMqL,QAAU,kBAAC,EAAD,MACf,0BAAMqV,SAAU,SAAA7U,GAAK,OAAIkU,EAAkBlU,IAAQ1D,GAAG,iBACpD,2BAAOjI,KAAK,SAAS0C,KAAK,OAAOzC,MAAM,SACvC,2BAAOD,KAAK,SAAS0C,KAAK,QAAQzC,MAAOQ,IAEzC,yBAAKe,UAAU,2BACb,2BAAOA,UAAU,gBAAgBmb,QAAQ,UACtChc,EAAI,QAEP,4BAAQa,UAAU,eAAeyG,GAAG,SAASvF,KAAK,YAChD,4BAAQsD,SAAgC,SAAtBlG,EAAMgF,KAAK/E,OAAmBE,MAAM,QAAtD,QACA,4BAAQ+F,SAAgC,WAAtBlG,EAAMgF,KAAK/E,OAAqBE,MAAM,UAAxD,YAIJ,yBAAKuB,UAAU,2BACb,2BAAOA,UAAU,gBAAgBmb,QAAQ,YACtChc,EAAI,UAEP,4BAAQa,UAAU,eAAeyG,GAAG,WAAWvF,KAAK,cAClD,4BAAQsD,SAAkC,QAAxBlG,EAAMgF,KAAKmvB,SAAoBh0B,MAAM,OAAOU,EAAI,KAClE,4BAAQqF,SAAkC,QAAxBlG,EAAMgF,KAAKmvB,SAAoBh0B,MAAM,OAAOU,EAAI,KAClE,4BAAQqF,SAAkC,SAAxBlG,EAAMgF,KAAKmvB,SAAqBh0B,MAAM,QAAQU,EAAI,QAIxE,kBAAC,GAAD,CACE+b,cAAe/b,EAAK,yBACpBV,MAAOH,EAAMgF,KAAKovB,KAClBrhB,MAAOlS,EAAI,KACX+B,KAAK,SACLuF,GAAG,SAEL,kBAAC,GAAD,CACEyU,cAAe/b,EAAK,4BACpBV,MAAOH,EAAMgF,KAAK0a,GAClB3M,MAAOlS,EAAK,cACZ+B,KAAK,OACLuF,GAAG,OAEL,kBAAC,GAAD,CACEyU,cAAe/b,EAAI,SACnBV,MAAOH,EAAMgF,KAAKqvB,QAClBthB,MAAOlS,EAAI,QACX+B,KAAK,YACLuF,GAAG,YAEL,yBAAKzG,UAAU,mBACb,4BAAQxB,KAAK,SAASwB,UAAU,OAAOb,EAAK8Z,MAC5C,4BAAQza,KAAK,SAASwB,UAAU,OAAOuB,QAAS,kBAAMI,EAAQG,KAAK,qBAAqB3C,EAAKkgB,YC7C5FtV,I,OArGC,SAAAvJ,GAAU,IAChBrB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KAER0C,qBAAU,WAGR,OAFAmI,OAAOhH,iBAAiB,QAASiH,GAE1B,kBAAMD,OAAO7G,oBAAoB,QAAS8G,MAChD,CAACzJ,EAAM0J,YAEV,IAAMD,EAAqB,SAAAE,GACzB,IAAIC,EAAuBrH,SAASsH,cAAc,gBAAkBtH,SAASsH,cAAc,kBAErE,KAAlBF,EAAMxG,SAAmByG,GAC3B5J,EAAM8J,iBAIV,OACE,yBAAKtK,UAAU,oBAAoBuK,IAAK/J,EAAM0J,WAC5C,yBAAKlK,UAAU,QACb,yBAAKA,UAAU,QAAQb,EAAKqL,WAC5B,yBAAKxK,UAAU,QAAQuB,QAAS,kBAAMf,EAAM8J,kBAAiB,kBAAC,IAAD,CAAiBrE,KAAK,YAErF,yBAAKjG,UAAU,QACb,4BACE,4BACE,0BAAMA,UAAU,QAAhB,KACA,0BAAMA,UAAU,eAAeb,EAAK,oBAEtC,4BACE,0BAAMa,UAAU,QAAhB,eACA,0BAAMA,UAAU,eAAeb,EAAK,eAEtC,4BACE,0BAAMa,UAAU,QAAhB,oBACA,0BAAMA,UAAU,eAAeb,EAAK,wBAEtC,wBAAIa,UAAU,aACZ,0BAAMA,UAAU,QAAhB,KACA,0BAAMA,UAAU,eAAeb,EAAK,qBAEtC,4BACE,0BAAMa,UAAU,QAAhB,KACA,0BAAMA,UAAU,eAAeb,EAAK,oBAEtC,4BACE,0BAAMa,UAAU,QAAhB,KACA,0BAAMA,UAAU,eAAeb,EAAK,oBAEtC,4BACE,0BAAMa,UAAU,QAAhB,KACA,0BAAMA,UAAU,eAAeb,EAAK,qBAEtC,4BACE,0BAAMa,UAAU,QAAhB,KACA,0BAAMA,UAAU,eAAeb,EAAK,mBAEtC,4BACE,0BAAMa,UAAU,QAAhB,KACA,0BAAMA,UAAU,eAAeb,EAAK,qBAEtC,4BACE,0BAAMa,UAAU,QAAhB,KACA,0BAAMA,UAAU,eAAeb,EAAK,wBAGxC,4BACE,4BACE,0BAAMa,UAAU,QAAhB,KACA,0BAAMA,UAAU,eAAeb,EAAK,qBAEtC,wBAAIa,UAAU,aACZ,0BAAMA,UAAU,QAAhB,KACA,0BAAMA,UAAU,eAAeb,EAAK,6BAEtC,wBAAIa,UAAU,aACZ,0BAAMA,UAAU,QAAhB,UACA,0BAAMA,UAAU,eAAeb,EAAK,oCAEtC,4BACE,0BAAMa,UAAU,QAAhB,UACA,0BAAMA,UAAU,eAAeb,EAAK,mCAEtC,4BACE,0BAAMa,UAAU,QAAhB,SACA,0BAAMA,UAAU,eAAeb,EAAK,2BAEtC,wBAAIa,UAAU,aACZ,0BAAMA,UAAU,QAAhB,UACA,0BAAMA,UAAU,eAAeb,EAAK,mCAEtC,4BACE,0BAAMa,UAAU,QAAhB,UACA,0BAAMA,UAAU,eAAeb,EAAK,0CCyHjCyzB,I,OA3MKC,gBAAK,SAAAryB,GAAU,IACzBrB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACFF,EAAQ8H,aAAaC,QAAQ,SAC7BsW,EAAWI,cACX/b,EAAUC,cAJgB,EAKN8I,mBAAS,CACjCf,SAAS,EACTkU,UAAW,GACXF,aAAc,GACdmV,QAAS,GACTC,QAAS,GACTvB,WAAY,GACZ3yB,KAAM,GACNm0B,cAAe,GACfC,mBAAoB,GACpBvB,uBAAwB,GACxB3E,WAAY,KAhBkB,mBAKzBzuB,EALyB,KAKlB4I,EALkB,KAmBhCrF,qBAAU,WACRyb,EAASzC,GAAiB,cAC1ByC,E7C3BK,CACL9e,KxCVkC,yBwCWlCC,MAAO,K6C2BPyI,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KLJzBwI,KAAMC,IAAI4I,GA7BO,4BKoCnBtI,MAAK,SAAAlJ,GACkB,MAAlBA,EAAOwS,QACT9U,EAAS,2BACJ5I,GADG,IAENkzB,cACA3yB,KAAM2K,EAAOlG,KAAKzE,KAClBi0B,QAAStpB,EAAOlG,KAAKwvB,QACrB/F,WAAYvjB,EAAOlG,KAAKypB,WACxBiG,cAAexpB,EAAOlG,KAAK0vB,cAC3BD,QAASvpB,EAAOlG,KAAKyvB,QACrBppB,SAAS,QAId6O,OAAM,SAAAC,GAAG,OAAItI,QAAQsI,IAAIA,QAC3B,IAEH,IA2BM4F,EAAoB,SAAAlU,GACxBA,EAAMuG,iBACN,IAFiC,EAE7BwiB,EAAc,GAFe,eAIN,IAAIld,SAAS7L,EAAMY,QAASwT,WAJtB,IAIjC,2BAAkE,CAAC,IAAD,yBAAxDrd,EAAwD,KAAlDzC,EAAkD,KAChEy0B,EAAYhyB,GAAQzC,GALW,8BAQjCy0B,EAAW,WAAiB50B,EAAM20B,mBAClCC,EAAW,SAAe50B,EAAMozB,uBAEQ,IAApC/jB,OAAO6Q,KAAK0U,GAAazuB,QAAgByuB,EAAYzU,cAAgB9Q,SACvEzG,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KL5DT,SAACrG,GAC1B,IAAIob,EAAiB,IAAI1I,SAEzB,IAAK,IAAIrT,KAAOW,EACdob,EAAezI,OAAOtT,EAAKW,EAAKX,IAGlC,OAAOwP,KAAM+D,KAAK8E,GAxCA,2BAwCwB0D,GKsDtCyU,CAAYD,GACTxgB,MAAK,SAAAlJ,GACJ,GAAsB,MAAlBA,EAAOwS,OAAgB,CAAC,IAAD,EAC8BxS,EAAOlG,KAA3Cqa,EADM,EACjBiB,UAAiCf,EADhB,EACQgB,OAE7BlB,EACFzW,EAAS,2BAAK5I,GAAN,IAAaqf,eAAcE,UAAW,GAAIlU,SAAS,KAE3D2T,EAASD,MAAmB3K,MAAK,WAC/BxL,EAAS,2BAAK5I,GAAN,IAAauf,YAAWF,aAAc,GAAIhU,SAAS,YAKlE6O,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,QAIlC,OACE,yBAAKzY,UAAU,wBACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAK6yB,MAE1B,kBAAC,GAAD,CAAS/U,QAAQ,GACf,8BACA,yBAAKjd,UAAU,uBAAuBb,EAAK,oBAC3C,yBAAKa,UAAU,SACb,0BAAMA,UAAU,iBACb1B,EAAMqf,aAAe,kBAAC,IAAD,CAAiB1X,KAAK,yBAA4B,GACvE3H,EAAMqf,eAEX,yBAAK3d,UAAU,WACb,0BAAMA,UAAU,cACb1B,EAAMuf,UAAY,kBAAC,IAAD,CAAiB5X,KAAK,yBAA4B,GACrE,8BAAO8Y,KAAWzgB,EAAMuf,eAI9B,kBAAC,GAAD,KACGvf,EAAMqL,QAAU,kBAAC,EAAD,MACf,0BAAMqV,SAAU,SAAA7U,GAAK,OAAIkU,EAAkBlU,KACzC,2BAAO3L,KAAK,SAAS0C,KAAK,KAAKzC,MAAM,QACrC,2BAAOD,KAAK,SAAS0C,KAAK,QAAQzC,MAAOQ,IAEzC,0BAAMe,UAAU,UAAU+e,KAAWzgB,EAAMyuB,aAE3C,yBAAK/sB,UAAU,uBACb,2BAAOmb,QAAQ,YAAYhc,EAAKkkB,UAChC,yBAAKrjB,UAAU,iBACb,2BACExB,KAAK,OACLwB,UAAU,eACVyG,GAAG,WACHqE,SAAU,SAAAX,GAAK,OAtEF1L,EAsE2B0L,EAAMY,OAAOtM,WArEnEyI,EAAS,2BAAK5I,GAAN,IAAa20B,mBAAoBx0B,KADd,IAAAA,GAuEbA,MAAOH,EAAM20B,mBACb/xB,KAAK,eACP,0BAAMlB,UAAU,UAAhB,UAA6B1B,EAAMO,KAAnC,YAA2CP,EAAM20B,uBAIrD,yBAAKjzB,UAAU,cACb,yBAAKA,UAAU,iBACb,2BAAOmb,QAAQ,QAAQhc,EAAKmkB,MAC5B,0BAAMtjB,UAAU,UAAhB,IAA2B1B,EAAM00B,cAAjC,MAEF,yBAAKhzB,UAAU,iBACb,2BACExB,KAAK,OACLwB,UAAU,eACVyG,GAAG,OACHhI,MAAOH,EAAMozB,uBACb5mB,SAAU,SAAAX,GAAK,OA5FE1L,EA4F2B0L,EAAMY,OAAOtM,WA3FvEyI,EAAS,2BAAK5I,GAAN,IAAaozB,uBAAwBjzB,KADd,IAAAA,GA6FjByC,KAAK,aACP,0BAAMlB,UAAU,UAAhB,UAA6B1B,EAAMO,KAAnC,YAA2CP,EAAMozB,2BAIrD,kBAAC,GAAD,CAAUxwB,KAAM,eAEhB,yBAAKC,MAAM,cACT,2BAAOga,QAAQ,WAAWhc,EAAKi0B,MAC/B,4BAAQjyB,MAAM,eAAesF,GAAG,UAAUvF,KAAK,UAxHlD5C,EAAMw0B,QAAQrwB,KAAI,SAAC4wB,EAAQrxB,GAAT,OAAmB,4BAAQW,IAAKX,EAAOvD,MAAO40B,GAASA,QA6HxE,yBAAKlyB,MAAM,cACT,2BAAOga,QAAQ,WAAWhc,EAAKokB,MAC/B,4BAAQpiB,MAAM,eAAesF,GAAG,UAAUvF,KAAK,UA3HlD5C,EAAMy0B,QAAQtwB,KAAI,SAAC6wB,EAAQtxB,GAAT,OAAmB,4BAAQW,IAAKX,EAAOvD,MAAO60B,GAASA,QAgIxE,yBAAKnyB,MAAM,cACT,2BAAOga,QAAQ,aAAahc,EAAKo0B,SACjC,4BAAQpyB,MAAM,eAAesF,GAAG,YAAYvF,KAAK,aA9HpD5C,EAAMkzB,WAAW/uB,KAAI,SAAC+wB,EAAWxxB,GAAZ,OAC1B,4BACEW,IAAKX,EACLvD,MAAO+0B,EACPhvB,SAAwB,SAAdgvB,GACTA,QA8HG,yBAAKxzB,UAAU,cACb,2BAAOmb,QAAQ,sCAAsChc,EAAK,4CAC1D,2BACEX,KAAK,QACLwB,UAAU,eACVyG,GAAG,qCACHvF,KAAK,gBAGT,yBAAKlB,UAAU,mBACb,4BAAQxB,KAAK,SAASwB,UAAU,OAAOb,EAAKugB,KAC5C,4BAAQlhB,KAAK,SAASwB,UAAU,OAAOuB,QAAS,kBAAMI,EAAQG,KAAK,eAAe3C,EAAKkgB,cC3EtFoU,I,OAtHK,SAAAjzB,GAClB,IAAMvB,EAAQ8H,aAAaC,QAAQ,SAC3B7H,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACFme,EAAWI,cACX/b,EAAUC,cAJW,EAKD8I,mBAAS,CACjCf,SAAS,EACT+pB,QAAS,CACP,OACA,UAEFC,UAAW,CACT,MACA,MACA,QAEF9V,UAAW,GACXF,aAAc,KAjBW,mBAKpBrf,EALoB,KAKb4I,EALa,KAoB3BrF,qBAAU,WACRyb,EAASzC,GAAiB,oBAC1ByC,E9C7BK,CACL9e,KxCVkC,yBwCWlCC,MAAO,O8C4BN,IAEH,IAAM4f,EAAoB,SAAAlU,GACxBA,EAAMuG,iBACN,IAFiC,EAE7BkjB,EAAc,GAFe,eAIN,IAAI5d,SAAS7L,EAAMY,QAASwT,WAJtB,IAIjC,2BAAkE,CAAC,IAAD,yBAAxDrd,EAAwD,KAAlDzC,EAAkD,KAChEm1B,EAAY1yB,GAAQzC,GALW,8BAQO,IAApCkP,OAAO6Q,KAAKoV,GAAanvB,QAAgBmvB,EAAYnV,cAAgB9Q,SACvEzG,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KJ+BT,SAAArG,GACzB,IAAIob,EAAiB,IAAI1I,SAEzB,IAAK,IAAIrT,KAAOW,EACdob,EAAezI,OAAOtT,EAAKW,EAAKX,IAGlC,OAAOwP,KAAM+D,KAAK8E,GApFG,iCAoFwB0D,GIrCzCmV,CAAYD,GACTlhB,MAAK,SAAAlJ,GACJ,GAAsB,MAAlBA,EAAOwS,OAAgB,CAAC,IAAD,EAC8BxS,EAAOlG,KAA3Cqa,EADM,EACjBiB,UAAiCf,EADhB,EACQgB,OAE7BlB,EACFzW,EAAS,2BAAK5I,GAAN,IAAaqf,eAAcE,YAAWlU,SAAS,KAEvD2T,EAASD,MAAmB3K,MAAK,WAC/BxL,EAAS,2BAAK5I,GAAN,IAAauf,YAAWF,aAAc,GAAIhU,SAAS,YAKlE6O,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,QAIlC,OACE,yBAAKzY,UAAU,8BACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAKqzB,YAE1B,kBAAC,GAAD,CAASvV,QAAQ,GACf,8BACA,yBAAKjd,UAAU,uBAAuBb,EAAK,yBAC3C,yBAAKa,UAAU,SACb,0BAAMA,UAAU,iBACb1B,EAAMqf,aAAe,kBAAC,IAAD,CAAiB1X,KAAK,yBAA4B,GACvE3H,EAAMqf,eAEX,yBAAK3d,UAAU,WACb,0BAAMA,UAAU,cACb1B,EAAMuf,UAAY,kBAAC,IAAD,CAAiB5X,KAAK,yBAA4B,GACrE,8BAAO8Y,KAAWzgB,EAAMuf,eAI9B,kBAAC,GAAD,KACE,0BAAMmB,SAAU,SAAA7U,GAAK,OAAIkU,EAAkBlU,KACzC,2BAAO3L,KAAK,SAAS0C,KAAK,KAAKzC,MAAM,QACrC,2BAAOD,KAAK,SAAS0C,KAAK,QAAQzC,MAAOQ,IAEzC,kBAAC,GAAD,CACE2Z,QAASta,EAAMo1B,QACfxyB,KAAK,WACLuF,GAAG,SACH4K,MAAOlS,EAAI,SAEb,kBAAC,GAAD,CACEyZ,QAASta,EAAMq1B,UACfzyB,KAAK,aACLuF,GAAG,WACH4K,MAAOlS,EAAI,WAEb,kBAAC,GAAD,CACE+B,KAAK,SACLuF,GAAG,OACH4K,MAAOlS,EAAI,KACX+b,cAAe/b,EAAK,2BAEtB,kBAAC,GAAD,CACE+B,KAAK,OACLuF,GAAG,KACH4K,MAAOlS,EAAK,cACZ+b,cAAe/b,EAAK,8BAEtB,kBAAC,GAAD,CACE+B,KAAK,YACLuF,GAAG,UACH4K,MAAOlS,EAAI,QACX+b,cAAe/b,EAAI,WAErB,yBAAKa,UAAU,mBACb,4BAAQxB,KAAK,SAASwB,UAAU,OAAOb,EAAKugB,KAC5C,4BAAQlhB,KAAK,SAASwB,UAAU,OAAOuB,QAAS,kBAAMI,EAAQG,KAAK,qBAAqB3C,EAAKkgB,YC5HnGrE,GAAWhR,OAAO+H,SAASC,OAsBpB6N,GAAe,SAAAzC,GAC1B,OAAOjL,KAAMC,IAAI4I,GAAWoC,EAAK,CAC/Be,OAAQ,CACNlf,MAAO8b,SC5BA+Y,GAAmB,SAAA30B,GAAS,IAAD,gEACtC,MAAO,CACL40B,0BAA2B,CACzB,CAAE7yB,KAAI,UAAE/B,EAAK,uBAAP,QAA0B,eAAgBV,MAAO,KACvD,CAAEyC,KAAI,UAAE/B,EAAK,4BAAP,QAA+B,oBAAqBV,MAAO,OACjE,CAAEyC,KAAK,GAAD,OAAK/B,EAAK60B,OAAS,QAAnB,MAAgCv1B,MAAO,OAC7C,CAAEyC,KAAK,GAAD,OAAK/B,EAAK60B,OAAS,QAAnB,OAAiCv1B,MAAO,QAC9C,CAAEyC,KAAK,GAAD,OAAK/B,EAAK60B,OAAS,QAAnB,OAAiCv1B,MAAO,QAC9C,CAAEyC,KAAK,GAAD,OAAK/B,EAAK60B,OAAS,QAAnB,OAAiCv1B,MAAO,SAEhDw1B,wBAAyB,CACvB,CAAE/yB,KAAI,UAAE/B,EAAK,qBAAP,QAAwB,aAAcV,MAAO,KACnD,CAAEyC,KAAI,UAAE/B,EAAK,0BAAP,QAA6B,kBAAmBV,MAAO,OAC7D,CAAEyC,KAAK,GAAD,OAAK/B,EAAK60B,OAAS,QAAnB,MAAgCv1B,MAAO,OAC7C,CAAEyC,KAAK,GAAD,OAAK/B,EAAK60B,OAAS,QAAnB,OAAiCv1B,MAAO,SAEhDy1B,uBAAwB,CACtB,CAAEhzB,KAAI,UAAE/B,EAAK,oBAAP,QAAuB,YAAaV,MAAO,KACjD,CAAEyC,KAAI,UAAE/B,EAAK,wBAAP,QAA2B,gBAAiBV,MAAO,UACzD,CAAEyC,KAAI,UAAE/B,EAAK,yBAAP,QAA4B,iBAAkBV,MAAO,OAC3D,CAAEyC,KAAK,GAAD,OAAK/B,EAAK60B,OAAS,QAAnB,MAAgCv1B,MAAO,OAC7C,CAAEyC,KAAK,GAAD,OAAK/B,EAAK60B,OAAS,QAAnB,MAAgCv1B,MAAO,OAC7C,CAAEyC,KAAK,GAAD,OAAK/B,EAAK60B,OAAS,QAAnB,OAAiCv1B,MAAO,QAC9C,CAAEyC,KAAK,GAAD,OAAK/B,EAAK60B,OAAS,QAAnB,OAAiCv1B,MAAO,SAEhD01B,aAAc,CACZ,CAAEjzB,KAAM,KAAMzC,MAAO,KACrB,CAAEyC,KAAM,KAAMzC,MAAO,KACrB,CAAEyC,KAAM,KAAMzC,MAAO,KACrB,CAAEyC,KAAM,KAAMzC,MAAO,KACrB,CAAEyC,KAAM,KAAMzC,MAAO,KACrB,CAAEyC,KAAM,KAAMzC,MAAO,KACrB,CAAEyC,KAAM,KAAMzC,MAAO,KACrB,CAAEyC,KAAM,KAAMzC,MAAO,KACrB,CAAEyC,KAAM,KAAMzC,MAAO,KACrB,CAAEyC,KAAM,KAAMzC,MAAO,KACrB,CAAEyC,KAAM,KAAMzC,MAAO,MACrB,CAAEyC,KAAM,KAAMzC,MAAO,MACrB,CAAEyC,KAAM,KAAMzC,MAAO,MACrB,CAAEyC,KAAM,KAAMzC,MAAO,MACrB,CAAEyC,KAAM,KAAMzC,MAAO,MACrB,CAAEyC,KAAM,KAAMzC,MAAO,MACrB,CAAEyC,KAAM,KAAMzC,MAAO,MACrB,CAAEyC,KAAM,KAAMzC,MAAO,MACrB,CAAEyC,KAAM,KAAMzC,MAAO,MACrB,CAAEyC,KAAM,KAAMzC,MAAO,MACrB,CAAEyC,KAAM,KAAMzC,MAAO,MACrB,CAAEyC,KAAM,KAAMzC,MAAO,MACrB,CAAEyC,KAAM,KAAMzC,MAAO,MACrB,CAAEyC,KAAM,KAAMzC,MAAO,OAEvB21B,qBAAsB,CACpB,CAAElzB,KAAM,KAAMzC,MAAO,KACrB,CAAEyC,KAAM,KAAMzC,MAAO,MACrB,CAAEyC,KAAM,KAAMzC,MAAO,MACrB,CAAEyC,KAAM,KAAMzC,MAAO,OAEvB41B,oBAAqB,CACnB,CAAEnzB,KAAM,KAAMzC,MAAO,KACrB,CAAEyC,KAAM,KAAMzC,MAAO,KACrB,CAAEyC,KAAM,KAAMzC,MAAO,KACrB,CAAEyC,KAAM,KAAMzC,MAAO,KACrB,CAAEyC,KAAM,KAAMzC,MAAO,MACrB,CAAEyC,KAAM,KAAMzC,MAAO,MACrB,CAAEyC,KAAM,KAAMzC,MAAO,MACrB,CAAEyC,KAAM,KAAMzC,MAAO,MACrB,CAAEyC,KAAM,KAAMzC,MAAO,MACrB,CAAEyC,KAAM,KAAMzC,MAAO,MACrB,CAAEyC,KAAM,KAAMzC,MAAO,MACrB,CAAEyC,KAAM,KAAMzC,MAAO,MACrB,CAAEyC,KAAM,KAAMzC,MAAO,MACrB,CAAEyC,KAAM,KAAMzC,MAAO,OAEvB61B,wBAAyB,CACvB,CAAEpzB,KAAI,UAAE/B,EAAK,oBAAP,QAAuB,YAAaV,MAAO,KACjD,CAAEyC,KAAI,UAAE/B,EAAK,4BAAP,QAA+B,oBAAqBV,MAAO,aACjE,CAAEyC,KAAI,UAAE/B,EAAK,2BAAP,QAA8B,mBAAoBV,MAAO,OAC/D,CAAEyC,KAAI,UAAE/B,EAAKo1B,cAAP,QAAiB,SAAU91B,MAAO,KACxC,CAAEyC,KAAI,UAAE/B,EAAKq1B,eAAP,QAAkB,UAAW/1B,MAAO,KAC1C,CAAEyC,KAAI,UAAE/B,EAAKs1B,iBAAP,QAAoB,YAAah2B,MAAO,KAC9C,CAAEyC,KAAI,UAAE/B,EAAKu1B,gBAAP,QAAmB,WAAYj2B,MAAO,KAC5C,CAAEyC,KAAI,UAAE/B,EAAKw1B,cAAP,QAAiB,SAAUl2B,MAAO,KACxC,CAAEyC,KAAI,UAAE/B,EAAKy1B,gBAAP,QAAmB,WAAYn2B,MAAO,KAC5C,CAAEyC,KAAI,UAAE/B,EAAK01B,cAAP,QAAiB,SAAUp2B,MAAO,MAE1Cq2B,yBAA0B,CACxB,CAAE5zB,KAAI,UAAE/B,EAAK,sBAAP,QAAyB,cAAeV,MAAO,KACrD,CAAEyC,KAAI,UAAE/B,EAAK,0BAAP,QAA6B,kBAAmBV,MAAO,UAC7D,CAAEyC,KAAI,UAAE/B,EAAK,2BAAP,QAA8B,mBAAoBV,MAAO,OAC/D,CAAEyC,KAAK,GAAD,OAAK/B,EAAK60B,OAAS,QAAnB,MAAgCv1B,MAAO,OAC7C,CAAEyC,KAAK,GAAD,OAAK/B,EAAK60B,OAAS,QAAnB,MAAgCv1B,MAAO,OAC7C,CAAEyC,KAAI,UAAE/B,EAAK41B,WAAP,QAAc,MAAOt2B,MAAO,KAClC,CAAEyC,KAAI,UAAE/B,EAAK61B,WAAP,QAAc,MAAOv2B,MAAO,KAClC,CAAEyC,KAAI,UAAE/B,EAAK81B,WAAP,QAAc,MAAOx2B,MAAO,KAClC,CAAEyC,KAAI,UAAE/B,EAAK+1B,WAAP,QAAc,MAAOz2B,MAAO,KAClC,CAAEyC,KAAI,UAAE/B,EAAKg2B,WAAP,QAAc,MAAO12B,MAAO,KAClC,CAAEyC,KAAI,UAAE/B,EAAKi2B,WAAP,QAAc,MAAO32B,MAAO,KAClC,CAAEyC,KAAI,UAAE/B,EAAKk2B,WAAP,QAAc,MAAO52B,MAAO,KAClC,CAAEyC,KAAI,UAAE/B,EAAKm2B,WAAP,QAAc,MAAO72B,MAAO,KAClC,CAAEyC,KAAI,UAAE/B,EAAKo2B,WAAP,QAAc,MAAO92B,MAAO,KAClC,CAAEyC,KAAI,UAAE/B,EAAKq2B,WAAP,QAAc,MAAO/2B,MAAO,MAClC,CAAEyC,KAAI,UAAE/B,EAAKs2B,WAAP,QAAc,MAAOh3B,MAAO,MAClC,CAAEyC,KAAI,UAAE/B,EAAKu2B,WAAP,QAAc,MAAOj3B,MAAO,OAEpCk3B,YAAa,CACX,CAAEz0B,KAAM,IAAKzC,MAAO,KACpB,CAAEyC,KAAM,IAAKzC,MAAO,KACpB,CAAEyC,KAAM,IAAKzC,MAAO,KACpB,CAAEyC,KAAM,IAAKzC,MAAO,KACpB,CAAEyC,KAAM,IAAKzC,MAAO,KACpB,CAAEyC,KAAM,IAAKzC,MAAO,KACpB,CAAEyC,KAAM,IAAKzC,MAAO,KACpB,CAAEyC,KAAM,IAAKzC,MAAO,KACpB,CAAEyC,KAAM,IAAKzC,MAAO,KACpB,CAAEyC,KAAM,KAAMzC,MAAO,MACrB,CAAEyC,KAAM,KAAMzC,MAAO,MACrB,CAAEyC,KAAM,KAAMzC,MAAO,MACrB,CAAEyC,KAAM,KAAMzC,MAAO,MACrB,CAAEyC,KAAM,KAAMzC,MAAO,MACrB,CAAEyC,KAAM,KAAMzC,MAAO,MACrB,CAAEyC,KAAM,KAAMzC,MAAO,MACrB,CAAEyC,KAAM,KAAMzC,MAAO,MACrB,CAAEyC,KAAM,KAAMzC,MAAO,MACrB,CAAEyC,KAAM,KAAMzC,MAAO,MACrB,CAAEyC,KAAM,KAAMzC,MAAO,MACrB,CAAEyC,KAAM,KAAMzC,MAAO,MACrB,CAAEyC,KAAM,KAAMzC,MAAO,MACrB,CAAEyC,KAAM,KAAMzC,MAAO,MACrB,CAAEyC,KAAM,KAAMzC,MAAO,MACrB,CAAEyC,KAAM,KAAMzC,MAAO,MACrB,CAAEyC,KAAM,KAAMzC,MAAO,MACrB,CAAEyC,KAAM,KAAMzC,MAAO,MACrB,CAAEyC,KAAM,KAAMzC,MAAO,MACrB,CAAEyC,KAAM,KAAMzC,MAAO,MACrB,CAAEyC,KAAM,KAAMzC,MAAO,MACrB,CAAEyC,KAAM,KAAMzC,MAAO,SCtFZm3B,GA7CU,SAAAp1B,GAAU,IACzBrB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KADwB,EAGNuL,mBAAS,CACjCmrB,UAAW,KAJmB,mBAGzBv3B,EAHyB,KAGlB4I,EAHkB,KAOhCrF,qBAAU,WACRqF,EAAS,2BAAK5I,GAAN,IAAau3B,UAAWr1B,EAAMq1B,eACrC,CAACr1B,IA0BJ,OACE,yBAAKW,MAAM,0BACT,2BAAOga,QAAQ,eAAehc,EAAK,eAAnC,KACA,4BAAQa,UAAU,eAAekB,KAdlB,WACjB,OAAQ5C,EAAMu3B,WACZ,IAAK,IAAK,MAAO,QACjB,IAAK,IAAK,MAAO,SACjB,IAAK,IAAK,MAAO,QACjB,IAAK,IAAK,MAAO,SACjB,IAAK,IAAK,MAAO,WAQsBC,IA3BrB,WAAO,IAAD,EACgHhC,GAAiB30B,GAAnJ+0B,EADkB,EAClBA,uBAAwBD,EADN,EACMA,wBAAyBF,EAD/B,EAC+BA,0BAA2Be,EAD1D,EAC0DA,yBAA0BR,EADpF,EACoFA,wBAE9G,OAAQh2B,EAAMu3B,WACZ,IAAK,IAAK,OAAO9B,EAA0BtxB,KAAI,SAAA2Y,GAAM,OAAI,4BAAQ3c,MAAO2c,EAAO3c,OAAQ2c,EAAOla,SAC9F,IAAK,IAAK,OAAO+yB,EAAwBxxB,KAAI,SAAA2Y,GAAM,OAAI,4BAAQ3c,MAAO2c,EAAO3c,OAAQ2c,EAAOla,SAC5F,IAAK,IAAK,OAAOgzB,EAAuBzxB,KAAI,SAAA2Y,GAAM,OAAI,4BAAQ3c,MAAO2c,EAAO3c,OAAQ2c,EAAOla,SAC3F,IAAK,IAAK,OAAOozB,EAAwB7xB,KAAI,SAAA2Y,GAAM,OAAI,4BAAQ3c,MAAO2c,EAAO3c,OAAQ2c,EAAOla,SAC5F,IAAK,IAAK,OAAO4zB,EAAyBryB,KAAI,SAAA2Y,GAAM,OAAI,4BAAQ3c,MAAO2c,EAAO3c,OAAQ2c,EAAOla,UAoB1FynB,MCvCM,SAASoN,KAAoB,IAAD,EACjC52B,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACAi1B,EAAyBN,GAAiB30B,GAA1Ci1B,qBAMR,OACE,yBAAKp0B,UAAU,sBACb,2BAAOxB,KAAK,SAAS0C,KAAK,QAAQzC,MAAM,MACxC,2BAAOD,KAAK,SAAS0C,KAAK,UAAUzC,MAAM,MAC1C,2BAAOD,KAAK,SAAS0C,KAAK,SAASzC,MAAM,MAEzC,yBAAKuB,UAAU,qBACb,2BAAOmb,QAAQ,eAAf,UAA8Bhc,EAAK62B,cAAnC,QAA6C,SAA7C,KACA,4BAAQh2B,UAAU,eAAekB,KAAK,SAXnCkzB,EAAqB3xB,KAAI,SAAC2Y,EAAQpZ,GAAT,OAAmB,4BAAQW,IAAKX,EAAOvD,MAAO2c,EAAO3c,OAAQ2c,EAAOla,YCLzF,SAAS+0B,KAAmB,IAAD,IAChC92B,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KADgC,EAEM20B,GAAiB30B,GAAvDk1B,EAFgC,EAEhCA,oBAAqBF,EAFW,EAEXA,aAU7B,OACE,yBAAKn0B,UAAU,qBACb,2BAAOxB,KAAK,SAAS0C,KAAK,UAAUzC,MAAM,MAC1C,2BAAOD,KAAK,SAAS0C,KAAK,SAASzC,MAAM,MAEzC,yBAAKuB,UAAU,mBACb,2BAAOmb,QAAQ,eAAf,UAA8Bhc,EAAK+2B,YAAnC,QAA2C,OAA3C,KACA,4BAAQl2B,UAAU,eAAekB,KAAK,UAdnCizB,EAAa1xB,KAAI,SAAC2Y,EAAQpZ,GAAT,OAAmB,4BAAQW,IAAKX,EAAOvD,MAAO2c,EAAO3c,OAAQ2c,EAAOla,WAmB1F,yBAAKlB,UAAU,qBACb,2BAAOmb,QAAQ,eAAf,UAA8Bhc,EAAK62B,cAAnC,QAA6C,SAA7C,KACA,4BAAQh2B,UAAU,eAAekB,KAAK,SAjBnCmzB,EAAoB5xB,KAAI,SAAC2Y,EAAQpZ,GAAT,OAAmB,4BAAQW,IAAKX,EAAOvD,MAAO2c,EAAO3c,OAAQ2c,EAAOla,YCTxF,SAASi1B,KAAoB,IAAD,IACjCh3B,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KADiC,EAEK20B,GAAiB30B,GAAvDk1B,EAFiC,EAEjCA,oBAAqBF,EAFY,EAEZA,aAU7B,OACE,yBAAKn0B,UAAU,sBACb,2BAAOxB,KAAK,SAAS0C,KAAK,UAAUzC,MAAM,MAC1C,2BAAOD,KAAK,SAAS0C,KAAK,QAAQzC,MAAM,MAExC,yBAAKuB,UAAU,mBACb,2BAAOmb,QAAQ,eAAf,UAA8Bhc,EAAK+2B,YAAnC,QAA2C,OAA3C,KACA,4BAAQl2B,UAAU,eAAekB,KAAK,UAdnCizB,EAAa1xB,KAAI,SAAC2Y,EAAQpZ,GAAT,OAAmB,4BAAQW,IAAKX,EAAOvD,MAAO2c,EAAO3c,OAAQ2c,EAAOla,WAmB1F,yBAAKlB,UAAU,qBACb,2BAAOmb,QAAQ,eAAf,UAA8Bhc,EAAK62B,cAAnC,QAA6C,SAA7C,KACA,4BAAQh2B,UAAU,eAAekB,KAAK,SAjBnCmzB,EAAoB5xB,KAAI,SAAC2Y,EAAQpZ,GAAT,OAAmB,4BAAQW,IAAKX,EAAOvD,MAAO2c,EAAO3c,OAAQ2c,EAAOla,YCTxF,SAASk1B,KAAmB,IAAD,MAChCj3B,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KADgC,EAEmB20B,GAAiB30B,GAApEk1B,EAFgC,EAEhCA,oBAAqBF,EAFW,EAEXA,aAAcwB,EAFH,EAEGA,YAc3C,OACE,yBAAK31B,UAAU,qBACb,2BAAOxB,KAAK,SAAS0C,KAAK,SAASzC,MAAM,MAEzC,yBAAKuB,UAAU,mBACb,2BAAOmb,QAAQ,eAAf,UAA8Bhc,EAAKoG,YAAnC,QAA2C,OAA3C,KACA,4BAAQvF,UAAU,eAAekB,KAAK,SAjBnCy0B,EAAYlzB,KAAI,SAAC2Y,EAAQpZ,GAAT,OAAmB,4BAAQW,IAAKX,EAAOvD,MAAO2c,EAAO3c,OAAQ2c,EAAOla,WAsBzF,yBAAKlB,UAAU,mBACb,2BAAOmb,QAAQ,eAAf,UAA8Bhc,EAAK+2B,YAAnC,QAA2C,OAA3C,KACA,4BAAQl2B,UAAU,eAAekB,KAAK,UApBnCizB,EAAa1xB,KAAI,SAAC2Y,EAAQpZ,GAAT,OAAmB,4BAAQW,IAAKX,EAAOvD,MAAO2c,EAAO3c,OAAQ2c,EAAOla,WAyB1F,yBAAKlB,UAAU,qBACb,2BAAOmb,QAAQ,eAAf,UAA8Bhc,EAAK62B,cAAnC,QAA6C,SAA7C,KACA,4BAAQh2B,UAAU,eAAekB,KAAK,SAvBnCmzB,EAAoB5xB,KAAI,SAAC2Y,EAAQpZ,GAAT,OAAmB,4BAAQW,IAAKX,EAAOvD,MAAO2c,EAAO3c,OAAQ2c,EAAOla,Y,WC0BxFm1B,GAlCM,SAAA71B,GAAU,IAAD,EACFkK,mBAAS,CACjCmrB,UAAW,KAFe,mBACrBv3B,EADqB,KACd4I,EADc,KAK5BrF,qBAAU,WACRqF,EAAS,2BAAK5I,GAAN,IAAau3B,UAAWr1B,EAAMq1B,eACrC,CAACr1B,EAAMq1B,YAoBV,OACE,yBAAK71B,UAAS,cAAS1B,EAAMu3B,YAnBT,WACpB,OAAQv3B,EAAMu3B,WACZ,IAAK,IAAK,OACR,6BACE,2BAAOr3B,KAAK,SAAS0C,KAAK,SAASzC,MAAM,MACzC,2BAAOD,KAAK,SAAS0C,KAAK,QAAQzC,MAAM,MACxC,2BAAOD,KAAK,SAAS0C,KAAK,UAAUzC,MAAM,MAC1C,2BAAOD,KAAK,SAAS0C,KAAK,SAASzC,MAAM,OAG7C,IAAK,IAAK,OAAO,kBAACs3B,GAAD,MACjB,IAAK,IAAK,OAAO,kBAACE,GAAD,MACjB,IAAK,IAAK,OAAO,kBAACE,GAAD,MACjB,IAAK,IAAK,OAAO,kBAACC,GAAD,OAOhBE,KCoCQC,I,OAhEG,SAAA/1B,GAChB,IAAMg2B,EAAc/mB,iBAAO,MACnBtQ,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACFwC,EAAUC,cAHS,EAIC8I,mBAAS,CACjCmrB,UAAW,MALY,mBAIlBv3B,EAJkB,KAIX4I,EAJW,KAQzBrF,qBAAU,WACR,IACIg0B,EADc5X,KAAG7K,MAAMzR,EAAQoQ,SAAS7N,OAAQ,CAAEmP,mBAAmB,IAC7CwiB,WAAa,IAEzC3uB,EAAS,2BAAK5I,GAAN,IAAau3B,iBACpB,CAACl0B,EAAQoQ,SAAS7N,SAErB,IAAMuyB,EAAkB,SAAAC,GACtB,OAAOp4B,EAAMu3B,YAAca,EAAM,SAAW,IAexCC,EAAa,SAAAD,GAAQ,IACjBE,EAAcp2B,EAAdo2B,IAAK/d,EAASrY,EAATqY,KAEb,MAAM,IAAN,OAAWA,EAAX,kBAA2B+d,EAAF,cAAeA,EAAf,KAAwB,GAAjD,qBAAgEF,IAGlE,OACE,yBAAK12B,UAAU,sBACb,yBAAKA,UAAU,UACb,kBAAC,KAAD,CAAM8Q,GAAI6lB,EAAW,KAAM32B,UAAWy2B,EAAgB,MAAOt3B,EAAK03B,SAClE,kBAAC,KAAD,CAAM/lB,GAAI6lB,EAAW,KAAM32B,UAAWy2B,EAAgB,MAAOt3B,EAAK23B,QAClE,kBAAC,KAAD,CAAMhmB,GAAI6lB,EAAW,KAAM32B,UAAWy2B,EAAgB,MAAOt3B,EAAK43B,OAClE,kBAAC,KAAD,CAAMjmB,GAAI6lB,EAAW,KAAM32B,UAAWy2B,EAAgB,MAAOt3B,EAAK63B,QAClE,kBAAC,KAAD,CAAMlmB,GAAI6lB,EAAW,KAAM32B,UAAWy2B,EAAgB,MAAOt3B,EAAK83B,UAGpE,yBAAKj3B,UAAU,QAEb,0BAAMuK,IAAKisB,GACT,kBAAC,GAAD,CAAkBX,UAAWv3B,EAAMu3B,YAEnC,kBAAC,GAAD,CAAgBA,UAAWv3B,EAAMu3B,YAEjC,yBAAK71B,UAAU,gBACb,4BAAQxB,KAAK,SAAS+C,QApCN,WAGxB,IAFA,IAAI21B,EAAmB,GAEdpyB,EAAI,EAAGA,GAAK,EAAGA,IAAK,CAC3B,IAAIqyB,EAAsBX,EAAY7lB,QAAQ7L,GAE9CoyB,EAAiBC,EAAoBj2B,MAAQi2B,EAAoB14B,MAGnE+B,EAAM02B,iBAAiBA,KA2BoC/3B,EAAKytB,gBC+IrDwK,I,OA9LE,SAAA52B,GACf,IAAMvB,EAAQ8H,aAAaC,QAAQ,SAC3B7H,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACFwC,EAAUC,cACV0b,EAAWI,cAJO,EAKgBhT,mBAAS,IALzB,mBAKjBiT,EALiB,KAKHC,EALG,OAMUlT,mBAAS,IANnB,mBAMjBmT,EANiB,KAMNC,EANM,OAOEpT,mBAAS,CACjCpH,KAAM,GACNqG,SAAS,EACTutB,iBAAkB,CAChBG,MAAO,IACPC,OAAQ,IACRC,MAAO,IACPC,OAAQ,IACRC,QAAS,OAfW,mBAOjBn5B,EAPiB,KAOV4I,EAPU,KAmBxBrF,qBAAU,WACR,IACQ+0B,EADU3Y,KAAG7K,MAAMzR,EAAQoQ,SAAS7N,OAAQ,CAAEmP,mBAAmB,IACjEujB,IAERtZ,EAASzC,GAAiB,gBAC1ByC,ExDhCK,CACL9e,KxCVkC,yBwCWlCC,MAAO,KwDgCHm4B,IACF1vB,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAC9BuU,EAAU0Y,MAEX,IAEH,IAAM1Y,EAAY,SAAA0Y,ITPU,SAAAA,GAC5B,OAAOzkB,KAAMC,IAAI4I,GAtCA,8BAsCuB,CACtCmD,OAAQ,CACNyY,MACA33B,MAAO8b,SSIT2c,CAAed,GACZlkB,MAAK,SAAAgC,GACJxN,EAAS,2BACJ5I,GADG,IAEN44B,iBAAiB,2BACZ54B,EAAM44B,kBADK,IAEdG,MAAO3iB,EAASpR,KAAKq0B,IACrBL,OAAQ5iB,EAASpR,KAAKs0B,KACtBL,MAAO7iB,EAASpR,KAAK4Y,IACrBsb,OAAQ9iB,EAASpR,KAAKu0B,KACtBJ,QAAS/iB,EAASpR,KAAK6Y,QAEzB7Y,KAAMoR,EAASpR,KACfqG,SAAS,QAGZ6O,OAAM,SAAAC,GACLvR,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAC9BwG,QAAQjR,MAAMuZ,OAId4F,EAAoB,SAAAlU,GACxBA,EAAMuG,iBACN,IAFiC,EAE7BonB,EAAa,GAFgB,eAIN,IAAI9hB,SAAS7L,EAAMY,QAASwT,WAJtB,IAIjC,2BAAkE,CAAC,IAAD,yBAAxDrd,EAAwD,KAAlDzC,EAAkD,KAChEq5B,EAAW52B,GAAQzC,GALY,8BAQM,IAAnCkP,OAAO6Q,KAAKsZ,GAAYrzB,QAAgBqzB,EAAWrZ,cAAgB9Q,SACrEzG,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KT9BP,SAACrG,EAAMszB,GAClC,IAAIlY,EAAiB,IAAI1I,SAEzB,IAAK,IAAIrT,KAAOW,EACdob,EAAezI,OAAOtT,EAAKW,EAAKX,IAGlC,OAAOwP,KAAM+D,KAAK8E,GApDK,8BAoDwB0D,EAAgB,CAC7DP,OAAQ,CACNyY,MACA33B,MAAO8b,QSsBPgd,CAAcD,EAAYx5B,EAAMgF,KAAKszB,KAClClkB,MAAK,SAAAlJ,GACJ,GAAsB,MAAlBA,EAAOwS,OAAgB,CAAC,IAAD,EACKxS,EAAOlG,KAA7Bsb,EADiB,EACjBA,UAAWC,EADM,EACNA,OAEfD,GACFd,EAAa,IACbF,EAAgBgB,IAEhBtB,EAASD,MAAmB3K,MAAK,WAC/BoL,EAAae,GACbjB,EAAgB,WAKvBlL,MAAK,kBAAMwL,EAAU5f,EAAMgF,KAAKszB,QAChCpe,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,QAW5Buf,EAAc,SAAAjH,GAClB,IAAIkH,EAAuB,2BACtB35B,EAAM44B,kBADgB,kBAExBnG,EAAMtqB,GAAKsqB,EAAMtyB,QAGpByI,EAAS,2BACJ5I,GADG,IAEN44B,iBAAkBe,MAItB,OACE,yBAAKj4B,UAAU,2BACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAK+4B,QAE1B,kBAAC,GAAD,CAASjb,QAAQ,GACf,8BACA,yBAAKjd,UAAU,uBAAuBb,EAAK,qBAC3C,yBAAKa,UAAU,SACb,0BAAMA,UAAU,iBACb2d,EAAe,kBAAC,IAAD,CAAiB1X,KAAK,yBAA4B,GADpE,IACyE0X,IAG3E,yBAAK3d,UAAU,WACb,0BAAMA,UAAU,cACb6d,EAAY,kBAAC,IAAD,CAAiB5X,KAAK,yBAA4B,GADjE,IACqE,8BAAO8Y,KAAWlB,OAI3F,kBAAC,GAAD,CAAe5c,KAAM3C,EAAMgF,KAAKrC,KAAM2E,KAAMtH,EAAMgF,KAAKsC,KAAMoW,OAAQ1d,EAAMgF,KAAK0Y,QAC7E1d,EAAMqL,QAAU,kBAAC,EAAD,MACf,0BAAMqV,SAAU,SAAA7U,GAAK,OAAIkU,EAAkBlU,IAAQ1D,GAAG,aACpD,2BAAOjI,KAAK,SAAS0C,KAAK,OAAOzC,MAAM,SACvC,2BAAOD,KAAK,SAAS0C,KAAK,QAAQzC,MAAOQ,IAEzC,kBAAC,GAAD,CAAWwH,GAAG,UAAUvF,KAAK,QAAQmQ,MAAOlS,EAAI,QAAaV,MAAOH,EAAMgF,KAAK60B,MAE/E,yBAAKn4B,UAAU,kBAEb,yBAAKA,UAAU,cACb,kBAAC,GAAD,CACEvB,MAAOH,EAAM44B,iBAAiBG,MAC9BvsB,SAAUktB,EACV3mB,MAAOlS,EAAI,OACX+B,KAAK,QACLuF,GAAG,UAEL,kBAAC,GAAD,CACEhI,MAAOH,EAAM44B,iBAAiBI,OAC9BxsB,SAAUktB,EACV3mB,MAAOlS,EAAI,KACX+B,KAAK,SACLuF,GAAG,WAEL,kBAAC,GAAD,CACEhI,MAAOH,EAAM44B,iBAAiBK,MAC9BzsB,SAAUktB,EACV3mB,MAAOlS,EAAI,IACX+B,KAAK,QACLuF,GAAG,UAEL,kBAAC,GAAD,CACEhI,MAAOH,EAAM44B,iBAAiBO,QAC9B3sB,SAAUktB,EACV3mB,MAAOlS,EAAI,MACX+B,KAAK,UACLuF,GAAG,YAEL,kBAAC,GAAD,CACEhI,MAAOH,EAAM44B,iBAAiBM,OAC9BnmB,MAAOlS,EAAK,eACZ2L,SAAUktB,EACV92B,KAAK,SACLuF,GAAG,YAGP,yBAAKzG,UAAU,cACb,kBAAC,GAAD,CAAW6Y,KAAK,OAAO+d,IAAKt4B,EAAMgF,KAAKszB,IAAKM,iBAtF7B,SAAAA,GAC3BhwB,EAAS,2BACJ5I,GADG,IAEN44B,2BAwFM,yBAAKl3B,UAAU,mBACb,4BAAQxB,KAAK,SAASwB,UAAU,OAAOb,EAAK8Z,MAC5C,4BAAQza,KAAK,SAASwB,UAAU,OAAOuB,QAAS,kBAAMI,EAAQG,KAAK,iBAAiB3C,EAAKkgB,YC3JxF+Y,GAzCkB,SAAA53B,GAAU,IAAD,EACdkK,mBAAS,CACjCjM,MAAO,GACP45B,cAAe,KAHuB,mBACjC/5B,EADiC,KAC1B4I,EAD0B,KAMxCrF,qBAAU,WACRqF,EAAS,2BAAK5I,GAAN,IAAaG,MAAO+B,EAAM/B,WACjC,CAAC+B,EAAM/B,QAEVoD,qBAAU,WACRqF,EAAS,2BAAK5I,GAAN,IAAaG,MAAO+B,EAAM/B,MAAO45B,cAAe73B,EAAM/B,WAC7D,IAQH,OACE,yBAAK0C,MAAM,cACT,2BAAOnB,UAAU,gBAAgBmb,QAAS3a,EAAMiG,IAC7CjG,EAAM6Q,MACP,0BAAMrR,UAAU,aAAaQ,EAAM0a,cAAN,WAA0B1a,EAAM0a,cAAhC,KAAmD,KAElF,yBAAKlb,UAAU,iBACb,2BACExB,KAAK,OACL0C,KAAMV,EAAMU,KACZuF,GAAIjG,EAAMiG,GACVzG,UAAU,eACV8K,SAlBY,SAAAX,GAClB,IAAImR,EAAanR,EAAMY,OAAOtM,MAE9ByI,EAAS,2BAAK5I,GAAN,IAAaG,MAAO6c,EAAY+c,cAAe/c,MAgBjD7c,MAAOH,EAAMG,MACb+c,SAA0B,cAAhBld,EAAMG,QACjB+B,EAAMsb,YCyCAwc,GA3EK,SAAA93B,GAAU,IAAD,IACnBrB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KADmB,EAEDuL,mBAAS,CACjC6tB,kBAAmB,GACnBC,QAAS,KAJgB,mBAEpBl6B,EAFoB,KAEb4I,EAFa,KAO3BrF,qBAAU,WACR,GAAIrB,EAAMg4B,QAAS,CACjB,IAAIC,EAAwBj4B,EAAMg4B,QAAQ/1B,KAAI,SAACi2B,EAAQ12B,GAAT,OAAmBA,EAAQ,KACzEkF,EAAS,2BAAK5I,GAAN,IAAak6B,QAASh4B,EAAMg4B,QAASD,kBAAmBE,QAEjE,CAACj4B,EAAMg4B,UAEV,IAoCMG,EAAqB,SAAA32B,GACzB,IAAI42B,EAAoB,YAAOt6B,EAAMi6B,mBAErCK,EAAqBv2B,OAAOL,EAAQ,EAAG,GAEvCkF,EAAS,2BAAK5I,GAAN,IAAai6B,kBAAmBK,MAG1C,OACE,oCACE,yBAAK54B,UAAU,2BACb,2BAAOmb,QAAQ,SAAf,UAAwBhc,EAAK,uBAA7B,QAAgD,gBA9C7Cb,EAAMi6B,kBAAkB91B,KAAI,SAACo2B,EAAY72B,GACzB,IAAD,EAApB,GAAI62B,EAAa,EACf,OACE,yBAAK74B,UAAU,4BAA4B2C,IAAKX,GAC9C,2BACExD,KAAK,OACLwB,UAAU,eACVyG,GAAE,cAASzE,EAAQ,GACnBwJ,aAAclN,EAAMk6B,QAAQx2B,IAAU,GACtCd,KAAI,cAASc,EAAQ,KACvB,4BACExD,KAAK,SACLwB,UAAWgC,EAAQ,EAAI,OAAS,cAChCT,QAAS,kBAAMo3B,EAAmB32B,KAHpC,UAIG7C,EAAK6oB,cAJR,QAIkB,eAoCxB,4BACExpB,KAAK,SACLwB,UA7BsC,IAAnC1B,EAAMi6B,kBAAkB9zB,OAAe,OAAS,gBA8BnDlD,QAAS,kBA3BO,WACpB,IAAIu3B,EAAoBx6B,EAAMi6B,kBAAkB9zB,OAC5Cm0B,EAAoB,YAAOt6B,EAAMi6B,mBAErCK,EAAqB92B,KAAKg3B,EAAoB,GAE9C5xB,EAAS,2BAAK5I,GAAN,IAAai6B,kBAAmBK,KAqBrBG,KAHjB,UAIG55B,EAAK,mCAJR,QAIuC,8BCrEvC6b,GAAWhR,OAAO+H,SAASC,OAOpBgnB,GAAiB,WAC5B,OAAO7mB,KAAMC,IAAI4I,GAPD,mCCwTHie,I,OAvSK,SAAAz4B,GAClB,IAAMvB,EAAQ8H,aAAaC,QAAQ,SAC3B7H,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACFwC,EAAUC,cACV0b,EAAWI,cAJU,EAKahT,mBAAS,IALtB,mBAKpBiT,EALoB,KAKNC,EALM,OAMOlT,mBAAS,IANhB,mBAMpBmT,EANoB,KAMTC,EANS,OAODpT,mBAAS,CACjCpH,KAAM,GACNqG,SAAS,IATgB,mBAOpBrL,EAPoB,KAOb4I,EAPa,KAY3BrF,qBAAU,WACR,IAAIq3B,EAAcjb,KAAG7K,MAAMzR,EAAQoQ,SAAS7N,OAAQ,CAAEmP,mBAAmB,IAEzEiK,EAASzC,GAAiB,mBAC1ByC,E5D3BK,CACL9e,KxCVkC,yBwCWlCC,MAAO,K4D2BHy6B,EAAYC,UACdjyB,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAC9BuU,EAAUgb,EAAYC,YAEvB,IAEH,IAAMjb,EAAY,SAAAkb,GDGU,IAAA12B,KCFX02B,EDGVjnB,KAAMC,IAAI4I,GA1CI,iCA0CuB,CAC1CmD,OAAQ,CACNgb,QAASz2B,EACTzD,MAAO8b,SCLNrI,MAAK,SAAAgC,GACJxN,EAAS,2BACJ5I,GADG,IAENgF,KAAMoR,EAASpR,KACfqG,SAAS,QAGZ6O,OAAM,SAAAC,GACLvR,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAC9BwG,QAAQjR,MAAMuZ,OAwCd4gB,EAAkB,SAAAC,GACtB,IACI9tB,EADA+tB,EAAoBj7B,EAAMgF,KAAKg2B,GAIjC9tB,EADgB,UAAd8tB,GAAuC,cAAdA,EACZ,OAEA,IAGjBpyB,EAAS,2BACJ5I,GADG,IAENgF,KAAK,2BACAhF,EAAMgF,MADP,kBAEDg2B,EAAkC,cAAtBC,EAAoC,YAAc/tB,QAKrE,OACE,yBAAKxL,UAAU,8BACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAKq6B,WAE1B,kBAAC,GAAD,CAASvc,QAAQ,GACf,8BACA,yBAAKjd,UAAU,uBAAuBb,EAAK,oBAC3C,yBAAKa,UAAU,SACb,0BAAMA,UAAU,iBACb2d,EAAe,kBAAC,IAAD,CAAiB1X,KAAK,yBAA4B,GADpE,IACyE0X,IAG3E,yBAAK3d,UAAU,WACb,0BAAMA,UAAU,cACb6d,EAAY,kBAAC,IAAD,CAAiB5X,KAAK,yBAA4B,GADjE,IACqE,8BAAO8Y,KAAWlB,OAI3F,kBAAC,GAAD,CAAe5c,KAAM3C,EAAMgF,KAAKrC,KAAM2E,KAAMtH,EAAMgF,KAAKsC,KAAMoW,OAAQ1d,EAAMgF,KAAK0Y,QAC7E1d,EAAMqL,QAAU,kBAAC,EAAD,MACf,0BAAMqV,SA5EY,SAAA7U,GACxBA,EAAMuG,iBACN,IAFiC,EAE7B+oB,EAAiB,GAFY,eAIN,IAAIzjB,SAAS7L,EAAMY,QAASwT,WAJtB,IAIjC,2BAAkE,CAAC,IAAD,yBAAxDrd,EAAwD,KAAlDzC,EAAkD,KAChEg7B,EAAev4B,GAAQzC,GALQ,8BAQjCg7B,EAAc,MAAYx6B,EAC1Bw6B,EAAc,KAAW,OACzBA,EAAc,UAAgBn7B,EAAMgF,KAAK61B,QAEE,IAAvCxrB,OAAO6Q,KAAKib,GAAgBh1B,QAAgBg1B,EAAehb,cAAgB9Q,SAC7EzG,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KDhBP,SAACrG,EAAMZ,GAClC,IAAIgc,EAAiB,IAAI1I,SAEzB,IAAK,IAAIrT,KAAOW,EACdob,EAAezI,OAAOtT,EAAKW,EAAKX,IAGlC,OAAOwP,KAAM+D,KAAK8E,GAxDK,iCAwDwB0D,EAAgB,CAC7DP,OAAQ,CACNgb,QAASz2B,KCSTg3B,CAAcD,EAAgBn7B,EAAMgF,KAAK61B,SACtCzmB,MAAK,SAAAlJ,GACJ,GAAsB,MAAlBA,EAAOwS,OAAgB,CAAC,IAAD,EACKxS,EAAOlG,KAA7Bsb,EADiB,EACjBA,UAAWC,EADM,EACNA,OAEfD,GACFhB,EAAgBgB,GAChBd,EAAa,KAEbR,EAASD,MAAmB3K,MAAK,WAC/BkL,EAAgB,IAChBE,EAAae,UAKpBnM,MAAK,kBAAMwL,EAAU5f,EAAMgF,KAAK61B,YAChC3gB,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,QA4CShS,GAAG,gBACpC,kBAAC,GAAD,CACEA,GAAG,SACHvF,KAAK,WACLmQ,MAAOlS,EAAK,gBACZV,MAAOH,EAAMgF,KAAK61B,QAClBlrB,UAAQ,IAEV,kBAAC,GAAD,CACEiN,cAAe5c,EAAMgF,KAAKq2B,WAC1B/gB,QAASta,EAAMgF,KAAKs2B,cACpBp1B,SAAUlG,EAAMgF,KAAKu2B,aACrBxoB,MAAOlS,EAAK,gBACZ+B,KAAK,iBACLuF,GAAG,kBAGHnI,EAAMgF,KAAKw2B,aACT,kBAAC,GAAD,CACE5e,cAAe5c,EAAMgF,KAAKw2B,YAC1BlhB,QAASta,EAAMgF,KAAKy2B,kBACpBv1B,SAAUlG,EAAMgF,KAAK02B,iBACrB3oB,MAAOlS,EAAK,oBACZ+B,KAAK,qBACLuF,GAAG,sBAKPnI,EAAMgF,KAAK22B,cACT,kBAAC,GAAD,CACE/e,cAAe5c,EAAMgF,KAAK22B,aAC1BrhB,QAASta,EAAMgF,KAAK42B,gBACpB11B,SAAUlG,EAAMgF,KAAK62B,eACrB9oB,MAAOlS,EAAK,kBACZ+B,KAAK,mBACLuF,GAAG,oBAKPnI,EAAMgF,KAAK82B,YACT,kBAAC,GAAD,CACElf,cAAe5c,EAAMgF,KAAK82B,WAC1BxhB,QAASta,EAAMgF,KAAK+2B,cACpB71B,SAAUlG,EAAMgF,KAAKg3B,aACrBjpB,MAAOlS,EAAK,gBACZ+B,KAAK,iBACLuF,GAAG,kBAIT,kBAAC,GAAD,CACEmS,QAASta,EAAMgF,KAAKi3B,OACpB/1B,SAAUlG,EAAMgF,KAAKk3B,MACrBnpB,MAAOlS,EAAK,cACZ+B,KAAK,UACLuF,GAAG,eAEL,kBAAC,GAAD,CACE4K,MAAOlS,EAAK,eACZsH,GAAG,aACHvF,KAAK,gBACLzC,MAAOH,EAAMgF,KAAKm3B,aAClB,4BAAQj8B,KAAK,SAAS+C,QAAS,kBAAM83B,EAAgB,iBACnD,kBAAC,IAAD,CAAiBpzB,KAAK,eAI1B,kBAAC,GAAD,CACEoL,MAAOlS,EAAK,eACZ+b,cAAe/b,EAAK,cACpBsH,GAAG,aACHvF,KAAK,gBACLzC,MAAOH,EAAMgF,KAAKo3B,aAClB,4BAAQl8B,KAAK,SAAS+C,QAAS,kBAAM83B,EAAgB,iBACnD,kBAAC,IAAD,CAAiBpzB,KAAK,eAI1B,kBAAC,GAAD,CACEoL,MAAOlS,EAAK,eACZsH,GAAG,aACHvF,KAAK,gBACLzC,MAAOH,EAAMgF,KAAKq3B,aAClB,4BAAQn8B,KAAK,SAAS+C,QAAS,kBAAM83B,EAAgB,iBACnD,kBAAC,IAAD,CAAiBpzB,KAAK,eAI1B,kBAAC,GAAD,CACEoL,MAAOlS,EAAK,eACZ+b,cAAe/b,EAAK,cACpBsH,GAAG,aACHvF,KAAK,gBACLzC,MAAOH,EAAMgF,KAAKs3B,aAClB,4BAAQp8B,KAAK,SAAS+C,QAAS,kBAAM83B,EAAgB,iBACnD,kBAAC,IAAD,CAAiBpzB,KAAK,eAI1B,kBAAC,GAAD,CACEoL,MAAOlS,EAAK,gBACZsH,GAAG,cACHvF,KAAK,iBACLzC,MAAOH,EAAMgF,KAAKu3B,cAClB,4BAAQr8B,KAAK,SAAS+C,QAAS,kBAAM83B,EAAgB,kBACnD,kBAAC,IAAD,CAAiBpzB,KAAK,eAI1B,kBAAC,GAAD,CACEoL,MAAOlS,EAAK,iBACZ+b,cAAe/b,EAAK,cACpBsH,GAAG,eACHvF,KAAK,kBACLzC,MAAOH,EAAMgF,KAAKw3B,eAClB,4BAAQt8B,KAAK,SAAS+C,QAAS,kBAAM83B,EAAgB,mBACnD,kBAAC,IAAD,CAAiBpzB,KAAK,eAI1B,kBAAC,GAAD,CACEoL,MAAOlS,EAAI,UACXsH,GAAG,YACHvF,KAAK,cACLzC,MAAOH,EAAMgF,KAAKy3B,WAClB,4BAAQv8B,KAAK,SAAS+C,QAAS,kBAAM83B,EAAgB,eACnD,kBAAC,IAAD,CAAiBpzB,KAAK,eAI1B,kBAAC,GAAD,CACEoL,MAAOlS,EAAK,aACZsH,GAAG,WACHvF,KAAK,cACLzC,MAAOH,EAAMgF,KAAK03B,WAClB,4BAAQx8B,KAAK,SAAS+C,QAAS,kBAAM83B,EAAgB,eACnD,kBAAC,IAAD,CAAiBpzB,KAAK,eAI1B,kBAAC,GAAD,CAAW/E,KAAK,YAAYuF,GAAG,UAAUhI,MAAOH,EAAMgF,KAAK23B,QAAS5pB,MAAOlS,EAAI,UAE/E,kBAAC,GAAD,CACEkS,MAAOlS,EAAI,MACX+b,cAAe/b,EAAK,gBACpBsH,GAAG,QACHvF,KAAK,eACLzC,MAAOH,EAAMgF,KAAK43B,YAClB,4BAAQ18B,KAAK,SAAS+C,QAAS,kBAAM83B,EAAgB,gBACnD,kBAAC,IAAD,CAAiBpzB,KAAK,eAI1B,kBAAC,GAAD,CACEoL,MAAOlS,EAAI,UACX+b,cAAe/b,EAAK,gBACpBsH,GAAG,YACHvF,KAAK,cACLzC,MAAOH,EAAMgF,KAAK63B,WAClB,4BAAQ38B,KAAK,SAAS+C,QAAS,kBAAM83B,EAAgB,eACnD,kBAAC,IAAD,CAAiBpzB,KAAK,eAI1B,kBAAC,GAAD,CAAauyB,QAASl6B,EAAMgF,KAAK83B,cAEjC,yBAAKp7B,UAAU,mBACb,4BAAQxB,KAAK,SAASwB,UAAU,OAAOb,EAAK8Z,MAC5C,4BAAQza,KAAK,SAASwB,UAAU,OAAOuB,QAAS,kBAAMI,EAAQG,KAAK,oBAAoB3C,EAAKkgB,YC1K3Fgc,I,OAxHG,SAAA76B,GAChB,IAAMvB,EAAQ8H,aAAaC,QAAQ,SAC3B7H,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACFwC,EAAUC,cACV0b,EAAWI,cAJQ,EAKehT,mBAAS,IALxB,mBAKlBiT,EALkB,KAKJC,EALI,OAMSlT,mBAAS,IANlB,mBAMlBmT,EANkB,KAMPC,EANO,OAOCpT,mBAAS,CACjCpH,KAAM,GACNqG,SAAS,EACTgU,aAAc,GACdE,UAAW,KAXY,mBAOlBvf,EAPkB,KAOX4I,EAPW,KAczBrF,qBAAU,WACRyb,EAASzC,GAAiB,kBAC1ByC,E7DtBK,CACL9e,KxCVkC,yBwCWlCC,MAAO,K6DsBPyI,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAC9BuU,MACC,IAEH,IAAMA,EAAY,WAChB6B,GAAe,SACZrN,MAAK,SAAAgC,GACJxN,EAAS,2BACJ5I,GADG,IAENgF,KAAMoR,EAASpR,KACfqG,SAAS,QAGZ6O,OAAM,SAAAC,GACLvR,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAC9BwG,QAAQjR,MAAMuZ,OAkCpB,OACE,yBAAKzY,UAAU,4BACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAK0hB,UAE1B,kBAAC,GAAD,CAAS5D,QAAQ,GACf,8BACA,yBAAKjd,UAAU,uBAAsB,kBAAC,KAAD,CAAM8Q,GAAE,uBAAkBxS,EAAMgF,KAAKwd,eAAiB3hB,EAAK,sBAA3D,MAAqFb,EAAMgF,KAAKwd,eACrI,yBAAK9gB,UAAU,QAAO,kBAAC,KAAD,CAAM8Q,GAAG,oBAAoB3R,EAAI,UAAjC,aACtB,yBAAKa,UAAU,SACb,0BAAMA,UAAU,iBACb2d,EAAe,kBAAC,IAAD,CAAiB1X,KAAK,yBAA4B,GADpE,IACyE0X,IAG3E,yBAAK3d,UAAU,WACb,0BAAMA,UAAU,cACb6d,EAAY,kBAAC,IAAD,CAAiB5X,KAAK,yBAA4B,GADjE,IACqE,8BAAO8Y,KAAWlB,OAI3F,kBAAC,GAAD,KACGvf,EAAMqL,QAAU,kBAAC,EAAD,MACf,0BAAMqV,SAAU,SAAA7U,GAAK,OApDH,SAAAA,GACxBA,EAAMuG,iBACN,IAFiC,EAE7BqQ,EAAiB,GAFY,eAIN,IAAI/K,SAAS7L,EAAMY,QAASwT,WAJtB,IAIjC,2BAAkE,CAAC,IAAD,yBAAxDrd,EAAwD,KAAlDzC,EAAkD,KAChEsiB,EAAe7f,GAAQzC,GALQ,8BAQU,IAAvCkP,OAAO6Q,KAAKuC,GAAgBtc,QAAgBsc,EAAetC,cAAgB9Q,SAC7EzG,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAE9BmW,GAAciB,EAAgB,UAC3BrO,MAAK,SAAAlJ,GACJ,GAAsB,MAAlBA,EAAOwS,OAAgB,CAAC,IAAD,EACKxS,EAAOlG,KAA7Bsb,EADiB,EACjBA,UAAWC,EADM,EACNA,OAEfD,GACFhB,EAAgBgB,GAChBd,EAAa,MAEbF,EAAgB,IAChBE,EAAae,QAIlBnM,MAAK,kBAAMwL,OACX1F,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,OA0BD4F,CAAkBlU,IAAQ1D,GAAG,cACpD,2BAAOjI,KAAK,SAAS0C,KAAK,OAAOzC,MAAM,SACvC,2BAAOD,KAAK,SAAS0C,KAAK,QAAQzC,MAAOQ,IAEzC,kBAAC,GAAD,CACEuM,aAAclN,EAAMgF,KAAKsd,OACzBvP,MAAO/S,EAAMgF,KAAKoe,YAClBxgB,KAAK,WACLuF,GAAG,WACH6C,KAAK,OAEP,6BAEA,kBAAC,GAAD,CACE+H,MAAOlS,EAAI,QACXuc,gBAAgB,EAChBxa,KAAK,YACLuF,GAAG,YAEL,yBAAKzG,UAAU,mBACb,4BAAQxB,KAAK,SAASwB,UAAU,OAAOb,EAAK8Z,MAC5C,4BAAQza,KAAK,SAASwB,UAAU,OAAOuB,QAAS,kBAAMI,EAAQG,KAAK,mBAAmB3C,EAAKkgB,YCwE1Fic,I,OArLI,SAAA96B,GAAU,IAAD,gBAClBrB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACFF,EAAQ8H,aAAaC,QAAQ,SAC7BrF,EAAUC,cACV0b,EAAWI,cAJS,EAKAhT,mBAAS,CACjCf,SAAS,EACTkU,UAAW,GACXF,aAAc,GACduZ,iBAAkB,CAChBG,MAAO,IACPC,OAAQ,IACRC,MAAO,IACPC,OAAQ,IACRC,QAAS,OAda,mBAKnBn5B,EALmB,KAKZ4I,EALY,KAkB1BrF,qBAAU,WACRyb,EAASzC,GAAiB,gBAC1ByC,E9D3BK,CACL9e,KxCVkC,yBwCWlCC,MAAO,O8D0BN,IAEH,IAAM4f,EAAoB,SAAAlU,GACxBA,EAAMuG,iBACN,IAFiC,EAE7B6qB,EAAa,GAFgB,eAIN,IAAIvlB,SAAS7L,EAAMY,QAASwT,WAJtB,IAIjC,2BAAkE,CAAC,IAAD,yBAAxDrd,EAAwD,KAAlDzC,EAAkD,KAChE88B,EAAWr6B,GAAQzC,GALY,8BAQM,IAAnCkP,OAAO6Q,KAAK+c,GAAY92B,QAAgB82B,EAAW9c,cAAgB9Q,SACrEzG,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KfhBV,SAAArG,GACxB,IAAIob,EAAiB,IAAI1I,SAEzB,IAAK,IAAIrT,KAAOW,EACdob,EAAezI,OAAOtT,EAAKW,EAAKX,IAGlC,OAAOwP,KAAM+D,KAAK8E,GAnCE,6BAmCwB0D,GeUxC8c,CAAWD,GACR7oB,MAAK,SAAAlJ,GACJ,GAAsB,MAAlBA,EAAOwS,OAAgB,CAAC,IAAD,EAC8BxS,EAAOlG,KAA3Cqa,EADM,EACjBiB,UAAiCf,EADhB,EACQgB,OAE7BlB,EACFzW,EAAS,2BAAK5I,GAAN,IAAaqf,eAAcE,YAAWlU,SAAS,KAEvD2T,EAASD,MAAmB3K,MAAK,WAC/BxL,EAAS,2BAAK5I,GAAN,IAAauf,YAAWF,aAAc,GAAIhU,SAAS,YAKlE6O,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,QAW5Buf,EAAc,SAAAjH,GAClB,IAAIkH,EAAuB,2BACtB35B,EAAM44B,kBADgB,kBAExBnG,EAAMtqB,GAAKsqB,EAAMtyB,QAGpByI,EAAS,2BACJ5I,GADG,IAEN44B,iBAAkBe,MAItB,OACE,yBAAKj4B,UAAU,0BACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAK+4B,QAE1B,kBAAC,GAAD,CAASjb,QAAQ,GACf,8BACA,yBAAKjd,UAAU,uBAAuBb,EAAK,oBAC3C,yBAAKa,UAAU,SACb,0BAAMA,UAAU,iBACb1B,EAAMqf,aAAe,kBAAC,IAAD,CAAiB1X,KAAK,yBAA4B,GACvE3H,EAAMqf,eAEX,yBAAK3d,UAAU,WACb,0BAAMA,UAAU,cACb1B,EAAMuf,UAAY,kBAAC,IAAD,CAAiB5X,KAAK,yBAA4B,GACrE,8BAAO8Y,KAAWzgB,EAAMuf,eAI9B,kBAAC,GAAD,KACGvf,EAAMqL,QAAU,kBAAC,EAAD,MACf,0BAAMqV,SAAU,SAAA7U,GAAK,OAAIkU,EAAkBlU,KACzC,2BAAO3L,KAAK,SAAS0C,KAAK,KAAKzC,MAAM,QACrC,2BAAOD,KAAK,SAAS0C,KAAK,QAAQzC,MAAOQ,IAEzC,yBAAKe,UAAU,sBACb,2BAAOmb,QAAQ,WAAf,UAA0Bhc,EAAKskB,eAA/B,QAA0C,WAC1C,2BACEjlB,KAAK,OACLwB,UAAU,eACVyG,GAAG,UACHvF,KAAK,WAGT,yBAAKlB,UAAU,kBAEb,yBAAKA,UAAU,cACb,yBAAKA,UAAU,cACb,2BAAOmb,QAAQ,SAAf,UAAwBhc,EAAK62B,cAA7B,QAAuC,UACvC,2BACEx3B,KAAK,OACLwB,UAAU,eACVyG,GAAG,QACHqE,SAAU,SAAAX,GAAK,OAAI6tB,EAAY7tB,EAAMY,SACrCtM,MAAOH,EAAM44B,iBAAiBG,MAC9Bn2B,KAAK,WAGT,yBAAKlB,UAAU,cACb,2BAAOmb,QAAQ,UAAf,UAAyBhc,EAAK+2B,YAA9B,QAAsC,QACtC,2BACE13B,KAAK,OACLwB,UAAU,eACVyG,GAAG,SACHqE,SAAU,SAAAX,GAAK,OAAI6tB,EAAY7tB,EAAMY,SACrCtM,MAAOH,EAAM44B,iBAAiBI,OAC9Bp2B,KAAK,YAGT,yBAAKlB,UAAU,cACb,2BAAOmb,QAAQ,SAAf,UAAwBhc,EAAKs8B,WAA7B,QAAoC,OACpC,2BACEj9B,KAAK,OACLwB,UAAU,eACVyG,GAAG,QACHqE,SAAU,SAAAX,GAAK,OAAI6tB,EAAY7tB,EAAMY,SACrCtM,MAAOH,EAAM44B,iBAAiBK,MAC9Br2B,KAAK,WAGT,yBAAKlB,UAAU,cACb,2BAAOmb,QAAQ,WAAf,UAA0Bhc,EAAKu8B,aAA/B,QAAwC,SACxC,2BACEl9B,KAAK,OACLwB,UAAU,eACVyG,GAAG,UACHqE,SAAU,SAAAX,GAAK,OAAI6tB,EAAY7tB,EAAMY,SACrCtM,MAAOH,EAAM44B,iBAAiBO,QAC9Bv2B,KAAK,aAGT,yBAAKlB,UAAU,cACb,2BAAOmb,QAAQ,UAAf,UAAyBhc,EAAK,sBAA9B,QAAgD,gBAChD,2BACEX,KAAK,OACLwB,UAAU,eACVyG,GAAG,SACHqE,SAAU,SAAAX,GAAK,OAAI6tB,EAAY7tB,EAAMY,SACrCtM,MAAOH,EAAM44B,iBAAiBM,OAC9Bt2B,KAAK,aAIX,yBAAKlB,UAAU,cACb,kBAAC,GAAD,CAAW6Y,KAAK,MAAMqe,iBAlHP,SAAAA,GAC3BhwB,EAAS,2BACJ5I,GADG,IAEN44B,2BAoHM,yBAAKl3B,UAAU,mBACb,4BAAQxB,KAAK,SAASwB,UAAU,OAAhC,UAAuCb,EAAKugB,WAA5C,QAAmD,OACnD,4BAAQlhB,KAAK,SAASwB,UAAU,OAAOuB,QAAS,kBAAMI,EAAQG,KAAK,iBAAnE,UAAoF3C,EAAKkgB,YAAzF,QAAiG,cCyEhGsc,I,OAlPI,SAAAn7B,GACjB,IAAMvB,EAAQ8H,aAAaC,QAAQ,SAC3B7H,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACFme,EAAWI,cACX/b,EAAUC,cAJU,EAKA8I,mBAAS,CACjCf,SAAS,EACTkU,UAAW,GACXF,aAAc,GACdie,aAAc,GACdC,UAAW,GACXC,iBAAkB,GAClBC,cAAe,GACfC,YAAa,GACbC,eAAgB,GAChBC,aAAc,GACdC,UAAW,GACXC,aAAc,GACd5D,QAAS,GACT6D,WAAY,IACZC,WAAY,IACZC,WAAY,IACZC,WAAY,IACZC,YAAa,IACbC,aAAc,IACd3B,UAAW,IACX4B,SAAU,IACVC,MAAO,OACPzB,UAAW,SA5Ba,mBAKnB78B,EALmB,KAKZ4I,EALY,KA+B1BrF,qBAAU,WACRyb,EAASzC,GAAiB,mBAC1ByC,E/D3CK,CACL9e,KxCVkC,yBwCWlCC,MAAO,K+D2CPyI,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAE9BuU,MACC,IAEH,IAAMA,EAAY,WJfX/L,KAAMC,IAAI4I,GAxCc,iCIyD1BtI,MAAK,SAAAlJ,GACJtC,EAAS,2BACJ5I,GADG,IAENs9B,aAAcpyB,EAAOlG,KAAKs2B,cAC1BiC,UAAWryB,EAAOlG,KAAKq2B,WACvBmC,iBAAkBtyB,EAAOlG,KAAKy2B,kBAC9BgC,cAAevyB,EAAOlG,KAAKw2B,YAC3BoC,aAAc1yB,EAAOlG,KAAK+2B,cAC1B8B,UAAW3yB,EAAOlG,KAAK82B,WACvB4B,YAAaxyB,EAAOlG,KAAK22B,aACzBgC,eAAgBzyB,EAAOlG,KAAK42B,gBAC5BkC,aAAc5yB,EAAOlG,KAAKu5B,WAC1BlzB,SAAS,QAGZ6O,OAAM,SAAAC,GAAG,OAAItI,QAAQsI,IAAIA,OAGxB4F,EAAoB,SAAAlU,GACxBA,EAAMuG,iBACN,IAFiC,EAE7BosB,EAAa,GAFgB,eAIN,IAAI9mB,SAAS7L,EAAMY,QAASwT,WAJtB,IAIjC,2BAAkE,CAAC,IAAD,yBAAxDrd,EAAwD,KAAlDzC,EAAkD,KAChEq+B,EAAW57B,GAAQzC,GALY,8BAQjCq+B,EAAU,MAAY79B,EACtB69B,EAAU,GAAS,MAEoB,IAAnCnvB,OAAO6Q,KAAKse,GAAYr4B,QAAgBq4B,EAAWre,cAAgB9Q,SACrEzG,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KJ1DV,SAAArG,GACxB,IAAIob,EAAiB,IAAI1I,SAEzB,IAAK,IAAIrT,KAAOW,EACdob,EAAezI,OAAOtT,EAAKW,EAAKX,IAGlC,OAAOwP,KAAM+D,KAAK8E,GAnCE,gCAmCwB0D,GIoDxCqe,CAAWD,GACRpqB,MAAK,SAAAlJ,GACJ,GAAsB,MAAlBA,EAAOwS,OAAgB,CAAC,IAAD,EAC8BxS,EAAOlG,KAA3Cqa,EADM,EACjBiB,UAAiCf,EADhB,EACQgB,OAE7BlB,EACFzW,EAAS,2BAAK5I,GAAN,IAAaqf,eAAcE,YAAWlU,SAAS,KAEvD2T,EAASD,MAAmB3K,MAAK,WAC/BxL,EAAS,2BAAK5I,GAAN,IAAauf,YAAWF,aAAc,GAAIhU,SAAS,YAKlE6O,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,QAI5B4gB,EAAkB,SAAAC,GACtB,IACI9tB,EADA+tB,EAAoBj7B,EAAMg7B,GAI5B9tB,EADgB,UAAd8tB,GAAuC,cAAdA,EACZ,OAEA,IAIfpyB,EADwB,cAAtBqyB,EACO,2BAAKj7B,GAAN,kBAAcg7B,EAAY,cAEzB,2BAAKh7B,GAAN,kBAAcg7B,EAAY9tB,MAItC,OACE,yBAAKxL,UAAU,6BACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAKq6B,WAE1B,kBAAC,GAAD,CAASvc,QAAQ,GACf,8BACA,yBAAKjd,UAAU,uBAAuBb,EAAK,mBAC3C,yBAAKa,UAAU,SACb,0BAAMA,UAAU,iBACb1B,EAAMqf,aAAe,kBAAC,IAAD,CAAiB1X,KAAK,yBAA4B,GACvE3H,EAAMqf,eAEX,yBAAK3d,UAAU,WACb,0BAAMA,UAAU,cACb1B,EAAMuf,UAAY,kBAAC,IAAD,CAAiB5X,KAAK,yBAA4B,GACrE,8BAAO8Y,KAAWzgB,EAAMuf,eAI9B,kBAAC,GAAD,KACGvf,EAAMqL,QAAU,kBAAC,EAAD,MACf,0BAAMqV,SAAU,SAAA7U,GAAK,OAAIkU,EAAkBlU,KACzC,kBAAC,GAAD,CAAWjJ,KAAK,YAAYuF,GAAG,cAAc4K,MAAOlS,EAAK,kBAEzD,kBAAC,GAAD,CACEyZ,QAASta,EAAMs9B,aACf16B,KAAK,iBACLuF,GAAG,eACH4K,MAAOlS,EAAK,gBACZ+b,cAAe5c,EAAMu9B,YAEvB,kBAAC,GAAD,CACEjjB,QAASta,EAAMw9B,iBACf56B,KAAK,qBACLuF,GAAG,mBACH4K,MAAOlS,EAAK,oBACZ+b,cAAe5c,EAAMy9B,gBAEvB,kBAAC,GAAD,CACEnjB,QAASta,EAAM29B,eACf/6B,KAAK,mBACLuF,GAAG,iBACH4K,MAAOlS,EAAK,kBACZ+b,cAAe5c,EAAM09B,cAEvB,kBAAC,GAAD,CACEpjB,QAASta,EAAM49B,aACfh7B,KAAK,iBACLuF,GAAG,eACH4K,MAAOlS,EAAK,gBACZ+b,cAAe5c,EAAM69B,YAEvB,kBAAC,GAAD,CACEvjB,QAASta,EAAM89B,aACfl7B,KAAK,UACLuF,GAAG,SACH4K,MAAOlS,EAAK,gBAEd,kBAAC,GAAD,CAA0BkS,MAAOlS,EAAK,eAAgBsH,GAAG,aAAavF,KAAK,gBAAgBzC,MAAOH,EAAM+9B,YACtG,4BAAQ79B,KAAK,SAAS+C,QAAS,kBAAM83B,EAAgB,gBACnD,kBAAC,IAAD,CAAiBpzB,KAAK,eAI1B,kBAAC,GAAD,CAA0BoL,MAAOlS,EAAK,eAAgB+b,cAAe/b,EAAK,cAAesH,GAAG,aAAavF,KAAK,gBAAgBzC,MAAOH,EAAMg+B,YACzI,4BAAQ99B,KAAK,SAAS+C,QAAS,kBAAM83B,EAAgB,gBACnD,kBAAC,IAAD,CAAiBpzB,KAAK,eAI1B,kBAAC,GAAD,CAA0BoL,MAAOlS,EAAK,eAAgBsH,GAAG,aAAavF,KAAK,gBAAgBzC,MAAOH,EAAMi+B,YACtG,4BAAQ/9B,KAAK,SAAS+C,QAAS,kBAAM83B,EAAgB,gBACnD,kBAAC,IAAD,CAAiBpzB,KAAK,eAI1B,kBAAC,GAAD,CAA0BoL,MAAOlS,EAAK,eAAgB+b,cAAe/b,EAAK,cAAesH,GAAG,aAAavF,KAAK,gBAAgBzC,MAAOH,EAAMk+B,YACzI,4BAAQh+B,KAAK,SAAS+C,QAAS,kBAAM83B,EAAgB,gBACnD,kBAAC,IAAD,CAAiBpzB,KAAK,eAI1B,kBAAC,GAAD,CAA0BoL,MAAOlS,EAAK,gBAAiBsH,GAAG,cAAcvF,KAAK,iBAAiBzC,MAAOH,EAAMm+B,aACzG,4BAAQj+B,KAAK,SAAS+C,QAAS,kBAAM83B,EAAgB,iBACnD,kBAAC,IAAD,CAAiBpzB,KAAK,eAI1B,kBAAC,GAAD,CAA0BoL,MAAOlS,EAAK,iBAAkB+b,cAAe/b,EAAK,cAAesH,GAAG,eAAevF,KAAK,kBAAkBzC,MAAOH,EAAMo+B,cAC/I,4BAAQl+B,KAAK,SAAS+C,QAAS,kBAAM83B,EAAgB,kBACnD,kBAAC,IAAD,CAAiBpzB,KAAK,eAI1B,kBAAC,GAAD,CAA0BoL,MAAOlS,EAAI,UAAesH,GAAG,YAAYvF,KAAK,cAAczC,MAAOH,EAAMy8B,WACjG,4BAAQv8B,KAAK,SAAS+C,QAAS,kBAAM83B,EAAgB,eACnD,kBAAC,IAAD,CAAiBpzB,KAAK,eAI1B,kBAAC,GAAD,CAA0BoL,MAAOlS,EAAK,aAAcsH,GAAG,WAAWvF,KAAK,cAAczC,MAAOH,EAAMq+B,UAChG,4BAAQn+B,KAAK,SAAS+C,QAAS,kBAAM83B,EAAgB,cACnD,kBAAC,IAAD,CAAiBpzB,KAAK,eAI1B,kBAAC,GAAD,CAAW/E,KAAK,YAAYuF,GAAG,UAAUhI,MAAM,IAAI4S,MAAOlS,EAAI,UAE9D,kBAAC,GAAD,CAA0BkS,MAAOlS,EAAI,MAAW+b,cAAe/b,EAAK,gBAAiBsH,GAAG,QAAQvF,KAAK,eAAezC,MAAOH,EAAMs+B,OAC/H,4BAAQp+B,KAAK,SAAS+C,QAAS,kBAAM83B,EAAgB,WACnD,kBAAC,IAAD,CAAiBpzB,KAAK,eAI1B,kBAAC,GAAD,CAA0BoL,MAAOlS,EAAI,UAAe+b,cAAe/b,EAAK,gBAAiBsH,GAAG,YAAYvF,KAAK,cAAczC,MAAOH,EAAM68B,WACtI,4BAAQ38B,KAAK,SAAS+C,QAAS,kBAAM83B,EAAgB,eACnD,kBAAC,IAAD,CAAiBpzB,KAAK,eAI1B,kBAAC,GAAD,CAAauyB,QAAS,CAAC,kBAAmB,qBAE1C,yBAAKx4B,UAAU,mBACb,4BAAQxB,KAAK,SAASwB,UAAU,OAAOb,EAAKugB,KAC5C,4BAAQlhB,KAAK,SAASwB,UAAU,OAAOuB,QAAS,kBAAMI,EAAQG,KAAK,oBAAoB3C,EAAKkgB,YC7L3F2d,GA1Da,SAAC,GAA6E,IAA3EhB,EAA0E,EAA1EA,YAAaH,EAA6D,EAA7DA,UAAWoB,EAAkD,EAAlDA,WAAYC,EAAsC,EAAtCA,eAAsC,IAAtBxT,eAAsB,SAC/FvqB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KAER,OACE,yBAAKa,UAAU,oBAAoBK,MAAO,CAAE+oB,QAAQ,GAAD,OAAKM,EAAU,QAAU,UAGxEsS,GACE,kBAAC,GAAD,CACE9gB,cAAe,kBAAC,KAAD,CAAMpK,GAAE,uBAAkBkrB,IAAgB78B,EAAI,WAC7DkS,MAAOlS,EAAK,gBAAkB,MAC9B+B,KAAK,iBACLzC,MAAOu9B,EACPv1B,GAAG,eACHwH,UAAQ,IAKZ4tB,GACE,kBAAC,GAAD,CACE3gB,cAAe,kBAAC,KAAD,CAAMpK,GAAE,uBAAkB+qB,IAAc18B,EAAI,WAC3DkS,MAAOlS,EAAK,cAAgB,MAC5B+B,KAAK,eACLzC,MAAOo9B,EACPp1B,GAAG,aACHwH,UAAQ,IAKZgvB,GACE,kBAAC,GAAD,CACE5rB,MAAOlS,EAAK,kBACZ+B,KAAK,gBACLzC,MAAOw+B,EACPx2B,GAAG,cACHwH,UAAQ,IAKZivB,GACE,kBAAC,GAAD,CACEhiB,cAAe,kBAAC,KAAD,CAAMpK,GAAE,uBAAkBosB,IAAmB/9B,EAAI,WAChEkS,MAAOlS,EAAK,qBACZ+B,KAAK,qBACLzC,MAAOy+B,EACPz2B,GAAG,mBACHwH,UAAQ,MCLLkvB,GA3Ca,SAAC,GAAkD,IAAhDhB,EAA+C,EAA/CA,UAAW33B,EAAoC,EAApCA,SAAU44B,EAA0B,EAA1BA,WAAY1T,EAAc,EAAdA,QACtDvqB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KAaR,OACE,yBAAKa,UAAU,oBAAoBK,MAAO,CAAE+oB,QAAQ,GAAD,OAAKM,EAAU,QAAU,UAC1E,kBAAC,GAAD,CACExO,cAAe,kBAAC,KAAD,CAAMpK,GAAE,uBAAkBqrB,IAAch9B,EAAI,WAC3DkS,MAAOlS,EAAK,cAAgB,MAC5B+B,KAAK,eACLzC,MAAO09B,EACP11B,GAAG,aACHwH,UAAQ,IAEV,kBAAC,GAAD,CACEoD,MAAOlS,EAAK,eACZqF,SAAUA,EACVoU,QAAS,CAACzZ,EAAI,GAAQA,EAAI,KAC1B+B,KAAK,gBACLuF,GAAG,cACHwH,UAAQ,IAGK,QAAbzJ,GACE,yBAAKxE,UAAU,iBA9Bd2N,OAAO6Q,KAAK4e,GAAY36B,KAAI,SAAC46B,EAASr7B,GAAV,OACjC,kBAAC,GAAD,CACEqP,MAAK,UAAKlS,EAAK,cAAV,aAA4B6C,EAAQ,GACzCd,KAAK,oBACLuF,GAAG,kBACHhI,MAAO4+B,EACPpvB,UAAQ,UC8MDqvB,GAzNgB,SAAC,GAAuB,IAAD,EAApBh6B,EAAoB,EAApBA,KAAMomB,EAAc,EAAdA,QAC9BvqB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACAJ,EAAY2B,aAAY,SAAApC,GAAK,OAAIA,EAAMwB,eAAvCf,QAF4C,EAGlB2L,mBAASpH,EAAKi6B,MAAQx+B,EAAO,aAAmB,MAAQ,MAHtC,mBAG7Cy+B,EAH6C,KAGlCC,EAHkC,OAItB/yB,mBAASpH,EAAKo6B,SAAW3+B,EAAO,gBAAsB,MAAQ,MAJxC,mBAI7C4+B,EAJ6C,KAIpCC,EAJoC,OAKJlzB,mBAAoC,QAA3B3L,EAAO,YAA4B,MAAQ,MALhD,mBAK7C8+B,EAL6C,KAK3BC,EAL2B,KAuHpD,OACE,yBAAK99B,UAAU,wBAAwBK,MAAO,CAAE+oB,QAAQ,GAAD,OAAKM,EAAU,QAAU,UAC9E,kBAAC,GAAD,CACErY,MAAOlS,EAAI,QACXV,MAAO6E,EAAKy6B,QACZ78B,KAAK,YACLuF,GAAG,UACHwH,UAAQ,IAEV,yBAAKjO,UAAU,2BACb,2BAAOA,UAAU,gBAAgBmb,QAAQ,SACtChc,EAAK,0BAER,4BAAQa,UAAU,eAAeyG,GAAG,QAAQvF,KAAK,WAC/C,4BAAQzC,MAAM,MAAMU,EAAI,IACxB,4BAAQV,MAAM,MAAM+F,SAA8B,QAApBlB,EAAK43B,YAAuB/7B,EAAI,OAIlE,6BAEA,yBAAKa,UAAU,2BACb,2BAAOA,UAAU,gBAAgBmb,QAAQ,YACtChc,EAAI,UAEP,4BAAQa,UAAU,eAAeyG,GAAG,WAAWvF,KAAK,cAClD,4BAAQzC,MAAM,MAAMU,EAAI,IACxB,4BAAQV,MAAM,MAAM+F,SAAmC,aAAzBlB,EAAK06B,iBAAiC7+B,EAAI,OAI5E,kBAAC,GAAD,CACEkS,MAAOlS,EAAK,iBACZyZ,QAAS,CAACzZ,EAAI,IACd+B,KAAK,aACLuF,GAAG,WACHwH,UAAQ,IAEV,kBAAC,GAAD,CACEoD,MAAOlS,EAAK,4BACZyZ,QAAS,CAACzZ,EAAI,IACd+B,KAAK,mBACLuF,GAAG,iBACHwH,UAAQ,IAEV,yBAAKjO,UAAU,2BACb,2BAAOA,UAAU,gBAAgBmb,QAAQ,QACtChc,EAAK,gBAER,4BAAQa,UAAU,eAAeyG,GAAG,OAAOvF,KAAK,SAAS4J,SAAU,SAAAX,GAAK,OAAIszB,EAAatzB,EAAMY,OAAOtM,SAElGM,EAAO,aACH,4BAAQN,MAAM,UAAUU,EAAK,+BAC7B,4BAAQV,MAAM,MAAMU,EAAI,IAG9B,4BAAQV,MAAM,MAAM+F,SAAUlB,EAAKi6B,MAAQx+B,EAAO,cAAmBI,EAAI,OA/I9D,WACjB,GAAkB,QAAdq+B,EACF,OAAKl6B,EAAK26B,kBAAoBl/B,EAAO,aAC3B,yBAAKiB,UAAU,eACrB,6BAAMb,EAAK,qFACX,yBAAKa,UAAU,uBACb,8BAAOb,EAAK,eAAZ,KACA,kBAAC,GAAD,CACEkS,MAAOlS,EAAK,eACZV,MAAO6E,EAAK46B,YACZh9B,KAAK,iBACLuF,GAAG,mBAID,yBAAKzG,UAAU,eACrB,oCACE,8BAAOb,EAAK,qFACZ,8BAAOA,EAAK,uFAEd,yBAAKa,UAAU,uBACb,8BAAOb,EAAK,qBAAZ,KACA,kBAAC,GAAD,CACEkS,MAAOlS,EAAI,QACX+B,KAAK,iBACLuF,GAAG,kBAGP,yBAAKzG,UAAU,eACb,uBAAGma,KAAI,oEAA+D7W,EAAK66B,YACxEh/B,EAAK,eADR,OAC4BA,EAAI,OAEhC,uBAAGgb,KAAI,oEAA+D7W,EAAK66B,YACxEh/B,EAAK,wBADR,SAKF,0IA8GHi/B,GAED,6BAEA,yBAAKp+B,UAAU,2BACb,2BAAOA,UAAU,gBAAgBmb,QAAQ,eACtChc,EAAK,iBAER,4BAAQa,UAAU,eAAeyG,GAAG,cAAcvF,KAAK,gBAAgB4J,SAAU,SAAAX,GAAK,OAAIyzB,EAAWzzB,EAAMY,OAAOtM,SAE9GM,EAAO,gBACH,4BAAQN,MAAM,UAAUU,EAAK,+BAC7B,4BAAQV,MAAM,MAAMU,EAAI,IAG9B,4BAAQV,MAAM,MAAM+F,SAAUlB,EAAKo6B,SAAW3+B,EAAO,iBAAsBI,EAAI,OAvHtE,WACf,GAAgB,QAAZw+B,EACF,OAAKr6B,EAAK+6B,gBAAkBt/B,EAAO,gBACzB,yBAAKiB,UAAU,aACrB,6BAAMb,EAAK,2GACX,yBAAKa,UAAU,uBACb,8BAAOb,EAAK,eAAZ,KACA,kBAAC,GAAD,CACEkS,MAAOlS,EAAK,eACZV,MAAO6E,EAAKg7B,sBACZp9B,KAAK,wBACLuF,GAAG,0BAID,yBAAKzG,UAAU,aACrB,oCACE,8BAAOb,EAAK,2GACZ,8BAAOA,EAAK,uFAEd,yBAAKa,UAAU,uBACb,8BAAOb,EAAK,qBAAZ,KACA,kBAAC,GAAD,CACEkS,MAAOlS,EAAI,QACXV,MAAM,GACNyC,KAAK,wBACLuF,GAAG,kBAGP,yBAAKzG,UAAU,eACb,uBAAGma,KAAI,oEAA+D7W,EAAK66B,WAAapzB,OAAO,SAASwzB,IAAI,uBACzGp/B,EAAK,eADR,OAC4BA,EAAI,OAEhC,uBAAGgb,KAAI,oEAA+D7W,EAAK66B,WAAapzB,OAAO,SAASwzB,IAAI,uBACzGp/B,EAAK,wBADR,SAKF,0IAqFHq/B,GAED,6BAEA,yBAAKx+B,UAAU,2BACb,2BAAOA,UAAU,gBAAgBmb,QAAQ,eAAzC,UACGhc,EAAI,mBADP,QAC0B,eAE1B,4BAAQa,UAAU,eAAeyG,GAAG,cAAcvF,KAAK,gBAAgB4J,SAAU,SAAAX,GAAK,OAAI2zB,EAAoB3zB,EAAMY,OAAOtM,SACzH,4BAAQA,MAAM,MAAMU,EAAI,IACxB,4BAAQV,MAAM,MAAM+F,SAAUlB,EAAKm7B,kBAA+C,QAA3B1/B,EAAO,aAA4BI,EAAI,OAzM5E,WAEiB,IAAD,EADxC,GAAyB,QAArB0+B,GAC6B,QAA3B9+B,EAAO,YACT,OAAQ,yBAAKiB,UAAU,eACrB,6BACE,0BAAMK,MAAO,CAAEq+B,WAAY,WAAav/B,EAAK,iDAC7C,ybASF,yBAAKa,UAAU,eACb,uBAAGma,KAAK,2CAA2CpP,OAAO,SAASwzB,IAAI,uBAAvE,UACGp/B,EAAK,8BADR,QACkC,yBA4LvCw/B,KC1FQC,GAxHY,SAAC,GAAuB,IAArBt7B,EAAoB,EAApBA,KAAMomB,EAAc,EAAdA,QAC1BvqB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KADwC,EAEJuL,oBAAS,GAFL,mBAEzCm0B,EAFyC,KAEzBC,EAFyB,OAGZp0B,mBAAS,IAHG,mBAGzCq0B,EAHyC,KAG7BC,EAH6B,KAgBhD,OAXAn9B,qBAAU,WAAO,IACPo9B,EAAgB37B,EAAhB27B,YAGND,EADEC,EACY,CAAC,IAAF,mBAASA,IAER,CAAC,OAGhB,IAGD,yBAAKj/B,UAAU,oBAAoBK,MAAO,CAAE+oB,QAAQ,GAAD,OAAKM,EAAU,QAAU,UAC1E,kBAAC,GAAD,CACE5e,SAAU,SAAA8B,GAAO,OAAIkyB,EAAkBlyB,IACvCyE,MAAOlS,EAAK,kCACZuc,eAAgBpY,EAAK47B,kBACrBh+B,KAAK,4BACLuF,GAAG,0BACHmG,QAASiyB,IAITA,GACE,yBAAK7+B,UAAU,gBACb,kBAAC,GAAD,CACEwE,SAAUlB,EAAK47B,kBACfh+B,KAAK,mBACLmQ,MAAOlS,EAAI,OACXyZ,QAASmmB,EACTt4B,GAAG,oBAKX,kBAAC,GAAD,CACE4K,MAAOlS,EAAK,mBACZqM,aAAclI,EAAK67B,YACnBj+B,KAAK,gBACLuF,GAAG,gBAEL,kBAAC,GAAD,CACE+E,aAAclI,EAAK87B,YACnB34B,GAAG,cACHvF,KAAK,gBACLmQ,MAAOlS,EAAK,aAEd,yBAAKa,UAAU,mBAEXsD,EAAK+7B,iBACH,6BACE,8BAAOlgC,EAAI,QAAX,KACA,8BAAOmE,EAAK+7B,kBAMhB/7B,EAAKg8B,iBACH,6BACE,8BAAOngC,EAAI,QAAX,KACA,8BAAOmE,EAAKg8B,kBAMhBh8B,EAAKi8B,oBACH,6BACE,8BAAOpgC,EAAI,WAAX,KACA,8BAAOmE,EAAKi8B,qBAMhBj8B,EAAKk8B,mBACH,6BACE,8BAAOrgC,EAAI,UAAX,KACA,8BAAOmE,EAAKk8B,oBAMhBl8B,EAAKm8B,mBACH,6BACE,8BAAOtgC,EAAI,UAAX,KACA,8BAAOmE,EAAKm8B,oBAMhBn8B,EAAKo8B,iBACH,6BACE,8BAAOvgC,EAAI,QAAX,KACA,8BAAOmE,EAAKo8B,kBAMhBp8B,EAAKq8B,gBACH,6BACE,8BAAOxgC,EAAI,OAAX,KACA,8BAAOmE,EAAKq8B,oBCIXC,GApHY,SAAC,GAAuB,IAArBt8B,EAAoB,EAApBA,KAAMomB,EAAc,EAAdA,QAAc,EACbhpB,aAAY,SAAApC,GAAK,OAAIA,EAAMwB,YAAYf,WAAlE8gC,EADwC,EACxCA,WAAYC,EAD4B,EAC5BA,WACZ3gC,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KA+DR,OACE,yBAAKa,UAAU,qBAAqBK,MAAO,CAAE+oB,QAAQ,GAAD,OAAKM,EAAU,QAAU,UAC3E,kBAAC,GAAD,CACExO,cAAe,kBAAC,KAAD,CAAMpK,GAAG,sBAAsB3R,EAAI,WAClDkS,MAAOlS,EAAK,iBAAmB,MAC/BqF,SAAUlB,EAAKy8B,MACfnnB,QAAS,CAACzZ,EAAI,GAAQA,EAAI,KAC1B+B,KAAK,UACLuF,GAAG,QACHwH,UAAQ,IAGO,QAAf3K,EAAKy8B,OACH,oCACE,kBAAC,GAAD,CACE1uB,MAAOlS,EAAK,kBACZV,MAAOohC,EACP3+B,KAAK,cACLuF,GAAG,cA/Ec,WAC3B,GAAInD,EAAK08B,YAAYv7B,OACnB,OAAOnB,EAAK08B,YAAYv9B,KAAI,SAACyvB,EAAMlwB,GAAP,OAC1B,yBAAKhC,UAAU,SACb,kBAAC,GAAD,CACEqR,MAAK,UAAKlS,EAAI,KAAT,aAAsB6C,EAAQ,GACnCvD,MAAOyzB,EAAI,KACXhxB,KAAK,eACLuF,GAAG,aACHwH,UAAQ,IAEV,kBAAC,GAAD,CACEoD,MAAOlS,EAAI,SACX+B,KAAK,mBACLuF,GAAG,mBAEL,kBAAC,GAAD,CACE4K,MAAOlS,EAAK,+BACZV,MAAOyzB,EAAI,OACXhxB,KAAK,cACLuF,GAAG,YACHwH,UAAQ,IAEV,kBAAC,GAAD,CACEoD,MAAOlS,EAAK,+BACZV,MAAOyzB,EAAI,WACXhxB,KAAK,cACLuF,GAAG,oBACHwH,UAAQ,QAqDPgyB,IAKP,kBAAC,GAAD,CACE/kB,cAAe,kBAAC,KAAD,CAAMpK,GAAG,2BAA2B3R,EAAI,WACvDkS,MAAOlS,EAAK,sBAAwB,MACpCqF,SAAUlB,EAAK48B,MACftnB,QAAS,CAACzZ,EAAI,GAAQA,EAAI,KAC1B+B,KAAK,UACLuF,GAAG,QACHwH,UAAQ,IAGO,QAAf3K,EAAK48B,OACH,oCACE,kBAAC,GAAD,CACE7uB,MAAOlS,EAAK,kBACZV,MAAOqhC,EACP5+B,KAAK,cACLuF,GAAG,cAnENnD,EAAK68B,YAAY19B,KAAI,SAACyvB,EAAMlwB,GAAP,OAC1B,yBAAKhC,UAAU,SACb,kBAAC,GAAD,CACEqR,MAAK,UAAKlS,EAAI,KAAT,aAAsB6C,EAAQ,GACnCvD,MAAOyzB,EAAI,KACXhxB,KAAK,eACLuF,GAAG,aACHwH,UAAQ,IAEV,kBAAC,GAAD,CACEoD,MAAOlS,EAAK,+BACZV,MAAOyzB,EAAI,OACXhxB,KAAK,aACLuF,GAAG,WACHwH,UAAQ,IAEV,kBAAC,GAAD,CACEoD,MAAOlS,EAAK,+BACZV,MAAOyzB,EAAI,WACXhxB,KAAK,cACLuF,GAAG,gBACHwH,UAAQ,WCaHmyB,GAzEU,SAAC,GAAuB,IAArB98B,EAAoB,EAApBA,KAAMomB,EAAc,EAAdA,QACxBvqB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KADsC,EAENuL,oBAAS,GAFH,mBAEvC21B,EAFuC,KAEzBC,EAFyB,KAI9C,OACE,yBAAKtgC,UAAU,oBAAoBK,MAAO,CAAE+oB,QAAQ,GAAD,OAAKM,EAAU,QAAU,UAC1E,kBAAC,GAAD,CACE9Q,QAAS,CAAC,KAAM,OAChBvH,MAAOlS,EAAK,gBACZqF,SAAUlB,EAAKi9B,OACfr/B,KAAK,WACLuF,GAAG,WAEL,kBAAC,GAAD,CACEmS,QAAS,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAClDvH,MAAOlS,EAAK,qBACZqF,SAAUlB,EAAKk9B,YACft/B,KAAK,gBACLuF,GAAG,gBAEL,kBAAC,GAAD,CACE4K,MAAOlS,EAAI,UACXV,MAAO6E,EAAKm9B,WACZv/B,KAAK,eACLuF,GAAG,iBAEL,4BAAQjI,KAAK,SAAS+C,QAAS,kBAAM++B,GAAiBD,KACnDlhC,EAAK,iBACLkhC,EAAe,kBAAC,IAAD,CAAiBp6B,KAAK,aAAgB,kBAAC,IAAD,CAAiBA,KAAK,gBAI5Eo6B,GACE,yBAAKhgC,MAAO,CAAE2uB,UAAW,qBACvB,6BAEA,kBAAC,GAAD,CACExqB,SAAUlB,EAAKo9B,YACf9nB,QAAStV,EAAKqwB,UACdtiB,MAAOlS,EAAI,SACX+B,KAAK,gBACLuF,GAAG,gBAEL,kBAAC,GAAD,CACE4K,MAAOlS,EAAI,KACXV,MAAO6E,EAAKq9B,YACZz/B,KAAK,gBACLuF,GAAG,gBAEL,kBAAC,GAAD,CACE4K,MAAOlS,EAAI,SACXV,MAAO6E,EAAKs9B,gBACZ1/B,KAAK,oBACLuF,GAAG,oBAEL,kBAAC,GAAD,CACE4K,MAAOlS,EAAI,SACXV,MAAO6E,EAAKu9B,gBACZ3/B,KAAK,oBACLuF,GAAG,oBAEL,kBAAC,GAAD,CACE4K,MAAOlS,EAAI,UACXV,MAAO6E,EAAKw9B,aACZ5/B,KAAK,iBACLuF,GAAG,oBCkFFs6B,GAlJQ,SAAC,GAAuB,IAArBz9B,EAAoB,EAApBA,KAAMomB,EAAc,EAAdA,QACtBsX,EAAatgC,aAAY,SAAApC,GAAK,OAAIA,EAAMwB,YAAYf,WAApDiiC,SACA7hC,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KAFoC,EAGcuL,oBAAS,GAHvB,mBAGrCu2B,EAHqC,KAGdC,EAHc,KAK5Cr/B,qBAAU,WACJyB,EAAK69B,kBACPD,GAAyB,KAE1B,IAOH,OACE,yBAAKlhC,UAAU,qBAAqBK,MAAO,CAAE+oB,QAAQ,GAAD,OAAKM,EAAU,QAAU,UAC3E,kBAAC,GAAD,CACExO,cAAe,kBAAC,KAAD,CAAMpK,GAAE,uBAAkBxN,EAAK89B,cAAgBjiC,EAAI,WAClEkS,MAAOlS,EAAK,eAAiB,MAC7B+B,KAAK,gBACLzC,MAAO6E,EAAK89B,YACZ36B,GAAG,cACHwH,UAAQ,IAGR3K,EAAK+9B,kBACH,kBAAC,GAAD,CACEnmB,cAAe,kBAAC,KAAD,CAAMpK,GAAE,uBAAkBxN,EAAK+9B,mBAAqBliC,EAAI,WACvEkS,MAAOlS,EAAI,UAAgB,MAC3B+B,KAAK,qBACLzC,MAAO6E,EAAK+9B,iBACZ56B,GAAG,mBACHwH,UAAQ,IAKZ3K,EAAKg+B,iBACH,kBAAC,GAAD,CACEpmB,cAAe,kBAAC,KAAD,CAAMpK,GAAE,uBAAkBxN,EAAKg+B,kBAAoBniC,EAAI,WACtEkS,MAAOlS,EAAK,cAAgB,MAC5B+B,KAAK,oBACLzC,MAAO6E,EAAKg+B,gBACZ76B,GAAG,kBACHwH,UAAQ,IAId,kBAAC,GAAD,CACEoD,MAAOlS,EAAK,eACZ+B,KAAK,aACLzC,MAAOuiC,EACPv6B,GAAG,aAEL,6BAAM,6BAEN,kBAAC,GAAD,CACEqE,SAAU,SAAA8B,GAAO,OAAIs0B,EAAyBt0B,IAC9CyE,MAAOlS,EAAK,kCACZ+B,KAAK,6BACLuF,GAAG,2BACHmG,UAAWtJ,EAAK69B,mBAGhBF,GACE,yBAAKjhC,UAAU,kBACb,kBAAC,GAAD,CACE4Y,QAzDA,CAAI,IAAJ,mBAAWtV,EAAK27B,cA0DhBz6B,SAAUlB,EAAK69B,iBACfjgC,KAAK,oBACLmQ,MAAOlS,EAAI,OACXsH,GAAG,oBAEL,yBAAKzG,UAAU,mBAEXsD,EAAK+7B,iBACH,6BACE,8BAAOlgC,EAAI,QAAX,KACA,8BAAOmE,EAAK+7B,kBAMhB/7B,EAAKg8B,iBACH,6BACE,8BAAOngC,EAAI,QAAX,KACA,8BAAOmE,EAAKg8B,kBAMhBh8B,EAAKi8B,oBACH,6BACE,8BAAOpgC,EAAI,WAAX,KACA,8BAAOmE,EAAKi8B,qBAMhBj8B,EAAKk8B,mBACH,6BACE,8BAAOrgC,EAAI,UAAX,KACA,8BAAOmE,EAAKk8B,oBAMhBl8B,EAAKm8B,mBACH,6BACE,8BAAOtgC,EAAI,UAAX,KACA,8BAAOmE,EAAKm8B,oBAMhBn8B,EAAKo8B,iBACH,6BACE,8BAAOvgC,EAAI,QAAX,KACA,8BAAOmE,EAAKo8B,kBAMhBp8B,EAAKq8B,gBACH,6BACE,8BAAOxgC,EAAI,OAAX,KACA,8BAAOmE,EAAKq8B,qBC5I1B3kB,I,OAAWhR,OAAO+H,SAASC,QAGpBuvB,GAAgB,WAAgE,IAA/D1iC,EAA8D,uDAAvD,GAAIsZ,EAAmD,uDAA5C,GAAI8Z,EAAwC,uDAA7B,GAAIuP,EAAyB,uDAAP,GAC7EzrB,EAAW,IAAIC,SAkBrB,OAhBIic,GACFlc,EAASE,OAAO,WAAYgc,GAG1BuP,GACFzrB,EAASE,OAAO,mBAAoBurB,GAGlC3iC,GACFkX,EAASE,OAAO,OAAQpX,GAGtBsZ,GACFpC,EAASE,OAAO,OAAQkC,GAGnBhG,KAAM+D,KAAK8E,GArBK,0BAqBwBjF,ICbpC0rB,GAAQ,SAAC5iC,EAAMozB,GAAP,OAAoB,SAAA3U,GACvC,OAAO,IAAI3K,SAAQ,SAACwB,EAASqJ,I/DPT,SAACla,GACrB,IAAIob,EAAiB,IAAI1I,SAEzB,IAAK,IAAIrT,KAAOW,EACdob,EAAezI,OAAOtT,EAAKW,EAAKX,IAKlC,OAFA+b,EAAezI,OAAO,QAAS8E,MAExB5I,KAAM+D,KAAN,UAAc8E,GAAd,2BAAiD0D,I+DDtDgjB,CAAO,CAAE7iC,OAAMozB,aAAYvf,MAAK,SAACgC,GAAc,IAAD,EACeA,EAASpR,KAA5DpE,EADoC,EACpCA,MAAOH,EAD6B,EAC7BA,QAASE,EADoB,EACpBA,MAAOK,EADa,EACbA,MAAOgE,EADM,EACNA,KAAMzE,EADA,EACAA,KAAMM,EADN,EACMA,KAE9CF,GAAO6b,GAAa7b,GAExBqe,EAAS,CACP9e,KtGnBa,QsGoBbC,MAAO,CACLQ,MAAOA,GAAS,GAChBE,KAAMA,GAAQ,GACdC,SAAUP,EACVK,WAGJoe,EAAS,CACP9e,KpG5BqB,gBoG6BrBC,MAAO,CACLa,WAGJge,EAAS,CACP9e,K1GlCwB,mB0GmCxBC,MAAO,CACLI,KAAMyE,KAGVga,EAAS,CACP9e,KxGxCwB,mBwGyCxBC,MAAOM,IAEToV,EAAQlV,MACP,SAACC,GACFse,EAAOte,WAyCAyiC,GAAU,SAAA1U,GAAQ,OAAI,SAAA3P,GACjC,OAAO,IAAI3K,SAAQ,SAACwB,EAASqJ,I/D7DP,SAACyP,GACvB,OAAO9a,KAAMC,IAAN,UAAa4I,GAAb,2BAAgD,CACrDmD,OAAQ,CACNyjB,QAAS3U,EACThuB,MAAO8b,S+D0DT8mB,CAAS5U,GAAUva,MAAK,SAACgC,GAAc,IAAD,EACuBA,EAASpR,KAA5DpE,EAD4B,EAC5BA,MAAOD,EADqB,EACrBA,MAAOF,EADc,EACdA,QAASO,EADK,EACLA,MAAOgE,EADF,EACEA,KAAMzE,EADR,EACQA,KAAMM,EADd,EACcA,KAC9CF,GAAO6b,GAAa7b,GAExBqe,EAAS,CACP9e,KtG7Fa,QsG8FbC,MAAO,CACLW,SAAUP,EACVM,OACAF,QACAC,WAGJoe,EAAS,CACP9e,KpGtGqB,gBoGuGrBC,MAAO,CACLa,WAGJge,EAAS,CACP9e,K1G5GwB,mB0G6GxBC,MAAO,CACLI,KAAMyE,KAGVga,EAAS,CACP9e,KxGlHwB,mBwGmHxBC,MAAOM,IAGToV,EAAQlV,MACP,SAACC,GACFiR,QAAQjR,MAAMA,GACdse,YAKOskB,GAAS,kBAAM,SAACxkB,EAAUC,GACrC,OAAO,IAAI5K,SAAQ,SAACwB,EAASqJ,G/D3FtBrL,KAAMC,IAAN,UAAa4I,GAAb,6B+D4FKtI,MAAK,SAACgC,GAAc,IAAD,EAC8CA,EAASpR,KAA1Ey+B,EADmB,EACnBA,gBAAiB7iC,EADE,EACFA,MAAOE,EADL,EACKA,SAAUP,EADf,EACeA,KAAMM,EADrB,EACqBA,KAAMJ,EAD3B,EAC2BA,QAASO,EADpC,EACoCA,MAzH7C,eA2HdyiC,GvE/H0Bh7B,aAAai7B,WAJhC,SuEsIT1kB,EAAS,CACP9e,KtGtIY,SsGuIZC,MAAO,CACLW,SAAU,GACVH,MAAO,GACPF,QAAS,GACTI,KAAM,GACND,WAGJoe,EAAS,CACP9e,KpGjJmB,gBoGkJnBC,MAAO,CACLa,MAAO,MAGXge,EAAS,CACP9e,K1GvJsB,mB0GwJtBC,MAAO,CACLI,KAAM,MAGVye,EAAS,CACP9e,KxG7JsB,mBwG8JtBC,MAAO,KAGT0V,KAxJmB,kBAyJV4tB,GACTzkB,EAAS,CACP9e,KtGhKmB,gBsGiKnBC,MAAO,CACLW,WACAH,MAAO,GACPE,OACAD,WAGJoe,EAAS,CACP9e,KpG7KmB,gBoG8KnBC,MAAO,CACLa,WAGJge,EAAS,CACP9e,K1GnLsB,mB0GoLtBC,MAAO,CACLI,UAGJye,EAAS,CACP9e,KxGzLsB,mBwG0LtBC,MAAOM,IAGToV,KAEAA,EAAQ,4BAAD,OAA6B4tB,OAErC,SAAC7iC,GACFiR,QAAQjR,MAAMA,GACdse,YC8CSykB,GAzNI,SAAAzhC,GACjB,IAAMvB,EAAQ8H,aAAaC,QAAQ,SAC3B7H,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACAJ,EAAY2B,aAAY,SAAApC,GAAK,OAAIA,EAAMwB,eAAvCf,QACF4C,EAAUC,cACV0b,EAAWI,cALS,EAMchT,mBAAS,IANvB,mBAMnBiT,EANmB,KAMLC,EANK,OAOQlT,mBAAS,IAPjB,mBAOnBmT,EAPmB,KAORC,EAPQ,OAQApT,mBAAS,CACjCpH,KAAM,GACNqG,SAAS,EACTu4B,WAAW,EACXC,WAAW,EACXC,YAAY,EACZC,cAAc,EACdC,WAAW,EACXC,eAAe,EACfC,UAAU,IAjBc,mBAQnBlkC,EARmB,KAQZ4I,EARY,KAoB1BrF,qBAAU,WACRyb,EAASzC,GAAiB,kBAC1ByC,EzEpCK,CACL9e,KxCVkC,yBwCWlCC,MAAO,KyEoCPyI,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAC9BuU,MACC,IAEH,IAAMA,EAAY,W3DpBX/L,KAAMC,IAAI4I,GA3Ba,gCA2BuB,CACnDmD,OAAQ,CACNlf,MAAO8b,Q2DoBNrI,MAAK,SAAAgC,GACJxN,EAAS,2BACJ5I,GADG,IAENgF,KAAMoR,EAASpR,KACfqG,SAAS,QAGZ6O,OAAM,SAAAC,GACLvR,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAC9BwG,QAAQjR,MAAMuZ,OAId4F,EAAoB,SAAAlU,GACxBA,EAAMuG,iBACN,IAFiC,EAE7B+xB,EAAgB,GAFa,eAIN,IAAIzsB,SAAS7L,EAAMY,QAASwT,WAJtB,IAIjC,2BAAkE,CAAC,IAAD,yBAAxDrd,EAAwD,KAAlDzC,EAAkD,KAChEgkC,EAAcvhC,GAAQzC,GALS,8BAQ7BgkC,EAAa,gBACfA,EAAa,cAAoBA,EAAa,cAAkBC,eAGlED,EAAa,KAAW,OACxBA,EAAa,MAAYxjC,EAEc,OAAnCwjC,EAAa,eAA+B1jC,EAAO,oBAC9C0jC,EAAa,cAGoB,IAAtC90B,OAAO6Q,KAAKikB,GAAeh+B,QAAgBg+B,EAAchkB,cAAgB9Q,SAC3EzG,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAE9BmW,GAAc2iB,GACX/vB,MAAK,SAAAlJ,GACJ,GAAsB,MAAlBA,EAAOwS,OAAgB,CAAC,IAAD,EACKxS,EAAOlG,KAA7Bsb,EADiB,EACjBA,UAAWC,EADM,EACNA,OAEfD,GACFhB,EAAgBgB,GAChBd,EAAa,MAEbF,EAAgB,IAChBE,EAAae,QAIlBnM,MAAK,kBAAM4K,GD4IoB,SAACA,EAAUC,GACjD,OAAO,IAAI5K,SAAQ,SAACwB,EAASqJ,GAC3BL,KACGzK,MAAK,SAAA4F,GAAQ,IAAD,EACgBA,EAAIhV,KAAvBvE,EADG,EACHA,QAASE,EADN,EACMA,MAEbA,GAAO6b,GAAa7b,GACxBqe,EAAS,CACP9e,KxG3PsB,mBwG4PtBC,MAAOM,IAGToV,EAAQlV,MAETuZ,OAAM,SAAAC,GACL+E,IACArN,QAAQjR,MAAMuZ,YC5J6B/F,MAAK,kBAAMwL,UACrD1F,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,QAI5BkqB,EAAe,SAAAvnB,GACnBlU,EAAS,2BACJ5I,GADG,kBAEL8c,GAAU9c,EAAM8c,OAIrB,OACE,yBAAKpb,UAAU,6BACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAK0hB,UAE1B,kBAAC,GAAD,CAAS5D,QAAQ,GACf,8BACA,yBAAKjd,UAAU,uBAAuBb,EAAK,uBAC3C,yBAAKa,UAAU,SACb,0BAAMA,UAAU,iBACb2d,EAAe,kBAAC,IAAD,CAAiB1X,KAAK,yBAA4B,GADpE,IACyE0X,IAG3E,yBAAK3d,UAAU,WACb,0BAAMA,UAAU,cACb6d,EAAY,kBAAC,IAAD,CAAiB5X,KAAK,yBAA4B,GADjE,IACqE,8BAAO8Y,KAAWlB,OAI3F,kBAAC,GAAD,KACGvf,EAAMqL,QAAU,kBAAC,EAAD,MACf,0BAAMqV,SAAU,SAAA7U,GAAK,OAAIkU,EAAkBlU,IAAQ1D,GAAG,eACpD,kBAAC,GAAD,CACEhI,MAAOH,EAAMgF,KAAKs/B,SAClBvxB,MAAOlS,EAAI,SACX+B,KAAK,aACLuF,GAAG,aAGHnI,EAAMgF,KAAKu/B,WACT,yBAAK7iC,UAAU,2BACb,2BAAOA,UAAU,gBAAgBmb,QAAQ,YACtChc,EAAK,cAER,4BAAQa,UAAU,eAAeyG,GAAG,WAAWvF,KAAK,cAEhDyM,OAAO6Q,KAAKlgB,EAAMgF,KAAKu/B,WAAWpgC,KAAI,SAAAE,GACpC,IAAMlE,EAAQH,EAAMgF,KAAKu/B,UAAUlgC,GAEnC,OAAO,4BAAQA,IAAKA,EAAKlE,MAAOkE,EAAK6B,SAAUlG,EAAMgF,KAAKw/B,WAAangC,GAAMlE,QAQzF,kBAAC,GAAD,CACEma,QAASta,EAAMgF,KAAKy/B,UACpBv+B,SAAUlG,EAAMgF,KAAK0/B,SACrB3xB,MAAOlS,EAAK,oBACZ+B,KAAK,aACLuF,GAAG,aAEL,yBAAKzG,UAAU,WACb,4BAAQxB,KAAK,SAAS+C,QAAS,kBAAMohC,EAAa,eAC/CxjC,EAAI,IACJb,EAAM4jC,UAAY,kBAAC,IAAD,CAAiBj8B,KAAK,aAAgB,kBAAC,IAAD,CAAiBA,KAAK,gBAGjF,kBAAC,GAAD,CACEi3B,eAAgB5+B,EAAMgF,KAAK2/B,iBAC3BjH,YAAa19B,EAAMgF,KAAK22B,aACxBgD,WAAY3+B,EAAMgF,KAAKw2B,YACvB+B,UAAWv9B,EAAMgF,KAAKq2B,WACtBjQ,QAASprB,EAAM4jC,YAEjB,4BAAQ1jC,KAAK,SAAS+C,QAAS,kBAAMohC,EAAa,eAC/CxjC,EAAI,IACJb,EAAM6jC,UAAY,kBAAC,IAAD,CAAiBl8B,KAAK,aAAgB,kBAAC,IAAD,CAAiBA,KAAK,gBAGjF,kBAAC,GAAD,CACEzB,SAAUlG,EAAMgF,KAAK4/B,cACrB9F,WAAY9+B,EAAMgF,KAAK6/B,YACvBhH,UAAW79B,EAAMgF,KAAK82B,WACtB1Q,QAASprB,EAAM6jC,YAEjB,4BAAQ3jC,KAAK,SAAS+C,QAAS,kBAAMohC,EAAa,gBAC/CxjC,EAAI,KACJb,EAAM8jC,WAAa,kBAAC,IAAD,CAAiBn8B,KAAK,aAAgB,kBAAC,IAAD,CAAiBA,KAAK,gBAGlF,kBAAC,GAAD,CAAgB3C,KAAMhF,EAAMgF,KAAMomB,QAASprB,EAAM8jC,aAEjD,4BAAQ5jC,KAAK,SAAS+C,QAAS,kBAAMohC,EAAa,cAC/CxjC,EAAI,GACJb,EAAMkkC,SAAW,kBAAC,IAAD,CAAiBv8B,KAAK,aAAgB,kBAAC,IAAD,CAAiBA,KAAK,gBAGhF,kBAAC,GAAD,CAAoB3C,KAAMhF,EAAMgF,KAAMomB,QAASprB,EAAMkkC,WAErD,4BAAQhkC,KAAK,SAAS+C,QAAS,kBAAMohC,EAAa,kBAC/CxjC,EAAI,OACJb,EAAM+jC,aAAe,kBAAC,IAAD,CAAiBp8B,KAAK,aAAgB,kBAAC,IAAD,CAAiBA,KAAK,gBAGpF,kBAAC,GAAD,CAAkB3C,KAAMhF,EAAMgF,KAAMomB,QAASprB,EAAM+jC,eAEnD,4BAAQ7jC,KAAK,SAAS+C,QAAS,kBAAMohC,EAAa,eAC/CxjC,EAAK,aACLb,EAAMgkC,UAAY,kBAAC,IAAD,CAAiBr8B,KAAK,aAAgB,kBAAC,IAAD,CAAiBA,KAAK,gBAGjF,kBAAC,GAAD,CAAoB3C,KAAMhF,EAAMgF,KAAMomB,QAASprB,EAAMgkC,YAErD,4BAAQ9jC,KAAK,SAAS+C,QAAS,kBAAMohC,EAAa,mBAC/CxjC,EAAK,+BACLb,EAAMikC,cAAgB,kBAAC,IAAD,CAAiBt8B,KAAK,aAAgB,kBAAC,IAAD,CAAiBA,KAAK,gBAGrF,kBAACm9B,GAAD,CAAwB9/B,KAAMhF,EAAMgF,KAAMomB,QAASprB,EAAMikC,iBAG3D,yBAAKviC,UAAU,mBACb,4BAAQxB,KAAK,SAASwB,UAAU,OAAOb,EAAK8Z,MAC5C,4BAAQza,KAAK,SAASwB,UAAU,OAAOuB,QAAS,kBAAMI,EAAQG,KAAK,mBAAmB3C,EAAKkgB,WCzB1FgkB,I,OA9LC,WACd,IAAMpkC,EAAQ8H,aAAaC,QAAQ,SAC3B7H,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACFwC,EAAUC,cACV0b,EAAWI,cAJG,EAKoBhT,mBAAS,IAL7B,mBAKbiT,EALa,KAKCC,EALD,OAMclT,mBAAS,IANvB,mBAMbmT,EANa,KAMFC,EANE,OAOMpT,mBAAS,CACjCpH,KAAM,GACNqG,SAAS,IATS,mBAObrL,EAPa,KAON4I,EAPM,KAYpBrF,qBAAU,WACRyb,EAASzC,GAAiB,kBAC1ByC,E1EpBK,CACL9e,KxCVkC,yBwCWlCC,MAAO,K0EoBPyI,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAC9BuU,MACC,IAEH,IAAMA,EAAY,WAChB6B,GAAe,WACZrN,MAAK,SAAAgC,GACCA,EAASpR,KAAKsd,QACjBjf,EAAQG,KAAK,gBAGfoF,EAAS,2BACJ5I,GADG,IAENgF,KAAMoR,EAASpR,KACfqG,SAAS,QAGZ6O,OAAM,SAAAC,GACLvR,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAC9BwG,QAAQjR,MAAMuZ,OA6BpB,OACE,yBAAKzY,UAAU,8BACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAK0hB,UAE1B,kBAAC,GAAD,CAAS5D,QAAQ,GACf,8BACA,yBAAKjd,UAAU,uBACZb,EAAK,sBADR,MACkCb,EAAMgF,KAAKwd,cAE7C,yBAAK9gB,UAAU,SACb,0BAAMA,UAAU,iBACb2d,EAAe,kBAAC,IAAD,CAAiB1X,KAAK,yBAA4B,GADpE,IACyE0X,IAG3E,yBAAK3d,UAAU,WACb,0BAAMA,UAAU,cACb6d,EAAY,kBAAC,IAAD,CAAiB5X,KAAK,yBAA4B,GADjE,IACqE,8BAAO8Y,KAAWlB,OAI3F,kBAAC,GAAD,KACGvf,EAAMqL,QAAU,kBAAC,EAAD,MACf,0BAAMqV,SAAU,SAAA7U,GAAK,OAhDH,SAAAA,GACxBA,EAAMuG,iBACN,IAFiC,EAE7BqQ,EAAiB,GAFY,eAIN,IAAI/K,SAAS7L,EAAMY,QAASwT,WAJtB,IAIjC,2BAAkE,CAAC,IAAD,yBAAxDrd,EAAwD,KAAlDzC,EAAkD,KAChEsiB,EAAe7f,GAAQzC,GALQ,8BAQU,IAAvCkP,OAAO6Q,KAAKuC,GAAgBtc,QAAgBsc,EAAetC,cAAgB9Q,SAC7EzG,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAE9BmW,GAAciB,EAAgB,YAC3BrO,MAAK,SAAAlJ,GACJ,GAAsB,MAAlBA,EAAOwS,OAAgB,CAAC,IAAD,EACKxS,EAAOlG,KAA7Bsb,EADiB,EACjBA,UAAWC,EADM,EACNA,OAEnBjB,EAAgBgB,GAAa,IAC7Bd,EAAae,GAAU,QAG1BnM,MAAK,kBAAMwL,OACX1F,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,OA2BD4F,CAAkBlU,IAAQ1D,GAAG,gBACpD,2BAAOjI,KAAK,SAAS0C,KAAK,OAAOzC,MAAM,SACvC,2BAAOD,KAAK,SAAS0C,KAAK,QAAQzC,MAAOQ,IAEzC,kBAAC,GAAD,CACEuM,aAAclN,EAAMgF,KAAKsd,OACzBvP,MAAO/S,EAAMgF,KAAKoe,YAClBxgB,KAAK,WACLuF,GAAG,WACH6C,KAAK,OAEP,6BAEA,kBAAC,GAAD,CACEkC,aAAclN,EAAMgF,KAAKggC,QACzBjyB,MAAO/S,EAAMgF,KAAKigC,aAClBriC,KAAK,YACLuF,GAAG,YACH6C,KAAK,OAEP,6BAEA,kBAAC,GAAD,CACEkC,aAAclN,EAAMgF,KAAKkgC,QACzBnyB,MAAO/S,EAAMgF,KAAKmgC,aAClBviC,KAAK,YACLuF,GAAG,YACH6C,KAAK,OAEP,6BAEA,kBAAC,GAAD,CACEkC,aAAclN,EAAMgF,KAAKogC,QACzBryB,MAAO/S,EAAMgF,KAAKqgC,aAClBziC,KAAK,YACLuF,GAAG,YACH6C,KAAK,OAEP,6BAEA,kBAAC,GAAD,CACEkC,aAAclN,EAAMgF,KAAKsgC,QACzBvyB,MAAO/S,EAAMgF,KAAKugC,aAClB3iC,KAAK,YACLuF,GAAG,YACH6C,KAAK,OAEP,6BAEA,kBAAC,GAAD,CACEkC,aAAclN,EAAMgF,KAAKwgC,QACzBzyB,MAAO/S,EAAMgF,KAAKygC,aAClB7iC,KAAK,YACLuF,GAAG,YACH6C,KAAK,OAEP,6BAEA,kBAAC,GAAD,CACEkC,aAAclN,EAAMgF,KAAK0gC,QACzB3yB,MAAO/S,EAAMgF,KAAK2gC,aAClB/iC,KAAK,YACLuF,GAAG,YACH6C,KAAK,OAEP,6BAEA,kBAAC,GAAD,CACEkC,aAAclN,EAAMgF,KAAK4gC,QACzB7yB,MAAO/S,EAAMgF,KAAK6gC,aAClBjjC,KAAK,YACLuF,GAAG,YACH6C,KAAK,OAEP,6BAEA,kBAAC,GAAD,CACEkC,aAAclN,EAAMgF,KAAK8gC,QACzB/yB,MAAO/S,EAAMgF,KAAK+gC,aAClBnjC,KAAK,YACLuF,GAAG,YACH6C,KAAK,OAEP,6BAEA,kBAAC,GAAD,CACE+H,MAAOlS,EAAI,QACXuc,gBAAgB,EAChBxa,KAAK,YACLuF,GAAG,YAEL,yBAAKzG,UAAU,mBACb,4BAAQxB,KAAK,SAASwB,UAAU,OAAOb,EAAK8Z,MAC5C,4BAAQza,KAAK,SAASwB,UAAU,OAAOuB,QAAS,kBAAMI,EAAQG,KAAK,mBAAmB3C,EAAKkgB,YCjMnGrE,GAAWhR,OAAO+H,SAASC,OAMpBsyB,GAAc,WACzB,OAAOnyB,KAAMC,IAAI4I,GAND,gCA0CL6E,GAAe,SAAAzC,GAC1B,OAAOjL,KAAMC,IAAI4I,GAAWoC,EAAK,CAC/Be,OAAQ,CACNlf,MAAO8b,S,OC1CE,SAASwpB,GAAT,GAAgF,IAAvDC,EAAsD,EAAtDA,QAASC,EAA6C,EAA7CA,SAAUxY,EAAmC,EAAnCA,OAAmC,IAA3B7sB,gBAA2B,MAAhB,GAAgB,EAAZ6yB,EAAY,EAAZA,SACxE9yB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KADoF,EAEhDuL,mBAAS,IAFuC,mBAErFg6B,EAFqF,KAErEC,EAFqE,OAGlEj6B,mBAAS,CACjCk6B,aAAcH,EACdI,aAAcJ,EACdK,eAAgB3lC,EAAI,SACpB4lC,eAAgB5lC,EAAI,SACpB6lC,SAAU,MACVC,SAAU,QATgF,mBAGrF3mC,EAHqF,KAG9E4I,EAH8E,KAY5FrF,qBAAU,WACe,aAAnB6iC,EACFx9B,EAAS,2BAAK5I,GAAN,IAAasmC,aAAcH,EAAUI,aAAcJ,KAC/B,WAAnBC,EACTx9B,EAAS,2BAAK5I,GAAN,IAAasmC,aAAc3Y,EAAQ4Y,aAAc5Y,KAC7B,aAAnByY,EACTx9B,EAAS,2BAAK5I,GAAN,IAAa0mC,SAAU,MAAOF,eAAgB,WAAYG,SAAU,MAAOF,eAAgB,cACvE,QAAnBL,EACTx9B,EAAS,2BAAK5I,GAAN,IAAa0mC,SAAU,MAAOF,eAAgB,YAAaG,SAAU,MAAOF,eAAgB,eACxE,kBAAnBL,GACTx9B,EAAS,2BACJ5I,GADG,IAENsmC,aAAc3Y,EACd4Y,aAAc5Y,EACd+Y,SAAU,MACVC,SAAU,KACVH,eAAgB3lC,EAAK,iBACrB4lC,eAAgB5lC,EAAK,sBAGxB,CAACulC,IA2BJ,OACE,yBAAK1kC,UAAU,mBACb,yBAAKmB,MAAM,2BACT,4BAAQA,MAAM,eAAe2J,SAAU,SAAAX,GAAK,OAAIw6B,EAAkBx6B,EAAMY,OAAOtM,SDuC7C,SAAAU,GAAI,MAAI,CAChD,CACEV,MAAOU,EAAK,uBACZX,KAAM,YAER,CACEC,MAAOU,EAAK,uBACZX,KAAM,UAER,CACEC,MAAOU,EAAK,gBACZX,KAAM,YAER,CACEC,MAAOU,EAAK,iBACZX,KAAM,OAER,CACEC,MAAOU,EAAK,iBACZX,KAAM,kBCrFU0mC,CAA2B/lC,GAC5BsD,KAAI,SAAA2Y,GAAM,OACvB,4BAAQzY,IAAKyY,EAAO5c,KAAMC,MAAO2c,EAAO5c,MAAO4c,EAAO3c,WA6BpD,yBAAKuB,UAAU,WACb,6BACE,8BAAOb,EAAI,SAAX,KACA,wCAAUC,EAAV,YAAsB6sB,KAGxB,6BACE,8BAAO9sB,EAAI,SAAX,KACA,8BAAO8yB,GAAY,WAGrB,6BACE,8BAAO9yB,EAAK,iBAAZ,KACA,8BAAOb,EAAMsmC,eAGf,6BACE,8BAAOzlC,EAAK,aAAZ,KACA,8BAAOb,EAAM0mC,WAGf,6BACE,8BAAO7lC,EAAK,iBAAZ,KACA,8BAAOb,EAAMwmC,iBAGf,6BACE,8BAAO3lC,EAAK,oBAAZ,KACA,8BAAOA,EAAK,qBAGd,6BACE,8BAAOA,EAAK,iBAAZ,KACA,8BAAOb,EAAMumC,eAGf,6BACE,8BAAO1lC,EAAK,aAAZ,KACA,8BAAOb,EAAM2mC,WAGf,6BACE,8BAAO9lC,EAAK,iBAAZ,KACA,8BAAOb,EAAMymC,iBAGf,6BACE,8BAAO5lC,EAAK,oBAAZ,KACA,8BAAOA,EAAK,qBAGd,6BACE,8BAAOA,EAAK,eAAZ,KACA,8BAAM,kBAAC,KAAD,CAAM2R,GAAI,CAAE7M,SAAS,UAAD,OAAY+F,OAAO+H,SAAS6wB,UAA5B,OAAuC4B,IAAaz5B,OAAO,UAAUy5B,KAGjG,2BAAOhmC,KAAK,SAAS0C,KAAK,gBAAgBzC,MAjF3B,WACrB,IAAI+K,EAAS,GAcb,OAZAA,GAAM,UAAOrK,EAAI,SAAX,YAA2BC,EAA3B,YAAuC6sB,EAAvC,MACNziB,GAAM,UAAOrK,EAAI,SAAX,YAA2B8yB,EAA3B,MACNzoB,GAAM,UAAOrK,EAAK,iBAAZ,YAAgCb,EAAMsmC,aAAtC,MACNp7B,GAAM,UAAOrK,EAAK,aAAZ,YAA4Bb,EAAM0mC,SAAlC,MACNx7B,GAAM,UAAOrK,EAAK,iBAAZ,YAAgCb,EAAMwmC,eAAtC,MACNt7B,GAAM,UAAOrK,EAAK,oBAAZ,YAAmCA,EAAK,mBAAxC,MACNqK,GAAM,UAAOrK,EAAK,iBAAZ,YAAgCb,EAAMumC,aAAtC,MACNr7B,GAAM,UAAOrK,EAAK,aAAZ,YAA4Bb,EAAM2mC,SAAlC,MACNz7B,GAAM,UAAOrK,EAAK,iBAAZ,YAAgCb,EAAMymC,eAAtC,MACNv7B,GAAM,UAAOrK,EAAK,oBAAZ,YAAmCA,EAAK,mBAAxC,MACNqK,GAAM,UAAOrK,EAAK,eAAZ,qBAAwC6K,OAAO+H,SAAS6wB,UAAxD,OAAmE4B,GAAnE,MAoEiDW,QC7G5C,SAASC,GAAgB5kC,GAAQ,IAAD,EACGkK,oBAAS,GADZ,mBACtC26B,EADsC,KACpBC,EADoB,KAEvCrmC,EAAQ8H,aAAaC,QAAQ,SAC3B7H,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACFme,EAAWI,cACX/b,EAAUC,cAL6B,EAML8I,mBAAS,IANJ,mBAMtCiT,EANsC,KAMxBC,EANwB,OAOXlT,mBAAS,IAPE,mBAOtCmT,EAPsC,KAO3BC,EAP2B,OAQnBpT,mBAAS,CACjCpH,KAAM,GACNiiC,WAAY,GACZ57B,SAAS,EACTsoB,SAAU,KAZiC,mBAQtC3zB,EARsC,KAQ/B4I,EAR+B,KAe7CrF,qBAAU,WACRyb,EAASzC,GAAiB,gBAC1ByC,E7E3BK,CACL9e,KxCVkC,yBwCWlCC,MAAO,K6E0BPyI,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAE9BuU,MACC,IAEH,IAAMG,EAAoB,SAAAlU,GACxBA,EAAMuG,iBACN,IAFiC,EAE7B80B,EAAgB,GAFa,eAIN,IAAIxvB,SAAS7L,EAAMY,QAASwT,WAJtB,IAIjC,2BAAkE,CAAC,IAAD,yBAAxDrd,EAAwD,KAAlDzC,EAAkD,KAChE+mC,EAActkC,GAAQzC,GALS,8BAQjC+mC,EAAa,SAAehlC,EAAMyrB,OAClCuZ,EAAa,UAAgBhlC,EAAMilC,QACnCD,EAAa,SAAeA,EAAa,WAEC,IAAtC73B,OAAO6Q,KAAKgnB,GAAe/gC,QAAgB+gC,EAAc/mB,cAAgB9Q,SAC3EzG,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KFkBL,SAACrG,EAAM2oB,EAAQwZ,GAC5C,IAAI/mB,EAAiB,IAAI1I,SAEzB,IAAK,IAAIrT,KAAOW,EACdob,EAAezI,OAAOtT,EAAKW,EAAKX,IAGlC,OAAOwP,KAAM+D,KAAN,UAAc8E,IAAd,OA1Ea,8BA0Eb,mBAAiDiR,EAAjD,oBAAmEwZ,GAAW/mB,GExBjFgnB,CAAgBF,EAAehlC,EAAMyrB,OAAQzrB,EAAMilC,SAChD/yB,MAAK,SAAAlJ,GACJ,GAAsB,MAAlBA,EAAOwS,OAAgB,CAAC,IAAD,EACKxS,EAAOlG,KAA7Bsb,EADiB,EACjBA,UAAWC,EADM,EACNA,OAEfD,GACFhB,EAAgBgB,GAChBd,EAAa,IACb5W,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,MAE9B2T,EAASD,MAAmB3K,MAAK,WAC/BkL,EAAgB,IAChBE,EAAae,GACb3X,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,YAKrC6O,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,QAI5ByF,EAAY,WF9Dc,IAAC+N,EAAQwZ,EE+DvCv+B,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,MF/DCsiB,EEiEZzrB,EAAMyrB,OFjEcwZ,EEiENjlC,EAAMilC,QFhElCtzB,KAAMC,IAAN,UAAa4I,IAAb,OAZW,8BAYX,mBAA8CiR,EAA9C,oBAAgEwZ,KEiElE/yB,MAAK,SAAAgC,GACJxN,EAAS,2BACJ5I,GADG,IAENgF,KAAMoR,EAASpR,KACfqG,SAAS,KAGX27B,EAAgD,QAA5B5wB,EAASpR,KAAKqiC,cAEnCntB,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,OAYhC,OACE,yBAAKzY,UAAU,kCACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAKymC,QAE1B,kBAAC,GAAD,CAAS3oB,QAAQ,GACf,8BACA,yBAAKjd,UAAU,uBAAuBb,EAAK,yBAC3C,yBAAKa,UAAU,SACb,0BAAMA,UAAU,iBACb2d,EAAe,kBAAC,IAAD,CAAiB1X,KAAK,yBAA4B,GACjE0X,IAEL,yBAAK3d,UAAU,WACb,0BAAMA,UAAU,cACb6d,EAAY,kBAAC,IAAD,CAAiB5X,KAAK,yBAA4B,GAC/D,8BAAO8Y,KAAWlB,OAIxB,kBAAC,GAAD,KACGvf,EAAMqL,QAAU,kBAAC,EAAD,MACf,0BAAMqV,SAAU,SAAA7U,GAAK,OAAIkU,EAAkBlU,KACzC,2BAAO3L,KAAK,SAAS0C,KAAK,OAAOzC,MAAM,SACvC,2BAAOD,KAAK,SAAS0C,KAAK,QAAQzC,MAAOQ,IAEzC,yBAAKe,UAAU,OACb,yBAAKA,UAAU,OACb,kBAAC,GAAD,CACEqR,MAAOlS,EAAI,OACXV,MAAO+B,EAAMyrB,OACb/qB,KAAK,WACLuF,GAAG,SACHwH,UAAQ,IAEV,kBAAC,GAAD,CAAU/M,KAAK,aAAa4J,SAAU,SAAAmnB,GAAQ,OAAI/qB,EAAS,2BAAK5I,GAAN,IAAa2zB,iBAEvE,kBAAC,GAAD,CAA0B5gB,MAAOlS,EAAI,MAAW+b,cAAe/b,EAAK,gBAAiBsH,GAAG,QAAQvF,KAAK,UAAUzC,MAAOH,EAAMgF,KAAKs5B,OAC/H,4BAAQp+B,KAAK,SAAS+C,QA/ClB,WAClB,IAAM9C,EAA6B,cAArBH,EAAMgF,KAAKs5B,MAAwB,OAAS,YAC1D11B,EAAS,2BAAK5I,GAAN,IAAagF,KAAK,2BAAMhF,EAAMgF,MAAb,IAAmBs5B,MAAOn+B,SA8CnC,kBAAC,IAAD,CAAiBwH,KAAK,eAI1B,kBAAC,GAAD,CACEiV,cAAa,UAAK/b,EAAK,mBACvBqM,aAAclN,EAAMgF,KAAKyrB,QACzB1d,MAAOlS,EAAI,QACX+B,KAAK,YACLuF,GAAG,YAEL,kBAAC,GAAD,CACEyU,cAAa,UAAK/b,EAAK,gCACvBqM,aAAclN,EAAMgF,KAAKuiC,IACzBx0B,MAAOlS,EAAK,cACZ+B,KAAK,QACLuF,GAAG,QAEL,kBAAC,GAAD,CACE4K,MAAOlS,EAAK,+BACZuc,eAAwC,QAAxBpd,EAAMgF,KAAKwiC,SAC3B5kC,KAAK,aACLuF,GAAG,aAEL,kBAAC,GAAD,CACE4K,MAAOlS,EAAI,UACXyN,QAASy4B,EACTv6B,SAAU,SAAA8B,GAAO,OAAI04B,EAAoB14B,IACzC1L,KAAK,cACLuF,GAAG,cAGH4+B,GACE,yBAAKhlC,MAAO,CAAE2uB,UAAW,qBACvB,kBAAC,GAAD,CACExjB,aAAclN,EAAMgF,KAAKyiC,kBACzB10B,MAAOlS,EAAI,QACX+B,KAAK,sBACLuF,GAAG,uBAKX,kBAAC,GAAD,CACE4K,MAAOlS,EAAK,2CACZV,MAAOH,EAAMgF,KAAK0iC,WAClB9kC,KAAK,gBACLuF,GAAG,iBAGP,yBAAKzG,UAAU,OACb,kBAAC,GAAD,CACEwkC,QAASlmC,EAAMgF,KAAK2iC,QACpBxB,SAAUnmC,EAAMgF,KAAKs/B,SACrBxjC,SAAUoB,EAAMilC,QAChBxT,SAAU3zB,EAAM2zB,SAChBhG,OAAQzrB,EAAMyrB,WAIpB,yBAAKjsB,UAAU,mBACb,4BAAQxB,KAAK,SAASwB,UAAU,OAAOb,EAAK8Z,MAC5C,4BAAQza,KAAK,SAASwB,UAAU,OAAOuB,QAzGpC,WACbI,EAAQG,KAAR,6BAAmCtB,EAAMyrB,WAwG0B9sB,EAAKkgB,U,WCtD7D+X,GArIE,SAAA52B,GACf,IAAMvB,EAAQ8H,aAAaC,QAAQ,SAC3B7H,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACFwC,EAAUC,cACV0b,EAAWI,cAJO,EAKgBhT,mBAAS,IALzB,mBAKjBiT,EALiB,KAKHC,EALG,OAMUlT,mBAAS,IANnB,mBAMjBmT,EANiB,KAMNC,EANM,OAOEpT,mBAAS,CACjCpH,KAAM,GACNqG,SAAS,IATa,mBAOjBrL,EAPiB,KAOV4I,EAPU,KAYxBrF,qBAAU,WACR,IACQoqB,EADUhO,KAAG7K,MAAMzR,EAAQoQ,SAAS7N,OAAQ,CAAEmP,mBAAmB,IACjE4Y,OAER3O,EAASzC,GAAiB,gBAC1ByC,E9EzBK,CACL9e,KxCVkC,yBwCWlCC,MAAO,K8EyBHwtB,IACF/kB,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAC9BuU,EAAU+N,MAEX,IAEH,IAAM/N,EAAY,SAAA+N,IHyCO,SAAAA,GACzB,OAAO9Z,KAAMC,IAAI4I,GA/EC,8BA+EuB,CACvCmD,OAAQ,CACN8N,SACAhtB,MAAO8b,SG5CTmrB,CAAYja,GACTvZ,MAAK,SAAAgC,GACJxN,EAAS,2BACJ5I,GADG,IAENgF,KAAMoR,EAASpR,KACfqG,SAAS,QAGZ6O,OAAM,SAAAC,GACLvR,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAC9BwG,QAAQjR,MAAMuZ,OAId4F,EAAoB,SAAAlU,GACxBA,EAAMuG,iBACN,IAFiC,EAE7Boe,EAAgB,GAFa,eAIN,IAAI9Y,SAAS7L,EAAMY,QAASwT,WAJtB,IAIjC,2BAAkE,CAAC,IAAD,yBAAxDrd,EAAwD,KAAlDzC,EAAkD,KAChEqwB,EAAc5tB,GAAQzC,GALS,8BAQjCqwB,EAAa,SAAexwB,EAAMgF,KAAK2oB,OAEG,IAAtCte,OAAO6Q,KAAKsQ,GAAerqB,QAAgBqqB,EAAcrQ,cAAgB9Q,SAC3EzG,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KHwBV,SAACrG,EAAM2oB,GAC/B,IAAIvN,EAAiB,IAAI1I,SAEzB,IAAK,IAAIrT,KAAOW,EACdob,EAAezI,OAAOtT,EAAKW,EAAKX,IAGlC,OAAOwP,KAAM+D,KAAK8E,GA7FE,8BA6FwB0D,EAAgB,CAC1DP,OAAQ,CACN8N,SACAhtB,MAAO8b,QGhCPorB,CAAWrX,EAAexwB,EAAMgF,KAAK2oB,QAClCvZ,MAAK,SAAAlJ,GACJ,GAAsB,MAAlBA,EAAOwS,OAAgB,CAAC,IAAD,EACKxS,EAAOlG,KAA7Bsb,EADiB,EACjBA,UAAWC,EADM,EACNA,OAEfD,GACFhB,EAAgBgB,GAChBd,EAAa,KAEbR,EAASD,MAAmB3K,MAAK,WAC/BkL,EAAgB,IAChBE,EAAae,UAKpBnM,MAAK,kBAAMwL,EAAU5f,EAAMgF,KAAK2oB,WAChCzT,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,QAIlC,OACE,yBAAKzY,UAAU,2BACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAKymC,QAE1B,kBAAC,GAAD,CAAS3oB,QAAQ,GACf,8BACA,yBAAKjd,UAAU,uBAAuBb,EAAK,wBAC3C,yBAAKa,UAAU,SACb,0BAAMA,UAAU,iBACb2d,EAAe,kBAAC,IAAD,CAAiB1X,KAAK,yBAA4B,GADpE,IACyE0X,IAG3E,yBAAK3d,UAAU,WACb,0BAAMA,UAAU,cACb6d,EAAY,kBAAC,IAAD,CAAiB5X,KAAK,yBAA4B,GADjE,IACqE,8BAAO8Y,KAAWlB,OAI3F,kBAAC,GAAD,CAAe5c,KAAM3C,EAAMgF,KAAKrC,KAAM2E,KAAMtH,EAAMgF,KAAKsC,KAAMoW,OAAQ1d,EAAMgF,KAAK0Y,QAC7E1d,EAAMqL,QAAU,kBAAC,EAAD,MACf,0BAAMqV,SAAU,SAAA7U,GAAK,OAAIkU,EAAkBlU,IAAQ1D,GAAG,aACpD,2BAAOjI,KAAK,SAAS0C,KAAK,OAAOzC,MAAM,SACvC,2BAAOD,KAAK,SAAS0C,KAAK,QAAQzC,MAAOQ,IAEzC,kBAAC,GAAD,CAAWwH,GAAG,SAASvF,KAAK,WAAWmQ,MAAOlS,EAAI,OAAYV,MAAOH,EAAMgF,KAAK2oB,OAAQhe,UAAQ,IAEhG,kBAAC,GAAD,CACE/M,KAAK,aACLuF,GAAG,WACH4K,MAAOlS,EAAK,oBACZuc,eAAwC,QAAxBpd,EAAMgF,KAAK8iC,WAE7B,kBAAC,GAAD,CACEllC,KAAK,cACLuF,GAAG,YACH4K,MAAOlS,EAAK,qBACZuc,eAAyC,QAAzBpd,EAAMgF,KAAK+iC,YAE7B,kBAAC,GAAD,CACEnlC,KAAK,SACLuF,GAAG,OACH4K,MAAOlS,EAAK,gBACZuc,eAAoC,QAApBpd,EAAMgF,KAAKgjC,OAE7B,kBAAC,GAAD,CAAW7/B,GAAG,WAAWvF,KAAK,aAAamQ,MAAOlS,EAAK,kBAAmBV,MAAOH,EAAMgF,KAAKijC,WAE5F,yBAAKvmC,UAAU,mBACb,4BAAQxB,KAAK,SAASwB,UAAU,OAAOb,EAAK8Z,MAC5C,4BAAQza,KAAK,SAASwB,UAAU,OAAOuB,QAAS,kBAAMI,EAAQG,KAAK,iBAAiB3C,EAAKkgB,WCrIxF,SAASmnB,KAAmB,IACjCrnC,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACFwC,EAAUC,cACVsR,EAAoBC,KAAYC,MAAMzR,EAAQoQ,SAAS7N,OAAQ,CAAEmP,mBAAmB,IAHlD,EAIE3I,oBAAS,GAJX,mBAIjC+7B,EAJiC,KAIlBC,EAJkB,KAcxC,OARA7kC,qBAAU,WACJqR,EAAkB+Y,QAAU/Y,EAAkBuyB,QAChDiB,GAAiB,GAEjBA,GAAiB,KAElB,CAAC/kC,EAAQoQ,WAGV,oCACE,kBAAC6F,GAAA,EAAD,KACE,iDAAmBzY,EAAKymC,QAGxBa,EACI,kBAACrB,GAAD,CAAiBnZ,OAAQ/Y,EAAkB+Y,OAAQwZ,QAASvyB,EAAkBuyB,UAC9E,kBAAC,GAAD,O,WCuGGkB,GArHC,SAAC,GAA0B,IAAD,IAAvBC,mBAAuB,MAAT,GAAS,EAClC3nC,EAAQ8H,aAAaC,QAAQ,SAC3B7H,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACFwC,EAAUC,cACV0b,EAAWI,cAJuB,EAKAhT,mBAAS,IALT,mBAKjCiT,EALiC,KAKnBC,EALmB,OAMNlT,mBAAS,IANH,mBAMjCmT,EANiC,KAMtBC,EANsB,OAOdpT,mBAAS,CACjCpH,KAAM,GACNqG,SAAS,IAT6B,mBAOjCrL,EAPiC,KAO1B4I,EAP0B,KAYxCrF,qBAAU,WACRyb,EAASzC,GAAiB,kBAC1ByC,EhFpBK,CACL9e,KxCVkC,yBwCWlCC,MAAO,KgFoBFmoC,GACHjlC,EAAQG,KAAK,gBAGfoF,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAC9BuU,EAAU0oB,KACT,IAEH,IAAM1oB,EAAY,SAAA0oB,GAChB7mB,GAAe6mB,GACZl0B,MAAK,SAAAgC,GAAa,IACTkM,EAAWlM,EAASpR,KAApBsd,OAEHA,IAAUA,EAAO/K,SAAS,uBAC7BlU,EAAQG,KAAK,gBAGfoF,EAAS,2BAAK5I,GAAN,IAAagF,KAAMoR,EAASpR,KAAMqG,SAAS,QAEpD6O,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,OA4BhC,OACE,yBAAKzY,UAAU,8BACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAK0hB,UAE1B,kBAAC,GAAD,CAAS5D,QAAQ,GACf,8BACA,yBAAKjd,UAAU,uBACZb,EAAK,sBADR,MACkCb,EAAMgF,KAAKwd,cAE7C,yBAAK9gB,UAAU,SACb,0BAAMA,UAAU,iBACb2d,EAAe,kBAAC,IAAD,CAAiB1X,KAAK,yBAA4B,GADpE,IACyE0X,IAG3E,yBAAK3d,UAAU,WACb,0BAAMA,UAAU,cACb6d,EAAY,kBAAC,IAAD,CAAiB5X,KAAK,yBAA4B,GADjE,IACqE,8BAAO8Y,KAAWlB,OAI3F,kBAAC,GAAD,KACGvf,EAAMqL,QAAU,kBAAC,EAAD,MACf,0BAAMqV,SAAU,SAAA7U,GAAK,OAhDH,SAAAA,GACxBA,EAAMuG,iBACN,IAFiC,EAE7BqQ,EAAiB,GAFY,eAIN,IAAI/K,SAAS7L,EAAMY,QAASwT,WAJtB,IAIjC,2BAAkE,CAAC,IAAD,yBAAxDrd,EAAwD,KAAlDzC,EAAkD,KAChEsiB,EAAe7f,GAAQzC,GALQ,8BAQU,IAAvCkP,OAAO6Q,KAAKuC,GAAgBtc,QAAgBsc,EAAetC,cAAgB9Q,SAC7EzG,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAE9BmW,GAAciB,EAAgB6lB,GAC3Bl0B,MAAK,SAAAlJ,GACJ,GAAsB,MAAlBA,EAAOwS,OAAgB,CAAC,IAAD,EACKxS,EAAOlG,KAA7Bsb,EADiB,EACjBA,UAAWC,EADM,EACNA,OAEnBjB,EAAgBgB,GAAa,IAC7Bd,EAAae,GAAU,QAG1BnM,MAAK,kBAAMwL,EAAU0oB,MACrBpuB,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,OA2BD4F,CAAkBlU,IAAQ1D,GAAG,gBACpD,2BAAOjI,KAAK,SAAS0C,KAAK,OAAOzC,MAAM,SACvC,2BAAOD,KAAK,SAAS0C,KAAK,QAAQzC,MAAOQ,IAEzC,kBAAC,GAAD,CACEuM,aAAclN,EAAMgF,KAAKsd,OACzBvP,MAAO/S,EAAMgF,KAAKoe,YAClBxgB,KAAK,WACLuF,GAAG,WACH6C,KAAK,OAEP,6BAEA,kBAAC,GAAD,CACE+H,MAAOlS,EAAI,QACXuc,gBAAgB,EAChBxa,KAAK,YACLuF,GAAG,YAEL,yBAAKzG,UAAU,mBACb,4BAAQxB,KAAK,SAASwB,UAAU,OAAOb,EAAK8Z,MAC5C,4BAAQza,KAAK,SAASwB,UAAU,OAAOuB,QAAS,kBAAMI,EAAQG,KAAK,mBAAmB3C,EAAKkgB,W,OCrG1F,SAASwnB,GAAermC,GAAQ,IACrCrB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACFme,EAAWI,cACXze,EAAQ8H,aAAaC,QAAQ,SAC7BrF,EAAUC,cAJ4B,EAKlB8I,mBAAS,CACjCpH,KAAM,GACNgd,iBAAiB,EACjB+kB,kBAAkB,EAClBE,WAAY,GACZ57B,SAAS,EACTsoB,SAAU,GACV7yB,SAAU,GACVye,UAAW,GACXF,aAAc,KAd4B,mBAKrCrf,EALqC,KAK9B4I,EAL8B,KAiB5CrF,qBAAU,WACRyb,EAASzC,GAAiB,gBAC1ByC,EjF/BK,CACL9e,KxCVkC,yBwCWlCC,MAAO,KiF+BPyf,MACC,IAEH,IAAMG,EAAoB,SAAAlU,GACxBA,EAAMuG,iBACN,IAFiC,EAE7B80B,EAAgB,GAFa,eAIN,IAAIxvB,SAAS7L,EAAMY,QAASwT,WAJtB,IAIjC,2BAAkE,CAAC,IAAD,yBAAxDrd,EAAwD,KAAlDzC,EAAkD,KAChE+mC,EAActkC,GAAQzC,GALS,8BAQjC+mC,EAAa,OAAa,MAC1BA,EAAa,MAAYvmC,EACzBumC,EAAa,SAAehlC,EAAMyrB,OAClCuZ,EAAa,WAAiBlnC,EAAM2zB,SAE/BuT,EAAa,UAAaA,EAAa,QAAc,IACrDA,EAAa,YAAeA,EAAa,UAAgB,IACzDA,EAAa,QAAWA,EAAa,MAAY,IAEZ,IAAtC73B,OAAO6Q,KAAKgnB,GAAe/gC,QAAgB+gC,EAAc/mB,cAAgB9Q,SAC3EzG,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KNAN,SAACrG,EAAM2oB,GACnC,IAAIvN,EAAiB,IAAI1I,SAEzB,IAAK,IAAIrT,KAAOW,EACdob,EAAezI,OAAOtT,EAAKW,EAAKX,IAGlC,OAAOwP,KAAM+D,KAAN,UAAc8E,IAAd,OAlEa,6BAkEb,mBAAiDiR,GAAUvN,GMN9DooB,CAAetB,EAAehlC,EAAMyrB,QACjCvZ,MAAK,SAAAlJ,GACJ,GAAsB,MAAlBA,EAAOwS,OAAgB,CAAC,IAAD,EAC8BxS,EAAOlG,KAA3Cqa,EADM,EACjBiB,UAAiCf,EADhB,EACQgB,OAE7BlB,EACFzW,EAAS,2BAAK5I,GAAN,IAAaqf,eAAcE,YAAWlU,SAAS,KAEvD2T,EAASD,MAAmB3K,MAAK,WAC/BxL,EAAS,2BAAK5I,GAAN,IAAauf,YAAWF,aAAc,GAAIhU,SAAS,YAKlE6O,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,QAI5ByF,EAAY,WAChBhX,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAE9B26B,KACG5xB,MAAK,SAAAgC,GACJxN,EAAS,2BACJ5I,GADG,IAENgF,KAAMoR,EAASpR,KACfqa,aAAcjJ,EAASpR,KAAT,UACdua,UAAWnJ,EAASpR,KAAT,OACXqG,SAAS,QAGZ6O,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,OAehC,OACE,yBAAKzY,UAAU,kCACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAKymC,QAE1B,kBAAC,GAAD,CAAS3oB,QAAQ,GACf,8BACA,yBAAKjd,UAAU,uBAAuBb,EAAK,wBAC3C,yBAAKa,UAAU,SACb,0BAAMA,UAAU,iBACb1B,EAAMqf,aAAe,kBAAC,IAAD,CAAiB1X,KAAK,yBAA4B,GACvE3H,EAAMqf,eAEX,yBAAK3d,UAAU,WACb,0BAAMA,UAAU,cACb1B,EAAMuf,UAAY,kBAAC,IAAD,CAAiB5X,KAAK,yBAA4B,GACrE,8BAAO8Y,KAAWzgB,EAAMuf,eAI9B,kBAAC,GAAD,KACGvf,EAAMqL,QAAU,kBAAC,EAAD,MACf,0BAAMqV,SAAU,SAAA7U,GAAK,OAAIkU,EAAkBlU,KACzC,yBAAKnK,UAAU,OACb,yBAAKA,UAAU,OACb,kBAAC,GAAD,CACEqR,MAAOlS,EAAI,OACXV,MAAO+B,EAAMyrB,OACb/qB,KAAK,WACLuF,GAAG,SACHwH,UAAQ,IAEV,kBAAC,GAAD,CACEoD,MAAOlS,EAAI,QACX2L,SAAU,SAAA1H,GAAC,OAAI8D,EAAS,2BAAK5I,GAAN,IAAac,SAAUgE,EAAE2H,OAAOtM,UACvDyC,KAAK,YACLuF,GAAG,YAEL,kBAAC,GAAD,CAAUvF,KAAK,aAAa4J,SAAU,SAAAmnB,GAAQ,OAAI/qB,EAAS,2BAAK5I,GAAN,IAAa2zB,kBAGzE,yBAAKjyB,UAAU,OACb,kBAAC,GAAD,CACEwkC,QAASlmC,EAAMgF,KAAK2iC,QACpBxB,SAAUnmC,EAAMgF,KAAKs/B,SACrBxjC,SAAUd,EAAMc,SAChB6yB,SAAU3zB,EAAM2zB,SAChBhG,OAAQzrB,EAAMyrB,WAIpB,yBAAKjsB,UAAU,OACb,4BAAQxB,KAAK,SAAS+C,QAhEZ,WACpB2F,EAAS,2BAAK5I,GAAN,IAAagiB,iBAAkBhiB,EAAMgiB,qBAgEhCnhB,EAAK,oBACLb,EAAMgiB,gBAAkB,kBAAC,IAAD,CAAiBra,KAAK,aAAgB,kBAAC,IAAD,CAAiBA,KAAK,gBAIrF3H,EAAMgiB,iBACJ,oCACE,kBAAC,GAAD,CAA0BjP,MAAOlS,EAAI,MAAW+b,cAAe/b,EAAK,gBAAiBsH,GAAG,QAAQvF,KAAK,UAAUzC,MAAOH,EAAMinC,YAC1H,4BAAQ/mC,KAAK,SAAS+C,QArEjB,WACE,cAArBjD,EAAMinC,WACRr+B,EAAS,2BAAK5I,GAAN,IAAainC,WAAY,eAEjCr+B,EAAS,2BAAK5I,GAAN,IAAainC,WAAY,QAkEf,kBAAC,IAAD,CAAiBt/B,KAAK,eAI1B,kBAAC,GAAD,CACEiV,cAAa,UAAK/b,EAAK,mBACvBqM,aAAclN,EAAMgF,KAAKyjC,UACzB11B,MAAOlS,EAAI,QACX+B,KAAK,YACLuF,GAAG,YAEL,kBAAC,GAAD,CACEyU,cAAa,UAAK/b,EAAK,gCACvBqM,aAAclN,EAAMgF,KAAK0jC,QACzB31B,MAAOlS,EAAK,cACZ+B,KAAK,QACLuF,GAAG,QAEL,kBAAC,GAAD,CACE4K,MAAOlS,EAAK,+BACZ+B,KAAK,aACLuF,GAAG,cAKX,kBAAC,GAAD,CACE4K,MAAOlS,EAAK,2CACZ+B,KAAK,eACLuF,GAAG,gBAGP,yBAAKzG,UAAU,mBACb,4BAAQxB,KAAK,SAASwB,UAAU,OAAOb,EAAKugB,KAC5C,4BAAQlhB,KAAK,SAASwB,UAAU,OAAOuB,QAAS,kBAAMI,EAAQG,KAAR,6BAAmCtB,EAAMyrB,WAAY9sB,EAAKkgB,U,WClE/G4nB,GA7HC,SAAAzmC,GAAU,IAChBrB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACFme,EAAWI,cACXze,EAAQ8H,aAAaC,QAAQ,SAC7BrF,EAAUC,cAJO,EAKG8I,mBAAS,CACjCf,SAAS,EACTu9B,iBAAiB,EACjBC,kBAAkB,EAClBC,aAAa,EACbvpB,UAAW,GACXF,aAAc,KAXO,mBAKhBrf,EALgB,KAKT4I,EALS,KAcvBrF,qBAAU,WACRyb,EAASzC,GAAiB,gBAC1ByC,ElFtBK,CACL9e,KxCVkC,yBwCWlCC,MAAO,OkFqBN,IAEH,IAAM4f,EAAoB,SAAAlU,GACxBA,EAAMuG,iBACN,IAFiC,EAE7B80B,EAAgB,GAFa,eAIN,IAAIxvB,SAAS7L,EAAMY,QAASwT,WAJtB,IAIjC,2BAAkE,CAAC,IAAD,yBAAxDrd,EAAwD,KAAlDzC,EAAkD,KAChE+mC,EAActkC,GAAQzC,GALS,8BAQS,IAAtCkP,OAAO6Q,KAAKgnB,GAAe/gC,QAAgB+gC,EAAc/mB,cAAgB9Q,SAC3EzG,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KPUb,SAAArG,GACrB,IAAIob,EAAiB,IAAI1I,SAEzB,IAAK,IAAIrT,KAAOW,EACdob,EAAezI,OAAOtT,EAAKW,EAAKX,IAGlC,OAAOwP,KAAM+D,KAAK8E,GAxDE,6BAwDwB0D,GOhBxC2oB,CAAQ7B,GACL9yB,MAAK,SAAAlJ,GACJ,GAAsB,MAAlBA,EAAOwS,OAAgB,CAAC,IAAD,EAC8BxS,EAAOlG,KAA3Cqa,EADM,EACjBiB,UAAiCf,EADhB,EACQgB,OAE7BlB,EACFzW,EAAS,2BAAK5I,GAAN,IAAaqf,eAAcE,YAAWlU,SAAS,KAEvD2T,EAASD,MAAmB3K,MAAK,WAC/BxL,EAAS,2BAAK5I,GAAN,IAAauf,YAAWF,aAAc,GAAIhU,SAAS,YAKlE6O,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,QAIlC,OACE,yBAAKzY,UAAU,yBACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAKymC,QAE1B,kBAAC,GAAD,CAAS3oB,QAAQ,GACf,8BACA,yBAAKjd,UAAU,uBAAuBb,EAAK,uBAC3C,yBAAKa,UAAU,SACb,0BAAMA,UAAU,iBACb1B,EAAMqf,aAAe,kBAAC,IAAD,CAAiB1X,KAAK,yBAA4B,GACvE3H,EAAMqf,eAEX,yBAAK3d,UAAU,WACb,0BAAMA,UAAU,cACb1B,EAAMuf,UAAY,kBAAC,IAAD,CAAiB5X,KAAK,yBAA4B,GACrE,8BAAO8Y,KAAWzgB,EAAMuf,eAI9B,kBAAC,GAAD,KACGvf,EAAMqL,QAAU,kBAAC,EAAD,MACf,0BAAMqV,SAAU,SAAA7U,GAAK,OAAIkU,EAAkBlU,KACzC,2BAAO3L,KAAK,SAAS0C,KAAK,KAAKzC,MAAM,QACrC,2BAAOD,KAAK,SAAS0C,KAAK,QAAQzC,MAAOQ,IAEzC,yBAAKe,UAAU,cACb,2BAAOmb,QAAQ,UAAUhc,EAAK0jB,QAC9B,2BAAOrkB,KAAK,OAAOwB,UAAU,eAAeyG,GAAG,SAASvF,KAAK,cAG/D,yBAAKlB,UAAU,cACb,yBAAKA,UAAU,oBACb,2BACExB,KAAK,WACL0C,KAAK,aACLuF,GAAG,mBACHqE,SAAU,SAAAX,GAAK,OAAIjD,EAAS,2BAAK5I,GAAN,IAAa4oC,gBAAiB/8B,EAAMY,OAAO6B,YACtEA,QAAStO,EAAM4oC,kBACjB,2BAAO/rB,QAAQ,oBAAoBhc,EAAK,uBAI5C,yBAAKa,UAAU,cACb,yBAAKA,UAAU,oBACb,2BACExB,KAAK,WACL0C,KAAK,cACLuF,GAAG,oBACHqE,SAAU,SAAAX,GAAK,OAAIjD,EAAS,2BAAK5I,GAAN,IAAa6oC,iBAAkBh9B,EAAMY,OAAO6B,YACvEA,QAAStO,EAAM6oC,mBACjB,2BAAOhsB,QAAQ,qBAAqBhc,EAAK,wBAI7C,yBAAKa,UAAU,cACb,yBAAKA,UAAU,oBACb,2BACExB,KAAK,WACL0C,KAAK,SACLuF,GAAG,eACHqE,SAAU,SAAAX,GAAK,OAAIjD,EAAS,2BAAK5I,GAAN,IAAa8oC,YAAaj9B,EAAMY,OAAO6B,YAClEA,QAAStO,EAAM8oC,cACjB,2BAAOjsB,QAAQ,gBAAgBhc,EAAK,mBAIxC,yBAAKa,UAAU,mBACb,4BAAQxB,KAAK,SAASwB,UAAU,OAAOb,EAAKugB,KAC5C,4BAAQlhB,KAAK,SAASwB,UAAU,OAAOuB,QAAS,kBAAMI,EAAQG,KAAK,iBAAiB3C,EAAKkgB,WC5HxF,SAASioB,KAAkB,IAChCnoC,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACFwC,EAAUC,cAFuB,EAGX8I,oBAAS,GAHE,mBAGhCuhB,EAHgC,KAGxBsb,EAHwB,KAevC,OAVA1lC,qBAAU,WACR,IAAMqR,EAAoBC,KAAYC,MAAMzR,EAAQoQ,SAAS7N,OAAQ,CAAEmP,mBAAmB,IAEtFH,EAAkB+Y,OACpBsb,EAAUr0B,EAAkB+Y,QAE5Bsb,EAAU,MAEX,CAAC5lC,EAAQoQ,WAGV,oCACE,kBAAC6F,GAAA,EAAD,KACE,iDAAmBzY,EAAKymC,QAGxB3Z,EACI,kBAAC,GAAD,CAAgBA,OAAQA,IACxB,kBAAC,GAAD,OC5BZ,IAGMjR,GAAWhR,OAAO+H,SAASC,OAwCpB6N,GAAe,SAAAzC,GAC1B,OAAOjL,KAAMC,IAAI4I,GAAWoC,EAAK,CAC/Be,OAAQ,CACNlf,MAAO8b,SAkCAysB,GAAY,SAAClkC,EAAM2oB,EAAQwb,GACtC,IAAI/oB,EAAiB,IAAI1I,SAEzB,IAAK,IAAIrT,KAAOW,EACdob,EAAezI,OAAOtT,EAAKW,EAAKX,IAGlC,OAAOwP,KAAM+D,KAAK8E,GAvFC,6BAuFwB0D,EAAgB,CACzDP,OAAQ,CACN8N,SACAyb,UAAWD,EACXxoC,MAAO8b,SC0DE4sB,I,OAtIc,SAAAnnC,GAC3B,IAAMvB,EAAQ8H,aAAaC,QAAQ,SAC3B7H,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACFwC,EAAUC,cACV0b,EAAWI,cAJmB,EAKIhT,mBAAS,IALb,mBAK7BiT,EAL6B,KAKfC,EALe,OAMFlT,mBAAS,IANP,mBAM7BmT,EAN6B,KAMlBC,EANkB,OAOVpT,mBAAS,CACjCpH,KAAM,GACNqG,SAAS,IATyB,mBAO7BrL,EAP6B,KAOtB4I,EAPsB,KAYpCrF,qBAAU,WACR,IACQoqB,EADUhO,KAAG7K,MAAMzR,EAAQoQ,SAAS7N,OAAQ,CAAEmP,mBAAmB,IACjE4Y,OAER3O,EAASzC,GAAiB,eAC1ByC,ErFzBK,CACL9e,KxCVkC,yBwCWlCC,MAAO,KqFyBHwtB,IACF/kB,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAC9BuU,EAAU+N,MAEX,IAEH,IAAM/N,EAAY,SAAA+N,ID+BM,SAAAA,GACxB,OAAO9Z,KAAMC,IAAI4I,GAtEA,6BAsEuB,CACtCmD,OAAQ,CACN8N,SACAhtB,MAAO8b,SClCT6sB,CAAW3b,GACRvZ,MAAK,SAAAgC,GACJxN,EAAS,2BACJ5I,GADG,IAENgF,KAAMoR,EAASpR,KACfqG,SAAS,QAGZ6O,OAAM,SAAAC,GACLvR,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAC9BwG,QAAQjR,MAAMuZ,OAsCpB,OACE,yBAAKzY,UAAU,0BACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAK0oC,OAE1B,kBAAC,GAAD,CAAS5qB,QAAQ,GACf,8BACA,yBAAKjd,UAAU,uBAAuBb,EAAK,uBAC3C,yBAAKa,UAAU,SACb,0BAAMA,UAAU,iBACb2d,EAAe,kBAAC,IAAD,CAAiB1X,KAAK,yBAA4B,GADpE,IACyE0X,IAG3E,yBAAK3d,UAAU,WACb,0BAAMA,UAAU,cACb6d,EAAY,kBAAC,IAAD,CAAiB5X,KAAK,yBAA4B,GADjE,IACqE,8BAAO8Y,KAAWlB,OAI3F,kBAAC,GAAD,CAAe5c,KAAM3C,EAAMgF,KAAKrC,KAAM2E,KAAMtH,EAAMgF,KAAKsC,KAAMoW,OAAQ1d,EAAMgF,KAAK0Y,QAC7E1d,EAAMqL,QAAU,kBAAC,EAAD,MACf,0BAAMqV,SAAU,SAAA7U,GAAK,OAvDH,SAAAA,GACxBA,EAAMuG,iBACN,IAFiC,EAE7Boe,EAAgB,GAFa,eAIN,IAAI9Y,SAAS7L,EAAMY,QAASwT,WAJtB,IAIjC,2BAAkE,CAAC,IAAD,yBAAxDrd,EAAwD,KAAlDzC,EAAkD,KAChEqwB,EAAc5tB,GAAQzC,GALS,8BAQjCqwB,EAAa,SAAexwB,EAAMgF,KAAK2oB,OAEG,IAAtCte,OAAO6Q,KAAKsQ,GAAerqB,QAAgBqqB,EAAcrQ,cAAgB9Q,SAC3EzG,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAE9B69B,GAAU1Y,EAAexwB,EAAMgF,KAAK2oB,QACjCvZ,MAAK,SAAAlJ,GACJ,GAAsB,MAAlBA,EAAOwS,OAAgB,CAAC,IAAD,EACKxS,EAAOlG,KAA7Bsb,EADiB,EACjBA,UAAWC,EADM,EACNA,OAEfD,GACFhB,EAAgBgB,GAChBd,EAAa,KAEbR,EAASD,MAAmB3K,MAAK,WAC/BkL,EAAgB,IAChBE,EAAae,UAKpBnM,MAAK,kBAAMwL,EAAU5f,EAAMgF,KAAK2oB,WAChCzT,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,OAyBD4F,CAAkBlU,IAAQ1D,GAAG,YACpD,2BAAOjI,KAAK,SAAS0C,KAAK,OAAOzC,MAAM,SACvC,2BAAOD,KAAK,SAAS0C,KAAK,QAAQzC,MAAOQ,IAEzC,kBAAC,GAAD,CAAWwH,GAAG,SAASvF,KAAK,WAAWmQ,MAAOlS,EAAI,OAAYV,MAAOH,EAAMgF,KAAK2oB,OAAQhe,UAAQ,IAEhG,kBAAC,GAAD,CAAWxH,GAAG,KAAKvF,KAAK,OAAOmQ,MAAOlS,EAAK,cAAeV,MAAOH,EAAMgF,KAAK0a,KAE5E,kBAAC,GAAD,CACE9C,cAAe5c,EAAMgF,KAAK82B,WAC1BxhB,QAASta,EAAMgF,KAAKwkC,UACpBtjC,SAAUlG,EAAMgF,KAAKykC,SACrB12B,MAAOlS,EAAI,SACX+B,KAAK,aACLuF,GAAG,cAEL,kBAAC,GAAD,CACEyU,cAAe5c,EAAMgF,KAAK,cAC1B+N,MAAOlS,EAAK,mBACZV,MAAOH,EAAMgF,KAAK0kC,IAClB9mC,KAAK,QACLuF,GAAG,QAEL,kBAAC,GAAD,CAAWA,GAAG,MAAMvF,KAAK,QAAQmQ,MAAM,MAAM5S,MAAOH,EAAMgF,KAAK2kC,MAE/D,kBAAC,GAAD,CAAWxhC,GAAG,MAAMvF,KAAK,QAAQmQ,MAAM,MAAM5S,MAAOH,EAAMgF,KAAK4kC,MAE/D,yBAAKloC,UAAU,mBACb,4BAAQxB,KAAK,SAASwB,UAAU,OAAOb,EAAK8Z,MAC5C,4BAAQza,KAAK,SAASwB,UAAU,OAAOuB,QAAS,kBAAMI,EAAQG,KAAK,gBAAgB3C,EAAKkgB,YC9HvF,SAAS8oB,GAAc3nC,GACpC,IAAMvB,EAAQ8H,aAAaC,QAAQ,SAC3B7H,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACFme,EAAWI,cACX/b,EAAUC,cAJ2B,EAKH8I,mBAAS,IALN,mBAKpCiT,EALoC,KAKtBC,EALsB,OAMTlT,mBAAS,IANA,mBAMpCmT,EANoC,KAMzBC,EANyB,OAOjBpT,mBAAS,CACjCpH,KAAM,GACN8kC,cAAe,CACb,IACA,OACA,KACA,QACA,KACA,MACA,MACA,SACA,MACA,WACA,MACA,MACA,OACA,OAEFz+B,SAAS,IAzBgC,mBAOpCrL,EAPoC,KAO7B4I,EAP6B,KA4B3CrF,qBAAU,WAAO,IACPoqB,EAAsBzrB,EAAtByrB,OAAQyb,EAAclnC,EAAdknC,UAEhBpqB,EAASzC,GAAiB,eAC1ByC,EtFtCK,CACL9e,KxCVkC,yBwCWlCC,MAAO,KsFsCHwtB,GAAUyb,IACZxgC,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAC9BuU,EAAU+N,EAAQyb,MAEnB,IAEH,IAAMxpB,EAAY,SAAC+N,EAAQyb,IFvCG,SAACzb,EAAQwb,GACvC,OAAOt1B,KAAMC,IAAN,UAAa4I,IAAb,OAfY,6BAeZ,mBAA+CiR,EAA/C,sBAAmEwb,KEuCxEY,CAAiBpc,EAAQyb,GACtBh1B,MAAK,SAAAgC,GACJxN,EAAS,2BACJ5I,GADG,IAENgF,KAAMoR,EAASpR,KACfqG,SAAS,QAGZ6O,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,OAuChC,OACE,yBAAKzY,UAAU,8BACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAK0oC,OAE1B,kBAAC,GAAD,CAAS5qB,QAAQ,GACf,8BACA,yBAAKjd,UAAU,uBAAuBb,EAAK,uBAC3C,yBAAKa,UAAU,SACb,0BAAMA,UAAU,iBACb2d,EAAe,kBAAC,IAAD,CAAiB1X,KAAK,yBAA4B,GADpE,IACyE0X,IAG3E,yBAAK3d,UAAU,WACb,0BAAMA,UAAU,cACb6d,EAAY,kBAAC,IAAD,CAAiB5X,KAAK,yBAA4B,GADjE,IACqE,8BAAO8Y,KAAWlB,OAI3F,kBAAC,GAAD,CAAe5c,KAAM3C,EAAMgF,KAAKrC,KAAM2E,KAAMtH,EAAMgF,KAAKsC,KAAMoW,OAAQ1d,EAAMgF,KAAK0Y,QAC7E1d,EAAMqL,QAAU,kBAAC,EAAD,MACf,0BAAMqV,SAAU,SAAA7U,GAAK,OAzDH,SAAAA,GACxBA,EAAMuG,iBACN,IAFiC,EAE7B43B,EAAgB,GAFa,eAIN,IAAItyB,SAAS7L,EAAMY,QAASwT,WAJtB,IAIjC,2BAAkE,CAAC,IAAD,yBAAxDrd,EAAwD,KAAlDzC,EAAkD,KAChE6pC,EAAcpnC,GAAQzC,GALS,8BAQjC6pC,EAAa,SAAehqC,EAAMgF,KAAK2oB,OACvCqc,EAAa,YAAkB9nC,EAAMknC,UACrCY,EAAa,OAAahqC,EAAMgF,KAAK9E,KAEK,IAAtCmP,OAAO6Q,KAAK8pB,GAAe7jC,QAAgB6jC,EAAc7pB,cAAgB9Q,SAC3EzG,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAE9B69B,GAAUc,EAAe9nC,EAAMyrB,OAAQzrB,EAAMknC,WAC1Ch1B,MAAK,SAAAlJ,GACJ,GAAsB,MAAlBA,EAAOwS,OAAgB,CAAC,IAAD,EACKxS,EAAOlG,KAA7Bsb,EADiB,EACjBA,UAAWC,EADM,EACNA,OAEfD,GACFd,EAAa,IACbF,EAAgBgB,IAEhBtB,EAASD,MAAmB3K,MAAK,WAC/BoL,EAAae,GACbjB,EAAgB,WAKvBlL,MAAK,kBAAMwL,EAAU1d,EAAMyrB,OAAQzrB,EAAMknC,cACzClvB,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,OAyBD4F,CAAkBlU,IAAQ1D,GAAG,gBACpD,2BAAOjI,KAAK,SAAS0C,KAAK,OAAOzC,MAAM,SACvC,2BAAOD,KAAK,SAAS0C,KAAK,QAAQzC,MAAOQ,IAEzC,kBAAC,GAAD,CACEoS,MAAOlS,EAAI,OACXV,MAAO+B,EAAMyrB,OACb/qB,KAAK,WACLuF,GAAG,SACHwH,UAAQ,IAEV,kBAAC,GAAD,CACExP,MAAOH,EAAMgF,KAAKilC,IAClBl3B,MAAOlS,EAAI,OACX+B,KAAK,cACLuF,GAAG,SACHwH,UAAQ,IAEV,kBAAC,GAAD,CACE2K,QAASta,EAAM8pC,cACf5jC,SAAUlG,EAAMgF,KAAK9E,KACrB6S,MAAOlS,EAAI,KACX+B,KAAK,SACLuF,GAAG,OACHwH,UAAQ,IAEV,kBAAC,GAAD,CACEoD,MAAOlS,EAAK,eACZV,MAAOH,EAAMgF,KAAKklC,IAClBtnC,KAAK,QACLuF,GAAG,QAEL,kBAAC,GAAD,CACEyU,cAAa,WAAM/b,EAAI,SAAV,KACbV,MAAOH,EAAMgF,KAAKmlC,SAClBp3B,MAAOlS,EAAI,SACX+B,KAAK,aACLuF,GAAG,aAEL,kBAAC,GAAD,CACEyU,cAAa,WAAM/b,EAAI,SAAV,KACbkS,MAAOlS,EAAK,iBACZV,MAAOH,EAAMgF,KAAKokC,UAClBxmC,KAAK,aACLuF,GAAG,aAEL,yBAAKzG,UAAU,mBACb,4BAAQxB,KAAK,SAASwB,UAAU,OAAOb,EAAK8Z,MAC5C,4BAAQza,KAAK,SAASwB,UAAU,OAAOuB,QAAS,kBAAMI,EAAQG,KAAR,2BAAiCtB,EAAMyrB,WAAY9sB,EAAKkgB,UCrK7G,SAASqpB,KAAkB,IAChCvpC,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACFwC,EAAUC,cACVsR,EAAoBC,KAAYC,MAAMzR,EAAQoQ,SAAS7N,OAAQ,CAAEmP,mBAAmB,IAHnD,EAID3I,oBAAS,GAJR,mBAIhCi+B,EAJgC,KAInBC,EAJmB,KAcvC,OARA/mC,qBAAU,WACJqR,EAAkB+Y,QAAU/Y,EAAkBw0B,UAChDkB,GAAe,GAEfA,GAAe,KAEhB,CAACjnC,EAAQoQ,WAGV,oCACE,kBAAC6F,GAAA,EAAD,KACE,iDAAmBzY,EAAK0oC,OAGxBc,EACI,kBAACR,GAAD,CAAelc,OAAQ/Y,EAAkB+Y,OAAQyb,UAAWx0B,EAAkBw0B,YAC9E,kBAAC,GAAD,O,WCyGGrZ,GAhII,SAAA7tB,GAAU,IACnBrB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KADkB,EAEYuL,mBAASlK,EAAM8tB,aAF3B,mBAEnBA,EAFmB,KAENC,EAFM,KAI1B1sB,qBAAU,WACR0sB,EAAe/tB,EAAM8tB,eACpB,IAMH,OACE,yBAAKtuB,UAAU,eACb,oCACE,kBAAC,GAAD,CACE8K,SARoB,SAAA8B,GAC1B2hB,EAAe3hB,IAQT1L,KAAK,gBACLuF,GAAG,eACH4K,MAAOlS,EAAK,wBACZuc,eAAgB4S,KAEhB9tB,EAAM8tB,aAAe,0BAAMtuB,UAAU,qBAAqBsuB,EAAcnvB,EAAK,8DAAgE,OAGjJ,2BAAOX,KAAK,SAASC,MAAM,OAAOyC,KAAK,eAEvC,kBAAC,GAAD,CACEuF,GAAG,kBACHvF,KAAK,YACLmQ,MAAOlS,EAAK,mBACZqM,aAAchL,EAAMyuB,eACpBhhB,SAAUqgB,EACVpT,cAAe,yCAAI,4BAAQ1c,KAAK,SAAS+C,QAAS,kBAAMf,EAAMguB,iBAAgB,IAAOxuB,UAAU,gBAAgBb,EAAK,oBAEtH,kBAAC,GAAD,CACEsH,GAAG,UACHvF,KAAK,YACL+M,SAAUqgB,EACV9iB,aAAchL,EAAMiuB,OACpBpd,MAAOlS,EAAK,aAEd,kBAAC,GAAD,CACEsH,GAAG,SACHvF,KAAK,WACL+M,SAAUqgB,EACV9iB,aAAchL,EAAMqoC,wBACpBx3B,MAAOlS,EAAK,4CACZ+b,cAAa,YAAO/b,EAAI,SAAX,QAEf,yBAAKa,UAAU,mBAEXQ,EAAMsoC,WAAWrkC,OAAS,GAExB,6BACE,8BAAOtF,EAAI,QAAX,KACA,8BAAOqB,EAAMsoC,aAMjBtoC,EAAMuoC,WAAWtkC,OAAS,GAExB,6BACE,8BAAOtF,EAAI,QAAX,KACA,8BAAOqB,EAAMuoC,aAMjBvoC,EAAMwoC,aAAavkC,OAAS,GAE1B,6BACE,8BAAOtF,EAAI,WAAX,KACA,8BAAOqB,EAAMwoC,eAMjBxoC,EAAMyoC,YAAYxkC,OAAS,GAEzB,6BACE,8BAAOtF,EAAI,UAAX,KACA,8BAAOqB,EAAMyoC,cAMjBzoC,EAAM0oC,aAAazkC,OAAS,GAE1B,6BACE,8BAAOtF,EAAI,UAAX,KACA,8BAAOqB,EAAM0oC,eAMjB1oC,EAAM2oC,UAAU1kC,OAAS,GAEvB,6BACE,8BAAOtF,EAAI,QAAX,KACA,8BAAOqB,EAAM2oC,YAMjB3oC,EAAM4oC,UAAU3kC,OAAS,GAEvB,6BACE,8BAAOtF,EAAI,OAAX,KACA,8BAAOqB,EAAM4oC,aAMrB,6BACA,+BCmOSC,I,OA5UC,SAAA7oC,GAAU,IAAD,IACjBvB,EAAQ8H,aAAaC,QAAQ,SAC3B7H,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACAJ,EAAY2B,aAAY,SAAApC,GAAK,OAAIA,EAAMwB,eAAvCf,QACF4C,EAAUC,cACV0b,EAAWI,cALM,EAMiBhT,mBAAS,IAN1B,mBAMhBiT,EANgB,KAMFC,EANE,OAOiBlT,oBAAS,GAP1B,mBAOhBlH,EAPgB,KAOFgrB,EAPE,OAQW9jB,mBAAS,IARpB,mBAQhBmT,EARgB,KAQLC,EARK,OASGpT,mBAAS,CACjCpH,KAAM,GACN2oB,OAAQ,GACRqd,QAAS,GACT3a,YAAY,EACZL,aAAa,EACbR,eAAe,EACfsC,cAAc,EACdmZ,UAAU,EACV5/B,SAAS,IAlBY,mBAShBrL,EATgB,KAST4I,EATS,KAqBvBrF,qBAAU,WACR,IACQoqB,EADUhO,KAAG7K,MAAMzR,EAAQoQ,SAAS7N,OAAQ,CAAEmP,mBAAmB,IACjE4Y,OAER3O,EAASzC,GAAiB,eAC1ByC,EzFzCK,CACL9e,KxCVkC,yBwCWlCC,MAAO,KyFyCHwtB,IACF/kB,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAC9BuU,EAAU+N,MAEX,IAEH,IAAM/N,EAAY,SAAA+N,I1DFS,SAAAA,GAC3B,OAAO9Z,KAAMC,IAAI4I,GAnDG,6BAmDuB,CACzCmD,OAAQ,CACN8N,SACAhtB,MAAO8b,S0DDTyuB,CAAcvd,GACXvZ,MAAK,SAAAgC,GACJxN,EAAS,2BACJ5I,GADG,IAEN2tB,SACAqd,QAAS50B,EAASpR,KAAKmmC,QAAU/0B,EAASpR,KAAKmmC,QAAU,OACzD9a,WAAkC,QAAtBja,EAASpR,KAAKomC,IAC1Bpb,YAA2C,QAA9B5Z,EAASpR,KAAKqmC,YAC3BvZ,eAAgB1b,EAASpR,KAAKsmC,MAC9BtmC,KAAMoR,EAASpR,KACfwqB,gBAAiBpZ,EAASpR,KAAKumC,SAC/BN,SAAU70B,EAASpR,KAAKwmC,WACxBngC,SAAS,QAGZ6O,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,OAG1B4F,EAAoB,SAAAlU,GACxBA,EAAMuG,iBACN,IAFiC,EAE7Boe,EAAgB,GAFa,eAIN,IAAI9Y,SAAS7L,EAAMY,QAASwT,WAJtB,IAIjC,2BAAkE,CAAC,IAAD,yBAAxDrd,EAAwD,KAAlDzC,EAAkD,KAChEqwB,EAAc5tB,GAAQzC,GALS,8BAQjCqwB,EAAa,SAAexwB,EAAM2tB,OAEH,OAA3B6C,EAAa,MACfA,EAAa,MAAY,aAElBA,EAAa,MAGiB,OAAnCA,EAAa,cACfA,EAAa,cAAoB,aAE1BA,EAAa,cAGjBA,EAAa,iBACTA,EAAa,SAGjBA,EAAa,kBACTA,EAAa,UAGjBA,EAAa,kBACTA,EAAa,UAGoB,IAAtCnhB,OAAO6Q,KAAKsQ,GAAerqB,QAAgBqqB,EAAcrQ,cAAgB9Q,SAC3EzG,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,K1D/CL,SAACrG,EAAM2oB,GACpC,IAAIvN,EAAiB,IAAI1I,SAEzB,IAAK,IAAIrT,KAAOW,EACdob,EAAezI,OAAOtT,EAAKW,EAAKX,IAGlC,OAAOwP,KAAM+D,KAAK8E,GAhEI,6BAgEwB0D,EAAgB,CAC5DP,OAAQ,CACN8N,SACAhtB,MAAO8b,Q0DuCPgvB,CAAgBjb,EAAexwB,EAAM2tB,QAClCvZ,MAAK,SAAAlJ,GACJ,GAAsB,MAAlBA,EAAOwS,OAAgB,CAAC,IAAD,EACKxS,EAAOlG,KAA7Bsb,EADiB,EACjBA,UAAWC,EADM,EACNA,OAEfD,GACFhB,EAAgBgB,GAChBd,EAAa,IACb5W,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,MAE9B2T,EAASD,MAAmB3K,MAAK,WAC/BkL,EAAgB,IAChBE,EAAae,GACbX,EAAU5f,EAAM2tB,eAKvBzT,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,QA8B5BuxB,EAAwB,SAAAlc,GAC5B5mB,EAAS,2BAAK5I,GAAN,IAAawvB,oBAGvB,OACE,yBAAK9tB,UAAU,0BACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAK+xB,OAE1B,kBAAC,GAAD,CAASjU,QAAQ,GACf,8BACA,yBAAKjd,UAAU,uBAAuBb,EAAK,mBAC3C,yBAAKa,UAAU,SAAQ,0BAAMA,UAAU,iBAAiB2d,EAAe,kBAAC,IAAD,CAAiB1X,KAAK,yBAA4B,GAAlG,IAAuG0X,IAC9H,yBAAK3d,UAAU,WACb,0BAAMA,UAAU,cAAc6d,EAAY,kBAAC,IAAD,CAAiB5X,KAAK,yBAA4B,GAA5F,IAAgG,8BAAO8Y,KAAWlB,IAAlH,OAGJ,kBAAC,GAAD,CAAe5c,KAAM3C,EAAMgF,KAAKrC,KAAM2E,KAAMtH,EAAMgF,KAAKsC,KAAMoW,OAAQ1d,EAAMgF,KAAK0Y,QAC7E1d,EAAMqL,QAAU,kBAAC,EAAD,MACf,0BAAMqV,SAAU,SAAA7U,GAAK,OAAIkU,EAAkBlU,IAAQ1D,GAAG,WACpD,2BAAOjI,KAAK,SAAS0C,KAAK,OAAOzC,MAAM,SACvC,2BAAOD,KAAK,SAAS0C,KAAK,QAAQzC,MAAOQ,IAEzC,kBAAC,GAAD,CAAWwH,GAAG,SAASvF,KAAK,WAAWmQ,MAAOlS,EAAI,OAAYV,MAAOH,EAAM2tB,OAAQhe,UAAQ,IAE3F,kBAAC,GAAD,CACE2K,QApDO,SAAAqxB,GACjB,IAAIzgC,EAAS,GAEb,IAAK,IAAI1E,KAAKmlC,EACZzgC,EAAO1H,KAAKgD,GAGd,OAAO0E,EA6CY0gC,CAAW5rC,EAAMgF,KAAKotB,KAC/BlsB,SAAUlG,EAAMgF,KAAK0a,GACrB9c,KAAK,OACLuF,GAAG,KACH4K,MAAOlS,EAAK,gBAEd,kBAAC,GAAD,CACEsH,GAAG,gBACHvF,KAAK,YACLmQ,MAAOlS,EAAI,QACXqM,aAAclN,EAAMgF,KAAKyrB,UAE3B,kBAAC,GAAD,CACEnW,QAASta,EAAMgF,KAAKwkC,UACpBtjC,SAAUlG,EAAMgF,KAAKykC,SACrB7mC,KAAK,aACLuF,GAAG,eACHyU,cAAe5c,EAAMgF,KAAKq2B,WAC1BtoB,MAAOlS,EAAK,kBAGZJ,EAAQorC,aACN,kBAAC,GAAD,CACEvxB,QAASta,EAAMgF,KAAKy2B,kBACpBv1B,SAAUlG,EAAMgF,KAAK02B,kBAAoB,UACzC94B,KAAK,qBACLuF,GAAG,mBACHyU,cAAe5c,EAAMgF,KAAKw2B,YAC1BzoB,MAAOlS,EAAK,sBAKhBb,EAAMgF,KAAK22B,cACT,oCACE,kBAAC,GAAD,CACEnvB,SA1EW,SAAA8B,GAC3B1F,EAAS,2BAAK5I,GAAN,IAAa8xB,aAAcxjB,MA0EnB1L,KAAK,UACLuF,GAAG,QACH4K,MAAK,UAAElS,EAAK,wBAAP,QAA2B,gBAChCuc,eAAgBpd,EAAM8xB,eAGtB9xB,EAAM8xB,cAAiB,yBAAK/vB,MAAO,CAAE2uB,UAAW,qBAC9C,kBAAC,GAAD,CACEpW,QAASta,EAAMgF,KAAK42B,gBACpB11B,SAAUlG,EAAMgF,KAAK62B,gBAAkB,UACvCjf,cAAe5c,EAAMgF,KAAK22B,aAC1B/4B,KAAK,mBACLuF,GAAG,iBACH4K,MAAOlS,EAAK,oBAEd,kBAAC,GAAD,CACEsH,GAAG,mBACHvF,KAAK,cACLmQ,MAAOlS,EAAK,oBACZqM,aAAclN,EAAMgF,KAAKktB,cAOrC,kBAAC,GAAD,CACE1lB,SA1Ge,SAAA8B,GACzB1F,EAAS,2BAAK5I,GAAN,IAAaqwB,WAAY/hB,MA0GvB1L,KAAK,QACLuF,GAAG,cACH4K,MAAK,UAAElS,EAAK,sBAAP,QAAyB,cAC9Buc,eAAgBpd,EAAMqwB,aAGtBrwB,EAAMqwB,YACJ,kBAAC,GAAD,CACEma,WAAYxqC,EAAMgF,KAAK8mC,YACvBrB,WAAYzqC,EAAMgF,KAAK+mC,YACvBrB,aAAc1qC,EAAMgF,KAAKgnC,eACzBrB,YAAa3qC,EAAMgF,KAAKinC,cACxBrB,aAAc5qC,EAAMgF,KAAKknC,cACzBrB,UAAW7qC,EAAMgF,KAAKmnC,YACtBrB,UAAW9qC,EAAMgF,KAAKonC,WACtBzb,eAAgB3wB,EAAMgF,KAAKgtB,QAC3B7B,OAAQnwB,EAAMgF,KAAKitB,QACnB/B,gBAAiB,SAAAU,GAAI,OAAIV,EAAgBU,IACzC2Z,wBAAyBvqC,EAAMgF,KAAKqnC,OACpC1e,OAAQ3tB,EAAM2tB,OACd2e,QAAStsC,EAAMgF,KAAKunC,SACpBvc,YAAahwB,EAAMgwB,cAKzB,kBAAC,GAAD,CACE1V,QAASta,EAAMgF,KAAKqtB,MACpBnsB,SAAUlG,EAAMgrC,QAChBj4B,MAAOlS,EAAK,kBACZ2L,SAjIa,SAAAw+B,GACvBpiC,EAAS,2BAAK5I,GAAN,IAAagrC,cAiIXpoC,KAAK,UACLuF,GAAG,UAGe,SAAlBnI,EAAMgrC,SACJ,yBAAKtpC,UAAU,uBACb,kBAAC,GAAD,CACE8K,SArIa,SAAAy+B,GAC7BriC,EAAS,2BAAK5I,GAAN,IAAairC,eAqILroC,KAAK,eACLuF,GAAG,YACHiV,eAAgBpd,EAAMgF,KAAKwmC,WAC3Bz4B,MAAOlS,EAAK,8BAGZb,EAAMirC,UACJ,oCACE,kBAAC,GAAD,CAAW9iC,GAAG,SAASvF,KAAK,eAAemQ,MAAOlS,EAAI,SAAcV,MAAOH,EAAMgF,KAAKwmC,aAEtF,kBAAC,GAAD,CAAU5oC,KAAK,uBAQ3B,kBAAC,GAAD,CACE4J,SAAUk/B,EACV9oC,KAAK,QACLuF,GAAG,UACHmG,QAAStO,EAAMwvB,cACfzc,MAAOlS,EAAK,4BAEd,kBAAC,GAAD,CACEyN,QAAStO,EAAMwvB,cACff,WAAYzuB,EAAMgF,KAAKypB,WACvBY,KAAMrvB,EAAMgF,KAAKwnC,UACjBjd,eAAgBvvB,EAAMgF,KAAKynC,iBAC3Bnd,wBAAyB,kBAAMoc,GAAsB,MAEvD,yBAAKhqC,UAAU,mBACb,4BAAQxB,KAAK,SAASwB,UAAU,OAAOb,EAAK8Z,MAC5C,4BAAQza,KAAK,SAASwB,UAAU,OAAOuB,QAAS,kBAAMI,EAAQG,KAAK,gBAAgB3C,EAAKkgB,SAOhG,yBAAKrf,UAAS,qBAAgBwD,EAAe,OAAS,IAAMiD,GAAG,gBAAgByiB,SAAS,KAAKjpB,KAAK,SAASkpB,kBAAgB,oBAAoB9O,cAAY,OAAOha,MAAO,CAAE+oB,QAAS5lB,EAAe,QAAU,SAC3M,yBAAKxD,UAAU,eAAeC,KAAK,YACjC,yBAAKD,UAAU,iBACb,yBAAKA,UAAU,gBACb,4BAAKb,EAAK,mBACV,4BAAQX,KAAK,SAAS+C,QAAS,kBAAMitB,GAAgB,IAAQxuB,UAAU,QAAQspB,eAAa,QAAQrY,aAAW,SAC7G,0BAAMoJ,cAAY,QAAlB,UAGJ,kBAAC,GAAD,CACE4R,OAAQ3tB,EAAM2tB,OACdnd,WAAY,kBAAM0f,GAAgB,IAClCoB,kBAAmB,YAAmB,IAAhBF,EAAe,EAAfA,IAAK/sB,EAAU,EAAVA,IACzBuE,EAAS,2BAAK5I,GAAN,IAAagF,KAAK,2BAAMhF,EAAMgF,MAAb,IAAmBgtB,QAASZ,EAAKa,QAAS5tB,OACnE6rB,GAAgB,YC5GjBwc,I,OA/NC,SAAC,GAA0B,IAAD,IAAvBpE,mBAAuB,MAAT,GAAS,EAClC3nC,EAAQ8H,aAAaC,QAAQ,SAC3B7H,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACFwC,EAAUC,cACV0b,EAAWI,cAJuB,EAKAhT,mBAAS,IALT,mBAKjCiT,EALiC,KAKnBC,EALmB,OAMNlT,mBAAS,IANH,mBAMjCmT,EANiC,KAMtBC,EANsB,OAOVpT,oBAAS,GAPC,mBAOjCyV,EAPiC,KAOxBC,EAPwB,OAQd1V,mBAAS,CACjCpH,KAAM,GACNqG,SAAS,EACT0W,cAAc,EACdC,iBAAiB,IAZqB,mBAQjChiB,EARiC,KAQ1B4I,EAR0B,KAexCrF,qBAAU,WACRyb,EAASzC,GAAiB,kBAC1ByC,E1FxBK,CACL9e,KxCVkC,yBwCWlCC,MAAO,K0FwBFmoC,GACHjlC,EAAQG,KAAK,gBAGfoF,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAC9BuU,MACC,IAEH,IAAMA,EAAY,WAChB6B,GAAe6mB,GACZl0B,MAAK,SAAAgC,GACJxN,EAAS,2BACJ5I,GADG,IAENgF,KAAMoR,EAASpR,KACfqG,SAAS,QAGZ6O,OAAM,SAAAC,GACLvR,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAC9BwG,QAAQjR,MAAMuZ,OAgCd8H,EAAgB,WACpBrZ,EAAS,2BACJ5I,GADG,IAENgiB,iBAAkBhiB,EAAMgiB,gBACxBD,cAAe/hB,EAAM+hB,iBAInBG,EAAiB,SAAC,GAAmB,IAAjB/Z,EAAgB,EAAhBA,GAAIhI,EAAY,EAAZA,MAC5B,GAAKA,EAAL,CAEA,IAAIgiB,EAAS,IAAIC,OAAJ,WAAeja,EAAf,iBAA0BnI,EAAMgF,KAAKmD,GAArC,KAA6C,MACpDka,EAAgBriB,EAAMgF,KAAKsd,OAAOlS,QAAQ+R,EAA1B,cAAyChiB,IAC/DyI,EAAS,2BAAK5I,GAAN,IAAagF,KAAK,2BAAMhF,EAAMgF,MAAb,gBAAmBsd,OAAQD,GAAgBla,EAAKhI,SAG3E,OACE,yBAAKuB,UAAU,0BACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAK0hB,UAE1B,kBAAC,GAAD,CAAS5D,QAAQ,GACf,8BACA,yBAAKjd,UAAU,uBAAsB,kBAAC,KAAD,CAAM8Q,GAAE,uBAAkBxS,EAAMgF,KAAKq2B,aAAex6B,EAAK,sBAAzD,MAAmFb,EAAMgF,KAAKq2B,aACnI,yBAAK35B,UAAU,QAAO,kBAAC,KAAD,CAAM8Q,GAAG,oBAAoB3R,EAAI,UAAjC,aACtB,yBAAKa,UAAU,SACb,0BAAMA,UAAU,iBACb2d,EAAe,kBAAC,IAAD,CAAiB1X,KAAK,yBAA4B,GADpE,IACyE0X,IAG3E,yBAAK3d,UAAU,WACb,0BAAMA,UAAU,cACb6d,EAAY,kBAAC,IAAD,CAAiB5X,KAAK,yBAA4B,GADjE,IACqE,8BAAO8Y,KAAWlB,OAI3F,kBAAC,GAAD,KACGvf,EAAMqL,QAAU,kBAAC,EAAD,MACf,0BAAMqV,SAAU,SAAA7U,GAAK,OAlEH,SAAAA,GACxBA,EAAMuG,iBACN,IAFiC,EAE7BqQ,EAAiB,GAFY,eAIN,IAAI/K,SAAS7L,EAAMY,QAASwT,WAJtB,IAIjC,2BAAkE,CAAC,IAAD,yBAAxDrd,EAAwD,KAAlDzC,EAAkD,KAChEsiB,EAAe7f,GAAQzC,GALQ,8BAQU,IAAvCkP,OAAO6Q,KAAKuC,GAAgBtc,QAAgBsc,EAAetC,cAAgB9Q,SAC7EzG,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAE9BoX,EAAc,SAAeziB,EAAMgF,KAAKsd,OACxCG,EAAc,UAAgBZ,EAAU,MAAQ,KAEhDL,GAAciB,EAAD,WAAqB6lB,IAC/Bl0B,MAAK,SAAAlJ,GACJ,GAAsB,MAAlBA,EAAOwS,OAAgB,CAAC,IAAD,EACKxS,EAAOlG,KAA7Bsb,EADiB,EACjBA,UAAWC,EADM,EACNA,OAEnBjB,EAAgBgB,GAAa,IAC7Bd,EAAae,GAAU,QAG1BnM,MAAK,kBAAMwL,OACX1F,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,OA0CD4F,CAAkBlU,IAAQ1D,GAAG,aACpD,2BAAOjI,KAAK,SAAS0C,KAAK,OAAOzC,MAAM,SACvC,2BAAOD,KAAK,SAAS0C,KAAK,QAAQzC,MAAOQ,KAGtCX,EAAM+hB,cACL,4BAAQ7hB,KAAK,SAAS+C,QAAS,kBAAMgf,MAClCphB,EAAK,iBACLb,EAAM+hB,aAAe,kBAAC,IAAD,CAAiBpa,KAAK,aAAgB,kBAAC,IAAD,CAAiBA,KAAK,gBAMtF3H,EAAM+hB,cACJ,oCACE,kBAAC,GAAD,CACE5Z,GAAG,qBACH4K,MAAM,qBACNnQ,KAAK,uBACL4J,SAAU,SAAAX,GAAK,OAAIqW,EAAerW,EAAMY,SACxCtM,MAAO8N,SAASjO,EAAMgF,KAAK2nC,sBAE7B,kBAAC,GAAD,CACExkC,GAAG,qBACH4K,MAAM,qBACNnQ,KAAK,uBACL4J,SAAU,SAAAX,GAAK,OAAIqW,EAAerW,EAAMY,SACxCtM,MAAO8N,SAASjO,EAAMgF,KAAK4nC,kBAE7B,kBAAC,GAAD,CACEzkC,GAAG,eACH4K,MAAM,eACNnQ,KAAK,iBACL4J,SAAU,SAAAX,GAAK,OAAIqW,EAAerW,EAAMY,SACxCtM,MAAO8N,SAASjO,EAAMgF,KAAK6nC,gBAE7B,kBAAC,GAAD,CACE1kC,GAAG,kBACH4K,MAAM,kBACNnQ,KAAK,oBACL4J,SAAU,SAAAX,GAAK,OAAIqW,EAAerW,EAAMY,SACxCtM,MAAOH,EAAMgF,KAAK8nC,kBAEpB,kBAAC,GAAD,CACE3kC,GAAG,iBACH4K,MAAM,iBACNnQ,KAAK,mBACL4J,SAAU,SAAAX,GAAK,OAAIqW,EAAerW,EAAMY,SACxCtM,MAAOH,EAAMgF,KAAK+nC,iBAEpB,kBAAC,GAAD,CACE5kC,GAAG,gBACH4K,MAAM,gBACNnQ,KAAK,kBACL4J,SAAU,SAAAX,GAAK,OAAIqW,EAAerW,EAAMY,SACxCtM,MAAOH,EAAMgF,KAAKgoC,gBAEpB,kBAAC,GAAD,CACE7kC,GAAG,sBACH4K,MAAM,sBACNnQ,KAAK,wBACL4J,SAAU,SAAAX,GAAK,OAAIqW,EAAerW,EAAMY,SACxCtM,MAAOH,EAAMgF,KAAKioC,wBAMvBjtC,EAAMgiB,iBACL,4BAAQ9hB,KAAK,SAAS+C,QAAS,kBAAMgf,MAClCphB,EAAK,oBACLb,EAAMgiB,gBAAkB,kBAAC,IAAD,CAAiBra,KAAK,aAAgB,kBAAC,IAAD,CAAiBA,KAAK,gBAK3F,6BACA,6BAGE3H,EAAMgiB,iBACJ,oCACE,kBAAC,GAAD,CACExV,SAAU,SAAA1H,GAAC,OAAI8D,EAAS,2BAAK5I,GAAN,IAAagF,KAAK,2BAAMhF,EAAMgF,MAAb,IAAmBsd,OAAQxd,EAAE2H,OAAOtM,YAC5E+M,aAAclN,EAAMgF,KAAKsd,OACzBvP,MAAO/S,EAAMgF,KAAKoe,YAClBxgB,KAAK,WACLuF,GAAG,WACH6C,KAAK,OAEP,6BAEA,kBAAC,GAAD,CACE+H,MAAOlS,EAAI,QACXuc,gBAAgB,EAChB5Q,SAAU,SAAA8B,GAAO,OAAIwT,EAAWxT,IAChC1L,KAAK,YACLuF,GAAG,aAKX,yBAAKzG,UAAU,mBACb,4BAAQxB,KAAK,SAASwB,UAAU,OAAOb,EAAK8Z,MAC5C,4BAAQza,KAAK,SAASwB,UAAU,OAAOuB,QAAS,kBAAMI,EAAQG,KAAK,mBAAmB3C,EAAKkgB,YC1I1FgE,GArFE,SAAA7iB,GAAU,IACjB8C,EAAS9C,EAAT8C,KACAnE,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACM4H,aAAaC,QAAQ,SAuBnC,OACE,kBAAC,GAAD,CACEP,GAAInD,EAAK4iB,KACTjlB,KAAMqC,EAAK+iB,KACXL,UAzBc,SAACZ,GACbA,EACF5kB,EAAMwlB,UAAU1iB,EAAK4iB,KAAM,OAE3B1lB,EAAMwlB,UAAU1iB,EAAK4iB,KAAM,WAsB3BV,UAlBc,WAChBhlB,EAAMglB,UAAUliB,EAAK4iB,OAkBnBd,QAAS9hB,EAAKgjB,QACdV,QAAStiB,EAAK6iB,QACdvZ,QAAStJ,EAAK8iB,UACdV,UAA8B,QAAnBpiB,EAAKkoC,WAEhB,kBAAC,GAAD,CAAWxrC,UAAU,cACnB,yBAAKA,UAAU,QAAQsD,EAAKmoC,UAC5B,6BACA,yBAAKzrC,UAAU,SACb,kBAAC,GAAD,CAAWA,UAAU,OACnB,yBAAKA,UAAU,QACZb,EAAKsjB,KADR,KACe,8BAAM,0BAAMziB,UAAU,QAAQsD,EAAKooC,QAAevsC,EAAKwsC,IACpE,yBAAK3rC,UAAU,UAAUK,MAAO,CAAEC,MAAO,UAAGgD,EAAKsoC,eAAR,OAA6B,OAG1E,kBAAC,GAAD,CAAW5rC,UAAU,OACnB,6BAAMb,EAAKmkB,KAAX,KAAkB,0BAAMtjB,UAAU,QAAQsD,EAAKuoC,SAC/C,6BAAM1sC,EAAKo0B,QAAX,KAAqB,0BAAMvzB,UAAU,QAAQsD,EAAKwoC,WAEpD,kBAAC,GAAD,CAAW9rC,UAAU,OACnB,6BAAMb,EAAKokB,KAAX,KAAkB,0BAAMvjB,UAAU,QAAQsD,EAAKyoC,OAC/C,6BAAM5sC,EAAKi0B,KAAX,KAAkB,0BAAMpzB,UAAU,QAAQsD,EAAK0oC,UAIrD,yBAAKhsC,UAAU,WACb,6BACE,kBAAC,KAAD,CAAMA,UAAU,YAAY8Q,GAAE,6BAAwBxN,EAAK4iB,OACxD/mB,EAAK8nB,KACL3jB,EAAK6iB,QAAU,0BAAMnmB,UAAU,gCAAhB,UAAgE,kBAAC,IAAD,CAAiBiG,KAAK,UAI1G,6BACE,4BACEjG,UAAU,YACVuB,QAAS,kBAnDG,WACpB,IAAI0qC,EAAqC,QAAnB3oC,EAAKkoC,UAAsB,YAAkD,UACnGhrC,EAAM0mB,YAAY5jB,EAAK4oC,aAAvB,kBAAgDD,EAAhD,kCAAyF3oC,EAAK4iB,OAiDvEimB,KACdhtC,EAAKmE,EAAK8oC,gBACV9oC,EAAK6iB,QAAU,0BAAMnmB,UAAU,mBAAhB,KAA6C,kBAAC,IAAD,CAAiBiG,KAAyB,QAAnB3C,EAAKkoC,UAAsB,SAAW,WAI9H,6BACE,4BAAQxrC,UAAU,cAAcuB,QAAS,WApD/Cf,EAAM0mB,YAAY5jB,EAAK6jB,YAAvB,+CAA4E7jB,EAAK4iB,SAqDxE/mB,EAAKsM,OACLnI,EAAK6iB,QAAU,0BAAMnmB,UAAU,uBAAhB,OAAmD,kBAAC,IAAD,CAAiBiG,KAAK,eCgVtFomC,I,OA/YG,SAAA7rC,GAAU,IAClBrB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACAT,EAA+BgC,aAAY,SAAApC,GAAK,OAAIA,EAAMqB,uBAA1DjB,2BACAT,EAAmByC,aAAY,SAAApC,GAAK,OAAIA,EAAMmB,kBAA9CxB,eACFqf,EAAWI,cAJQ,EAKKhT,oBAAS,GALd,mBAKlBf,EALkB,KAKT8f,EALS,OAMC/e,mBAAS,CACjCgO,KAAM,GACNgR,SAAS,EACTC,UAAW,KATY,mBAMlBxa,EANkB,KAMXya,EANW,OAWClf,mBAAS,CACjCqwB,UAAW,GACXuR,MAAO,GACPviB,YAAY,EACZwiB,QAAS,GACTC,YAAa,GACbC,gBAAiB,GACjBC,gBAAiB,GACjBjsC,QAAStB,EAAKoG,KACd1E,MAAO,aACPoP,UAAW,GACX+Z,YAAa,KAtBU,mBAWlB1rB,EAXkB,KAWX4I,EAXW,KAyBzBrF,qBAAU,WAMR,OALAyb,EAASzC,GAAiB,cAC1ByC,E5FtCK,CACL9e,KxCVkC,yBwCWlCC,MAAO,K4FqCP6e,EzEvCK,CACL9e,KzDVyC,gCyDWzCC,MAAO,KyEsCPyf,IAAYxL,MAAK,kBAAM+W,GAAW,MAE3B,WACLnM,EzE3CG,CACL9e,KzDVyC,gCyDWzCC,MAAO,QyE2CN,IAEHoD,qBAAU,WAIR,OAHAmI,OAAOhH,iBAAiB,UAAWinB,GACnCjgB,OAAOhH,iBAAiB,UAAWknB,GAE5B,WACLlgB,OAAO7G,oBAAoB,UAAW8mB,GACtCjgB,OAAO7G,oBAAoB,UAAW+mB,MAEvC,CAACxrB,EAA4BT,EAAgBK,EAAMy8B,YAEtD,IAAM9Q,EAAyB,SAAA9f,GACP,KAAlBA,EAAMxG,SAAoC,KAAlBwG,EAAMxG,SAC5B1F,GACFqf,E5F5DC,CACL9e,KxCVkC,yBwCWlCC,MAAO,K4F8De,KAAlB0L,EAAMxG,SACRwG,EAAMuG,iBACNyZ,KAC2B,KAAlBhgB,EAAMxG,UACfwG,EAAMuG,iBACN0Z,MAIEC,EAAqB,SAAA0Q,GACzBA,EAAU,GAAV,QAA0BA,EAAU,GAAV,KAC1B7zB,EAAS,2BAAK5I,GAAN,IAAay8B,eACrBzd,EAAS+E,GAAqC0Y,EAAU,GAAV,QAG1C3Q,EAAkB,WACtB,IAAI2Q,EAAS,YAAOz8B,EAAMy8B,WAM1B,GAAmC,KAA/Br8B,EAAJ,CAKA,IAAI4rB,EAAyByQ,EAAUxQ,WAAU,SAAAoH,GAAQ,OAAIA,EAASzL,OAASxnB,KAE/E,GAAI4rB,IAA2ByQ,EAAUt2B,OAAS,EAAG,CACnD,IAAIgmB,EAAqBsQ,EAAUzQ,EAAyB,GAC5DyQ,EAAUzQ,GAAV,QAA+C,GAC/CG,EAAkB,QAAcA,EAAkB,KAClD1nB,SAASqM,eAAeqb,EAAkB,MAAUC,eAAe,CAAEC,SAAU,SAAUC,MAAO,WAChG1jB,EAAS,2BAAK5I,GAAN,IAAay8B,eACrBzd,EAAS+E,GAAqCoI,EAAkB,aAZhEJ,EAAmB0Q,IAgBjB5Q,EAAgB,WACpB,IAAI4Q,EAAS,YAAOz8B,EAAMy8B,WAM1B,GAAmC,KAA/Br8B,EAAJ,CAKA,IAAI4rB,EAAyByQ,EAAUxQ,WAAU,SAAAoH,GAAQ,OAAIA,EAASzL,OAASxnB,KAE/E,GAA+B,IAA3B4rB,EAA8B,CAChC,IAAIG,EAAqBsQ,EAAUzQ,EAAyB,GAC5DyQ,EAAUzQ,GAAV,QAA+C,GAC/CG,EAAkB,QAAcA,EAAkB,KAClD1nB,SAASqM,eAAeqb,EAAkB,MAAUC,eAAe,CAAEC,SAAU,SAAUC,MAAO,WAChG1jB,EAAS,2BAAK5I,GAAN,IAAay8B,eACrBzd,EAAS+E,GAAqCoI,EAAkB,aAZhEJ,EAAmB0Q,IAgBjB7Q,EAAgC,SAAA/f,GACpC,IAAIC,EAAuBrH,SAASsH,cAAc,gBAAkBtH,SAASsH,cAAc,kBAE3F,GAAI3L,IAA+B0L,EACjC,OAAQD,EAAMxG,SACZ,KAAK,EAAG,OAAOknB,IACf,KAAK,GAAI,OAAOC,IAChB,KAAK,GAAI,OAAOqhB,MAMhBrhB,EAAa,WACjBtqB,EAAMmB,QAAQG,KAAd,gCAA4CpD,KAGxCytC,EAAgB,WAAO,IAEvBQ,EADkBruC,EAAdy8B,UAC4B1xB,QAAO,SAAAsoB,GAAQ,OAAIA,EAASzL,OAASxnB,KAA4B,GACjGutC,EAAoD,QAAlCU,EAAoBnB,UAAsB,YAAc,UAE9ExgB,EAAa2hB,EAAoBT,aAArB,kBAA8CD,EAA9C,sCAA2FvtC,KAGnGmsB,EAAe,WAAO,IAEtB8hB,EADkBruC,EAAdy8B,UAC4B1xB,QAAO,SAAAsoB,GAAQ,OAAIA,EAASzL,OAASxnB,KAA4B,GAErGssB,EAAa2hB,EAAoBxlB,YAArB,mDAA8EzoB,KAGtFwf,EAAY,WAEhB,OADAuL,GAAW,GACJ,IAAI9W,SAAQ,SAACwB,EAASqJ,GpDhKxBrL,KAAMC,IAAI4I,GAPD,6BoDyKTtI,MAAK,SAAAlJ,GACJtC,EAAS,2BACJ5I,GADG,IAENy8B,UAAW9P,EAAazhB,EAAOlG,KAAKA,MACpCipC,QAAS/iC,EAAOlG,KAAKspC,SACrBJ,YAAahjC,EAAOlG,KAAKupC,cACzBJ,gBAAiBjjC,EAAOlG,KAAKmpC,gBAC7BC,gBAAiBljC,EAAOlG,KAAKopC,gBAC7BJ,MAAO9iC,EAAOlG,KAAKgpC,MACnBr8B,UAAW,GACX8Z,YAAY,EACZC,YAAaxgB,EAAOlG,KAAK0mB,eAE3B7V,OAEDqE,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,UAI5BwS,EAAe,SAAA3nB,GACnB,IAAIy3B,EAAY,GAEhB,IAAK,IAAIj2B,KAAKxB,EACZA,EAAKwB,GAAL,KAAkBA,EAClBxB,EAAKwB,GAAL,QAAqBpG,IAA+BoG,EACpDi2B,EAAUj5B,KAAKwB,EAAKwB,IAGtB,OAAOi2B,GAmCHvV,EAAY,SAAAtkB,GAAS,IACjB+O,EAAyB3R,EAAzB2R,UAAW8qB,EAAcz8B,EAAdy8B,UACftxB,EAAS,YAAOwG,GAChB68B,EAAc/R,EACd5P,EAAc1hB,EAAUvB,QAAQhH,GAEhCkqB,EAAe0hB,EAAYviB,WAAU,SAAApI,GAAE,OAAIA,EAAG+D,OAAShlB,KAC3D4rC,EAAY1hB,GAAchF,WAAa0mB,EAAY1hB,GAAchF,WAE5C,IAAjB+E,EACF1hB,EAAUpH,OAAO8oB,EAAa,GAE9B1hB,EAAU3H,KAAKZ,GAGjBgG,EAAS,2BAAK5I,GAAN,IAAay8B,UAAW+R,EAAa78B,UAAWxG,MAGpD4hB,EAAY,SAAAje,GAAU,IAClBvM,EAAmBvC,EAAnBuC,MAAOJ,EAAYnC,EAAZmC,QACX6qB,EAAgBC,EAAO9qB,GAE3B,MAAc,eAAVI,EACKuM,EAAMrM,MAAK,SAAC8H,EAAGC,GAAJ,OAAWD,EAAEyiB,GAAiBxiB,EAAEwiB,GAAkB,EAAMxiB,EAAEwiB,GAAiBziB,EAAEyiB,IAAmB,EAAI,KAE/Gle,EAAMrM,MAAK,SAAC8H,EAAGC,GAAJ,OAAWD,EAAEyiB,GAAiBxiB,EAAEwiB,GAAkB,EAAMxiB,EAAEwiB,GAAiBziB,EAAEyiB,IAAmB,EAAI,MAIpHC,EAAS,SAAA9qB,GAAY,IACjB8E,EAA8CpG,EAA9CoG,KAAM8d,EAAwClkB,EAAxCkkB,SAAUZ,EAA8BtjB,EAA9BsjB,KAAMa,EAAwBnkB,EAAxBmkB,KAAMC,EAAkBpkB,EAAlBokB,KAAMZ,EAAYxjB,EAAZwjB,QAE1C,OAAQliB,GACN,KAAK8E,EAAM,MAAO,OAClB,KAAK8d,EAAU,MAAO,WACtB,KAAKZ,EAAM,MAAO,SAClB,KAAKa,EAAM,MAAO,SAClB,KAAKC,EAAM,MAAO,OAClB,KAAKZ,EAAS,MAAO,YAKnBqD,EAAY,SAACvnB,EAAOD,GAAU,IAE9BuuC,EADczuC,EAAVguC,MAGK,QAAT9tC,GACFuuC,EAAetuC,GAAS,EAExBsmB,GAAYtmB,EAAO,MAChBiU,MAAK,WACJxL,EAAS,2BAAK5I,GAAN,IAAaguC,MAAOS,QAE7Bv0B,OAAM,SAAAC,GACLtI,QAAQjR,MAAMuZ,QAGlBs0B,EAAetuC,QAAS0D,EAExB+iB,GAAezmB,EAAO,MACnBiU,MAAK,WACJxL,EAAS,2BAAK5I,GAAN,IAAaguC,MAAOS,QAE7Bv0B,OAAM,SAAAC,GACLtI,QAAQjR,MAAMuZ,QAKhB8O,EAAY,SAAAC,GAChB,IAAMwlB,EAAkB,YAAO1uC,EAAMy8B,WAErC,GAAIvT,EAAS,CACX,IAAIylB,EAAU,GAEVlS,EAAYiS,EAAmBvqC,KAAI,SAAAkvB,GAGrC,OAFAsb,EAAQnrC,KAAK6vB,EAASzL,MACtByL,EAASvL,WAAY,EACduL,KAGTzqB,EAAS,2BAAK5I,GAAN,IAAay8B,YAAW9qB,UAAWg9B,EAASljB,WAAYvC,SAC3D,CACL,IAAIuT,EAAYiS,EAAmBvqC,KAAI,SAAAkvB,GAErC,OADAA,EAASvL,WAAY,EACduL,KAGTzqB,EAAS,2BAAK5I,GAAN,IAAay8B,YAAW9qB,UAAW,GAAI8Z,WAAYvC,OAoBzDwD,EAAe,SAACtS,EAAMxG,GAC1B0X,EAAS,2BACJza,GADG,IAENua,SAAS,EACThR,KAAMA,EACNiR,UAAWzX,MAsBTyZ,EAAsB,WAC1BrO,EAASD,MAAmB3K,MAAK,kBAAM+W,GAAW,OAG9CmC,EAAqB,WACzBhC,EAAS,2BACJza,GADG,IAENua,SAAS,EACThR,KAAM,GACNiR,UAAW,OAIf,OACE,yBAAK3pB,UAAU,aACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAK6yB,MAE1B,kBAAC,GAAD,CAAS/U,QAAQ,GACf,kBAAC,GAAD,CAAY/b,KAAK,eAAeiZ,KAAK,UAAUkN,cAAc,IAC7D,yBAAKrnB,UAAU,UACb,yBAAKA,UAAU,8BACZ1B,EAAMmuC,iBAAmB,kBAAC,KAAD,CAAM37B,GAAI,CAAE7M,SAAU3F,EAAMmuC,iBAAmBzsC,UAAU,eAAexB,KAAK,SAASuM,OAAO,UAA7F,cACzBzM,EAAMouC,iBAAmB,kBAAC,KAAD,CAAM57B,GAAI,CAAE7M,SAAU3F,EAAMouC,iBAAmB1sC,UAAU,eAAexB,KAAK,SAASuM,OAAO,UAA7F,cAC1B,kBAAC,GAAD,CAAUwc,UAAWA,EAAWC,QAASlpB,EAAMyrB,aAC/C,kBAAC,GAAD,CAAQ9iB,KAAK,SAAS2hB,WApEnB,SAAArqB,GAAW,IACd0R,EAAc3R,EAAd2R,UAEJA,EAAUxL,QAAUlG,IACtBkrB,GAAW,GpD/TS,SAAClrB,EAAQ2uC,GACjC,IAAMn3B,EAAW,IAAIC,SAQrB,OAPAD,EAASE,OAAO,SAAU1X,GAC1BwX,EAASE,OAAO,QAAS8E,MAEzBmyB,EAAkB9jC,SAAQ,SAAC+jC,GACzBp3B,EAASE,OAAO,aAAck3B,MAGzBh7B,KAAM+D,KAAK8E,GAAW,mBAAoBjF,GoDuT7C6S,CAAWrqB,EAAQ0R,GAChByC,MAAK,SAAAlJ,GACkB,MAAlBA,EAAOwS,SACTuL,GAAU,GACVrJ,IAAYxL,MAAK,kBAAMiZ,WAG1BnT,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,UAyDxB,kBAAC,GAAD,CAAgB9X,cAlMJ,SAACF,EAASI,GAC9BqG,EAAS,2BACJ5I,GADG,IAENmC,UACAI,YA8LoDJ,QAASnC,EAAMmC,QAASI,MAAOvC,EAAMuC,MAAOoG,KAAK,WAC/F,kBAAC,GAAD,CAAa2d,iBAAkB,SAAAiH,GAAI,OAAIrrB,EAAMsrB,iBAAiBD,SAIpE,yBAAK7rB,UAAU,iBACZ2J,EACG,kBAAC,EAAD,MACC,oCAlMO,WAAO,IACfoxB,EAAcz8B,EAAdy8B,UACFvxB,EAAS,GACT8iC,EAAK,eAAQhuC,EAAMguC,OAgBzB,OAdAvR,EAAU3xB,SAAQ,SAAAuoB,GAChBA,EAASxL,QAAUznB,IAA+BizB,EAASzL,KAEvDomB,EAAM3a,EAASzL,MACjByL,EAASrL,QAAUgmB,EAAM3a,EAASzL,MAElCyL,EAASrL,QAAU,EAGrB9c,EAAO1H,KAAK6vB,MAGKtG,EAAU7hB,GAET/G,KAAI,SAACC,EAAMV,GAC7B,OAAO,kBAAC,GAAD,CAAUsB,KAAMZ,EAAMC,IAAKX,EAAOgkB,UAAWA,EAAWR,UAAWA,EAAW0B,YAAa8D,OA+K3F+P,GACD,yBAAK/6B,UAAU,SAAS1B,EAAM0rB,eAGpC,kBAAC,GAAD,CACElB,OA1DsB,WAC1B,IAAK3Z,EAAMwa,UACT,OAAOiC,IpD1Ue,IAACxO,EoD6UzBwO,IACAnC,GAAW,IpD9UcrM,EoD+UZjO,EAAMwa,UpD9UdxX,KAAMC,IAAI4I,GAAWoC,EAAK,CAC/Be,OAAQ,CACNlf,MAAO8b,SoD6UNrI,MAAK,SAAA4F,GACJ,GAAIA,EAAIhV,KAAKpE,MAEX,OADAuqB,GAAW,GACJuB,EAAa1S,EAAIhV,KAAKpE,MAAO,IAEtCgf,IAAYxL,MAAK,kBAAMiZ,UAExBnT,OAAM,SAAAC,GAASgR,GAAW,GAAQtZ,QAAQjR,MAAMuZ,OA4C/CsQ,SAAU6C,EACV/C,KAAM1Z,EAAMua,QACZhR,KAAMvJ,EAAMuJ,UCrUL00B,I,OAlFE,SAAC,GAAwB,IAAtB9pC,EAAqB,EAArBA,KAAS9C,EAAY,wBAC/BrB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KAuBR,OACE,kBAAC,GAAD,CACEsH,GAAInD,EAAK4iB,KACTjlB,KAAMqC,EAAK+iB,KACXjB,QAAS9hB,EAAKgjB,QACdV,QAAStiB,EAAK6iB,QACdvZ,QAAStJ,EAAK8iB,UACdJ,UA5Bc,SAACZ,GACbA,EACF5kB,EAAMwlB,UAAU1iB,EAAK4iB,KAAM,OAE3B1lB,EAAMwlB,UAAU1iB,EAAK4iB,KAAM,WAyB3BV,UArBc,WAChBhlB,EAAMglB,UAAUliB,EAAK4iB,OAqBnBR,UAA8B,QAAnBpiB,EAAKkoC,WAEhB,kBAAC,GAAD,CAAWxrC,UAAU,6BACnB,yBAAKA,UAAU,SACb,kBAAC,GAAD,CAAWA,UAAU,YACnB,6BAAK,0BAAMA,UAAU,QAAQsD,EAAK+pC,UAEpC,kBAAC,GAAD,CAAWrtC,UAAU,YACnB,6BAAK,8BAAM,0BAAMA,UAAU,QAAQsD,EAAKgqC,UAAnC,MAAuDhqC,EAAKiqC,WAEnE,kBAAC,GAAD,CAAWvtC,UAAU,YACnB,+BAEF,kBAAC,GAAD,CAAWA,UAAU,YACnB,6BAAK,0BAAMA,UAAU,QAAQsD,EAAKkqC,QAEpC,kBAAC,GAAD,CAAWxtC,UAAU,YACnB,6BAAK,0BAAMA,UAAU,QAAQsD,EAAKwb,QAIxC,yBAAK9e,UAAU,WACb,6BACE,kBAAC,KAAD,CAAMA,UAAU,YAAY8Q,GAAE,+BAA0BxN,EAAK4iB,OAC1D/mB,EAAK8nB,KACL3jB,EAAK6iB,QAAU,0BAAMnmB,UAAU,gCAAhB,UAAgE,kBAAC,IAAD,CAAiBiG,KAAK,UAI1G,6BACE,4BACEjG,UAAU,YACVuB,QAAS,kBAlDG,WACpB,IAAI0qC,EAAqC,QAAnB3oC,EAAKkoC,UAAsB,YAAc,UAC/DhrC,EAAM0mB,YAAY5jB,EAAK4oC,aAAvB,kBAAgDD,EAAhD,oCAA2F3oC,EAAK4iB,OAgDzEimB,KACdhtC,EAAKmE,EAAK8oC,gBACV9oC,EAAK6iB,QAAU,0BAAMnmB,UAAU,mBAAhB,KAA6C,kBAAC,IAAD,CAAiBiG,KAAyB,QAAnB3C,EAAKkoC,UAAsB,SAAW,WAI9H,6BACE,4BAAQxrC,UAAU,cAAcuB,QAAS,WAnD/Cf,EAAM0mB,YAAY5jB,EAAK6jB,YAAvB,iDAA8E7jB,EAAK4iB,SAoD1E/mB,EAAKsM,OACLnI,EAAK6iB,QAAU,0BAAMnmB,UAAU,uBAAhB,OAAmD,kBAAC,IAAD,CAAiBiG,KAAK,gBC4TtFwnC,I,OAzXG,SAAAjtC,GAAU,IAClBrB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACAT,EAA+BgC,aAAY,SAAApC,GAAK,OAAIA,EAAMqB,uBAA1DjB,2BACAT,EAAmByC,aAAY,SAAApC,GAAK,OAAIA,EAAMmB,kBAA9CxB,eACFqf,EAAWI,cAJQ,EAKKhT,oBAAS,GALd,mBAKlBf,EALkB,KAKT8f,EALS,OAMC/e,mBAAS,CACjCgO,KAAM,GACNgR,SAAS,EACTC,UAAW,KATY,mBAMlBxa,EANkB,KAMXya,EANW,OAWClf,mBAAS,CACjCgjC,UAAW,GACXC,YAAa,GACb19B,UAAW,GACX29B,kBAAmB,GACnB7jB,YAAY,EACZtpB,QAAStB,EAAK6kB,OACdnjB,MAAO,aACPmpB,YAAa,KAnBU,mBAWlB1rB,EAXkB,KAWX4I,EAXW,KAsBzBrF,qBAAU,WAMR,OALAyb,EAASzC,GAAiB,oBAC1ByC,E9FnCK,CACL9e,KxCVkC,yBwCWlCC,MAAO,K8FkCP6e,E3EpCK,CACL9e,KzDVyC,gCyDWzCC,MAAO,K2EmCPyf,IAAYxL,MAAK,kBAAM+W,GAAW,MAE3B,WACLnM,E3ExCG,CACL9e,KzDVyC,gCyDWzCC,MAAO,Q2EwCN,IAEHoD,qBAAU,WAIR,OAHAmI,OAAOhH,iBAAiB,UAAWinB,GACnCjgB,OAAOhH,iBAAiB,UAAWknB,GAE5B,WACLlgB,OAAO7G,oBAAoB,UAAW8mB,GACtCjgB,OAAO7G,oBAAoB,UAAW+mB,MAEvC,CAACxrB,EAA4BT,EAAgBK,EAAMovC,YAEtD,IAAMzjB,EAAyB,SAAA9f,GACP,KAAlBA,EAAMxG,SAAoC,KAAlBwG,EAAMxG,SAC5B1F,GACFqf,E9FzDC,CACL9e,KxCVkC,yBwCWlCC,MAAO,K8F2De,KAAlB0L,EAAMxG,SACRwG,EAAMuG,iBACNyZ,KAC2B,KAAlBhgB,EAAMxG,UACfwG,EAAMuG,iBACN0Z,MAIEC,EAAqB,SAAAqjB,GACzBA,EAAU,GAAV,QAA0BA,EAAU,GAAV,KAC1BxmC,EAAS,2BAAK5I,GAAN,IAAaovC,eACrBpwB,EAAS+E,GAAqCqrB,EAAU,GAAV,QAG1CtjB,EAAkB,WACtB,IAAIsjB,EAAS,YAAOpvC,EAAMovC,WAM1B,GAAmC,KAA/BhvC,EAAJ,CAKA,IAAI4rB,EAAyBojB,EAAUnjB,WAAU,SAAAsjB,GAAQ,OAAIA,EAAS3nB,OAASxnB,KAE/E,GAAI4rB,IAA2BojB,EAAUjpC,OAAS,EAAG,CACnD,IAAIgmB,EAAqBijB,EAAUpjB,EAAyB,GAC5DojB,EAAUpjB,GAAV,QAA+C,GAC/CG,EAAkB,QAAcA,EAAkB,KAClD1nB,SAASqM,eAAeqb,EAAkB,MAAUC,eAAe,CAAEC,SAAU,SAAUC,MAAO,WAChG1jB,EAAS,2BAAK5I,GAAN,IAAaovC,eACrBpwB,EAAS+E,GAAqCoI,EAAkB,aAZhEJ,EAAmBqjB,IAgBjBvjB,EAAgB,WACpB,IAAIujB,EAAS,YAAOpvC,EAAMovC,WAM1B,GAAmC,KAA/BhvC,EAAJ,CAKA,IAAI4rB,EAAyBojB,EAAUnjB,WAAU,SAAAsjB,GAAQ,OAAIA,EAAS3nB,OAASxnB,KAE/E,GAA+B,IAA3B4rB,EAA8B,CAChC,IAAIG,EAAqBijB,EAAUpjB,EAAyB,GAC5DojB,EAAUpjB,GAAV,QAA+C,GAC/CG,EAAkB,QAAcA,EAAkB,KAClD1nB,SAASqM,eAAeqb,EAAkB,MAAUC,eAAe,CAAEC,SAAU,SAAUC,MAAO,WAChG1jB,EAAS,2BAAK5I,GAAN,IAAaovC,eACrBpwB,EAAS+E,GAAqCoI,EAAkB,aAZhEJ,EAAmBqjB,IAgBjBxjB,EAAgC,SAAA/f,GACpC,IAAIC,EAAuBrH,SAASsH,cAAc,gBAAkBtH,SAASsH,cAAc,kBAE3F,GAAI3L,IAA+B0L,EACjC,OAAQD,EAAMxG,SACZ,KAAK,EAAG,OAAOknB,IACf,KAAK,GAAI,OAAOC,IAChB,KAAK,GAAI,OAAOqhB,MAMhBrhB,EAAa,WACjBtqB,EAAMmB,QAAQG,KAAd,8BAA0CpD,KAGtCytC,EAAgB,WAAO,IAEvB2B,EADkBxvC,EAAdovC,UAC4BrkC,QAAO,SAAAwkC,GAAQ,OAAIA,EAAS3nB,OAASxnB,KAA4B,GACjGutC,EAAoD,QAAlC6B,EAAoBtC,UAAsB,YAAc,UAE9ExgB,EAAa8iB,EAAoB5B,aAArB,kBAA8CD,EAA9C,oCAAyFvtC,KAGjGmsB,EAAe,WAAO,IAEtBijB,EADkBxvC,EAAdovC,UAC4BrkC,QAAO,SAAAwkC,GAAQ,OAAIA,EAAS3nB,OAASxnB,KAA4B,GAErGssB,EAAa8iB,EAAoB3mB,YAArB,iDAA4EzoB,KAGpFwf,EAAY,WAEhB,OADAuL,GAAW,GACJ,IAAI9W,SAAQ,SAACwB,EAASqJ,GpD5JxBrL,KAAMC,IAAI4I,GARF,mCoDsKRtI,MAAK,SAAAlJ,GACJtC,EAAS,2BACJ5I,GADG,IAENovC,UAAWziB,EAAazhB,EAAOlG,KAAKA,MACpCqqC,YAAankC,EAAOlG,KAAKqqC,YACzB19B,UAAW,GACX29B,kBAAmBpkC,EAAOlG,KAAKsqC,kBAC/B5jB,YAAaxgB,EAAOlG,KAAK0mB,YACzBD,YAAY,KAEd5V,OAEDqE,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,UAI5BwS,EAAe,SAAA3nB,GACnB,IAAIoqC,EAAY,GAEhB,IAAK,IAAI5oC,KAAKxB,EACZA,EAAKwB,GAAL,KAAkBA,EAClBxB,EAAKwB,GAAL,QAAqBpG,IAA+BoG,EACpD4oC,EAAU5rC,KAAKwB,EAAKwB,IAGtB,OAAO4oC,GAgCHloB,EAAY,SAAAtkB,GAAS,IACjB+O,EAAyB3R,EAAzB2R,UAAWy9B,EAAcpvC,EAAdovC,UACfjkC,EAAS,YAAOwG,GAChB89B,EAAqBL,EACrBviB,EAAc1hB,EAAUvB,QAAQhH,GAEhCkqB,EAAe2iB,EAAmBxjB,WAAU,SAAApI,GAAE,OAAIA,EAAG+D,OAAShlB,KAClE6sC,EAAmB3iB,GAAchF,WAAa2nB,EAAmB3iB,GAAchF,WAE1D,IAAjB+E,EACF1hB,EAAUpH,OAAO8oB,EAAa,GAE9B1hB,EAAU3H,KAAKZ,GAGjBgG,EAAS,2BAAK5I,GAAN,IAAaovC,UAAWK,EAAoB99B,UAAWxG,MAG3D4hB,EAAY,SAAAje,GAAU,IAClBvM,EAAmBvC,EAAnBuC,MAAOJ,EAAYnC,EAAZmC,QACX6qB,EAAgBC,EAAO9qB,GAE3B,MAAc,eAAVI,EACKuM,EAAMrM,MAAK,SAAC8H,EAAGC,GAAJ,OAAWD,EAAEyiB,GAAiBxiB,EAAEwiB,GAAkB,EAAMxiB,EAAEwiB,GAAiBziB,EAAEyiB,IAAmB,EAAI,KAE/Gle,EAAMrM,MAAK,SAAC8H,EAAGC,GAAJ,OAAWD,EAAEyiB,GAAiBxiB,EAAEwiB,GAAkB,EAAMxiB,EAAEwiB,GAAiBziB,EAAEyiB,IAAmB,EAAI,MAIpHC,EAAS,SAAA9qB,GAAY,IACjBujB,EAA6C7kB,EAA7C6kB,OAAQC,EAAqC9kB,EAArC8kB,SAAUC,EAA2B/kB,EAA3B+kB,KAAMC,EAAqBhlB,EAArBglB,QAASxB,EAAYxjB,EAAZwjB,QAEzC,OAAQliB,GACN,KAAKujB,EAAQ,MAAO,SACpB,KAAKC,EAAU,MAAO,WACtB,KAAKC,EAAM,MAAO,OAClB,KAAK/kB,EAAK,cAAe,MAAO,KAChC,KAAKglB,EAAS,MAAO,UACrB,KAAKxB,EAAS,MAAO,YAKnBqD,EAAY,SAACvnB,EAAOD,GAAU,IAE9BwvC,EADoB1vC,EAAhBqvC,YAGK,QAATnvC,GACFwvC,EAAqBvvC,GAAS,EAE9BsmB,GAAYtmB,EAAO,YAChBiU,MAAK,WACJxL,EAAS,2BAAK5I,GAAN,IAAaqvC,YAAaK,QAEnCx1B,OAAM,SAAAC,GACLtI,QAAQjR,MAAMuZ,QAGlBu1B,EAAqBvvC,QAAS0D,EAE9B+iB,GAAezmB,EAAO,YACnBiU,MAAK,WACJxL,EAAS,2BAAK5I,GAAN,IAAaqvC,YAAaK,QAEnCx1B,OAAM,SAAAC,GACLtI,QAAQjR,MAAMuZ,QAKhB8O,EAAY,SAAAC,GAChB,GAAIA,EAAS,CACX,IAAIymB,EAAgB,GAEhBP,EAAYpvC,EAAMovC,UAAUjrC,KAAI,SAAAorC,GAGlC,OAFAI,EAAcnsC,KAAK+rC,EAAS3nB,MAC5B2nB,EAASznB,WAAY,EACdynB,KAGT3mC,EAAS,2BAAK5I,GAAN,IAAaovC,YAAWz9B,UAAWg+B,EAAelkB,WAAYvC,SACjE,CACL,IAAIkmB,EAAYpvC,EAAMovC,UAAUjrC,KAAI,SAAAorC,GAElC,OADAA,EAASznB,WAAY,EACdynB,KAGT3mC,EAAS,2BAAK5I,GAAN,IAAaovC,YAAWz9B,UAAW,GAAI8Z,WAAYvC,OAoBzDwD,EAAe,SAACtS,EAAMiR,GAC1BC,EAAS,2BAAKza,GAAN,IAAaua,SAAUva,EAAMua,QAAShR,OAAMiR,gBAqBhDgC,EAAsB,WAC1BrO,EAASD,MAAmB3K,MAAK,kBAAM+W,GAAW,OAG9CmC,EAAqB,WACzBhC,EAAS,2BAAKza,GAAN,IAAaua,SAAUva,EAAMua,QAAShR,KAAM,GAAIiR,UAAW,OAGrE,OACE,yBAAK3pB,UAAU,aACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAKqzB,YAE1B,kBAAC,GAAD,CAASvV,QAAQ,GACf,kBAAC,GAAD,CAAY9C,KAAK,iBAAiBjZ,KAAM/B,EAAK,YAAakoB,cAAc,IACxE,yBAAKrnB,UAAU,UACb,yBAAKA,UAAU,8BACb,kBAAC,KAAD,CAAM8Q,GAAG,0BAA0B9Q,UAAU,eAAexB,KAAK,UAAUW,EAAK,kBAChF,kBAAC,GAAD,CAAUooB,UAAWA,EAAWC,QAASlpB,EAAMyrB,aAC/C,kBAAC,GAAD,CAAQ9iB,KAAK,eAAe2hB,WAzDzB,SAAArqB,GAAW,IACd0R,EAAc3R,EAAd2R,UAEJA,EAAUxL,QAAUlG,IACtBkrB,GAAW,GpD/SiB,SAAClrB,EAAQmyB,GACzC,IAAM3a,EAAW,IAAIC,SAQrB,OAPAD,EAASE,OAAO,SAAU1X,GAC1BwX,EAASE,OAAO,QAAS8E,MAEzB2V,EAAItnB,SAAQ,SAAA4U,GACVjI,EAASE,OAAO,SAAU+H,MAGrB7L,KAAM+D,KAAK8E,GAAW,yBAA0BjF,GoDuSnDm4B,CAAmB3vC,EAAQ0R,GACxByC,MAAK,SAAAlJ,GACkB,MAAlBA,EAAOwS,SACTuL,GAAU,GACVrJ,IAAYxL,MAAK,kBAAMiZ,WAG1BnT,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,UA8CxB,kBAAC,GAAD,CAAgB9X,cAlLJ,SAACF,EAASI,GAC9BqG,EAAS,2BACJ5I,GADG,IAENmC,UACAI,YA8KoDJ,QAASnC,EAAMmC,QAASI,MAAOvC,EAAMuC,MAAOoG,KAAK,iBAC/F,kBAAC,GAAD,CAAa2d,iBAAkB,SAAAiH,GAAI,OAAIrrB,EAAMsrB,iBAAiBD,SAIpE,yBAAK7rB,UAAU,qBACZ2J,EACG,kBAAC,EAAD,MACC,oCAlLO,WAChB,IAAMgkC,EAAW,eAAQrvC,EAAMqvC,aAC3BD,EAAS,YAAOpvC,EAAMovC,WAc1B,OAZAA,EAAUtkC,SAAQ,SAAAykC,GAChBA,EAAS1nB,QAAUznB,IAA+BmvC,EAAS3nB,KAEvDynB,EAAYE,EAAS3nB,MACvB2nB,EAASvnB,QAAUqnB,EAAYE,EAAS3nB,MAExC2nB,EAASvnB,QAAU,KAIJ+E,EAAUqiB,GAETjrC,KAAI,SAACC,EAAMV,GAC7B,OAAO,kBAAC,GAAD,CAAUsB,KAAMZ,EAAMC,IAAKX,EAAOgkB,UAAWA,EAAWR,UAAWA,EAAW0B,YAAa8D,OAkK3F0iB,GACD,yBAAK1tC,UAAU,SAAS1B,EAAM0rB,eAGpC,kBAAC,GAAD,CACElB,OApDsB,WAC1B,IAAK3Z,EAAMwa,UACT,OAAOiC,IAGTA,IACAnC,GAAW,GACX5J,GAAa1Q,EAAMwa,WAChBjX,MAAK,SAAA4F,GACJ,GAAIA,EAAIhV,KAAKpE,MAEX,OADAuqB,GAAW,GACJuB,EAAa1S,EAAIhV,KAAKpE,MAAO,IAEtCgf,IAAYxL,MAAK,kBAAMiZ,UAExBnT,OAAM,SAAAC,GAASgR,GAAW,GAAQtZ,QAAQjR,MAAMuZ,OAsC/CsQ,SAAU6C,EACV/C,KAAM1Z,EAAMua,QACZhR,KAAMvJ,EAAMuJ,UCtYdsC,GAAWhR,OAAO+H,SAASC,OCmKlBm8B,I,OApJE,SAAA3tC,GACf,IAAMvB,EAAQ8H,aAAaC,QAAQ,SAC3B7H,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACFwC,EAAUC,cACV0b,EAAWI,cAJO,EAKgBhT,mBAAS,IALzB,mBAKjBiT,EALiB,KAKHC,EALG,OAMUlT,mBAAS,IANnB,mBAMjBmT,EANiB,KAMNC,EANM,OAOEpT,mBAAS,CACjCpH,KAAM,GACNqG,SAAS,EACTsjB,SAAU,KAVY,mBAOjB3uB,EAPiB,KAOV4I,EAPU,KAaxBrF,qBAAU,WACR,IACQhD,EADUof,KAAG7K,MAAMzR,EAAQoQ,SAAS7N,OAAQ,CAAEmP,mBAAmB,IACjExU,KAERye,EAASzC,GAAiB,gBAC1ByC,EhG1BK,CACL9e,KxCVkC,yBwCWlCC,MAAO,KgG0BHI,IACFqI,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAC9BuU,EAAUrf,MAEX,IAEH,IAAMqf,EAAY,SAAArf,GDMO,IAAAouB,KCLXpuB,EDMPsT,KAAMC,IAAI4I,GA7CC,8BA6CuB,CACvCmD,OAAQ,CACNtf,KAAMouB,EACNhuB,MAAO8b,SCRNrI,MAAK,SAAAgC,GACJxN,EAAS,2BACJ5I,GADG,IAEN2uB,SAAUpuB,EACVyE,KAAMoR,EAASpR,KACfqG,SAAS,QAGZ6O,OAAM,SAAAC,GACLvR,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAC9BwG,QAAQjR,MAAMuZ,OAId4F,EAAoB,SAAAlU,GACxBA,EAAMuG,iBACN,IAFiC,EAE7B09B,EAAc,GAFe,eAIN,IAAIp4B,SAAS7L,EAAMY,QAASwT,WAJtB,IAIjC,2BAAkE,CAAC,IAAD,yBAAxDrd,EAAwD,KAAlDzC,EAAkD,KAChE2vC,EAAYltC,GAAQzC,GALW,8BAQjC2vC,EAAW,WAAiB9vC,EAAM2uB,SAEM,IAApCtf,OAAO6Q,KAAK4vB,GAAa3pC,QAAgB2pC,EAAY3vB,cAAgB9Q,SACvEzG,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KDZV,SAACrG,EAAMzE,GAC/B,IAAI6f,EAAiB,IAAI1I,SAEzB,IAAK,IAAIrT,KAAOW,EACdob,EAAezI,OAAOtT,EAAKW,EAAKX,IAGlC,OAAOwP,KAAM+D,KAAK8E,GA3DE,8BA2DwB0D,EAAgB,CAC1DP,OAAQ,CACNtf,OACAI,MAAO8b,QCIPszB,CAAWD,EAAa9vC,EAAM2uB,UAC3Bva,MAAK,SAAAlJ,GACJ,GAAsB,MAAlBA,EAAOwS,OAAgB,CAAC,IAAD,EAC8BxS,EAAOlG,KAA3Cqa,EADM,EACjBiB,UAAiCf,EADhB,EACQgB,OAE7BlB,GACFC,EAAgBD,GAChBG,EAAa,MAEbF,EAAgB,IAChBE,EAAaD,QAIlBnL,MAAK,kBAAMwL,EAAU5f,EAAM2uB,aAC3BzU,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,QAclC,OACE,yBAAKzY,UAAU,2BACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAKmvC,QAE1B,kBAAC,GAAD,CAASrxB,QAAQ,GACf,8BACA,yBAAKjd,UAAU,uBAAuBb,EAAK,iBAC3C,yBAAKa,UAAU,SAAQ,0BAAMA,UAAU,iBAAiB2d,EAAe,kBAAC,IAAD,CAAiB1X,KAAK,yBAA4B,GAAlG,IAAuG0X,IAC9H,yBAAK3d,UAAU,WACb,0BAAMA,UAAU,cAAc6d,EAAY,kBAAC,IAAD,CAAiB5X,KAAK,yBAA4B,GAA5F,IAAgG,8BAAO8Y,KAAWlB,IAAlH,OAGJ,kBAAC,GAAD,CAAe5c,KAAM3C,EAAMgF,KAAKrC,KAAM2E,KAAMtH,EAAMgF,KAAKsC,KAAMoW,OAAQ1d,EAAMgF,KAAK0Y,QAC7E1d,EAAMqL,QAAU,kBAAC,EAAD,MACf,0BAAMqV,SAAU,SAAA7U,GAAK,OAAIkU,EAAkBlU,IAAQ1D,GAAG,YACpD,2BAAOjI,KAAK,SAAS0C,KAAK,OAAOzC,MAAM,SACvC,2BAAOD,KAAK,SAAS0C,KAAK,QAAQzC,MAAOQ,IAEzC,kBAAC,GAAD,CAAWwH,GAAG,WAAWvF,KAAK,SAASmQ,MAAOlS,EAAI,SAAcV,MAAOH,EAAM2uB,SAAUhf,UAAQ,IAE/F,kBAAC,GAAD,CAAU/M,KAAK,eAEf,kBAAC,GAAD,CAAWuF,GAAG,QAAQvF,KAAK,UAAUmQ,MAAOlS,EAAI,MAAWV,MAAOH,EAAMgF,KAAKusB,QAE7E,kBAAC,GAAD,CACEjX,QApCmC,SAAAqxB,GAC7C,IAAIzgC,EAAS,GAEb,IAAK,IAAI1E,KAAKmlC,EACZzgC,EAAO1H,KAAKgD,GAGd,OAAO0E,EA6BY+kC,CAAuCjwC,EAAMgF,KAAKkrC,UAC3DhqC,SAAUlG,EAAMgF,KAAK61B,QACrBj4B,KAAK,YACLuF,GAAG,WACH4K,MAAOlS,EAAI,UAEb,kBAAC,GAAD,CACEyZ,QAASta,EAAMgF,KAAKy/B,UACpBv+B,SAAUlG,EAAMgF,KAAK0/B,SACrB9hC,KAAK,aACLuF,GAAG,YACH4K,MAAOlS,EAAI,WAEb,kBAAC,GAAD,CAAWsH,GAAG,aAAavF,KAAK,UAAUmQ,MAAOlS,EAAK,cAAeV,MAAOH,EAAMgF,KAAKmrC,QAEvF,kBAAC,GAAD,CAAWhoC,GAAG,YAAYvF,KAAK,UAAUmQ,MAAOlS,EAAK,aAAcV,MAAOH,EAAMgF,KAAKorC,QAErF,kBAAC,GAAD,CACE91B,QAASta,EAAMgF,KAAKi3B,OACpB/1B,SAAUlG,EAAMgF,KAAKk3B,MACrBt5B,KAAK,UACLuF,GAAG,QACH4K,MAAOlS,EAAK,gBAEd,kBAAC,GAAD,CAAaq5B,QAASl6B,EAAMgF,KAAK83B,cAEjC,yBAAKp7B,UAAU,mBACb,4BAAQxB,KAAK,SAASwB,UAAU,OAAOb,EAAK8Z,MAC5C,4BAAQza,KAAK,SAASwB,UAAU,OAAOuB,QAAS,kBAAMI,EAAQG,KAAK,iBAAiB3C,EAAKkgB,YCjBxFsvB,I,OA3HD,WACZ,IAAM1vC,EAAQ8H,aAAaC,QAAQ,SAC3B7H,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACFwC,EAAUC,cACV0b,EAAWI,cAJC,EAKsBhT,mBAAS,IAL/B,mBAKXiT,EALW,KAKGC,EALH,OAMgBlT,mBAAS,IANzB,mBAMXmT,EANW,KAMAC,EANA,OAOQpT,mBAAS,CACjCpH,KAAM,GACNqG,SAAS,IATO,mBAOXrL,EAPW,KAOJ4I,EAPI,KAYlBrF,qBAAU,WACRyb,EAASzC,GAAiB,kBAC1ByC,EjGpBK,CACL9e,KxCVkC,yBwCWlCC,MAAO,KiGoBPyI,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAC9BuU,MACC,IAEH,IAAMA,EAAY,WAChB6B,GAAe,SACZrN,MAAK,SAAAgC,GACAA,EAASpR,KAAKsd,OAAO/K,SAAS,UAChClU,EAAQG,KAAK,gBAGfoF,EAAS,2BAAK5I,GAAN,IAAagF,KAAMoR,EAASpR,KAAMqG,SAAS,QAEpD6O,OAAM,SAAAC,GACLvR,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAC9BwG,QAAQjR,MAAMuZ,OA6BpB,OACE,yBAAKzY,UAAU,4BACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAK0hB,UAE1B,kBAAC,GAAD,CAAS5D,QAAQ,GACf,8BACA,yBAAKjd,UAAU,uBACZb,EAAK,sBADR,MACkCb,EAAMgF,KAAKwd,cAE7C,yBAAK9gB,UAAU,SACb,0BAAMA,UAAU,iBACb2d,EAAe,kBAAC,IAAD,CAAiB1X,KAAK,yBAA4B,GADpE,IACyE0X,IAG3E,yBAAK3d,UAAU,WACb,0BAAMA,UAAU,cACb6d,EAAY,kBAAC,IAAD,CAAiB5X,KAAK,yBAA4B,GADjE,IACqE,8BAAO8Y,KAAWlB,OAI3F,kBAAC,GAAD,KACGvf,EAAMqL,QAAU,kBAAC,EAAD,MACf,0BAAMqV,SAAU,SAAA7U,GAAK,OAhDH,SAAAA,GACxBA,EAAMuG,iBACN,IAFiC,EAE7BqQ,EAAiB,GAFY,eAIN,IAAI/K,SAAS7L,EAAMY,QAASwT,WAJtB,IAIjC,2BAAkE,CAAC,IAAD,yBAAxDrd,EAAwD,KAAlDzC,EAAkD,KAChEsiB,EAAe7f,GAAQzC,GALQ,8BAQU,IAAvCkP,OAAO6Q,KAAKuC,GAAgBtc,QAAgBsc,EAAetC,cAAgB9Q,SAC7EzG,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAE9BmW,GAAciB,EAAgB,UAC3BrO,MAAK,SAAAlJ,GACJ,GAAsB,MAAlBA,EAAOwS,OAAgB,CAAC,IAAD,EACKxS,EAAOlG,KAA7Bsb,EADiB,EACjBA,UAAWC,EADM,EACNA,OAEnBjB,EAAgBgB,GAAa,IAC7Bd,EAAae,GAAU,QAG1BnM,MAAK,kBAAMwL,OACX1F,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,OA2BD4F,CAAkBlU,IAAQ1D,GAAG,cACpD,2BAAOjI,KAAK,SAAS0C,KAAK,OAAOzC,MAAM,SACvC,2BAAOD,KAAK,SAAS0C,KAAK,QAAQzC,MAAOQ,IAEzC,kBAAC,GAAD,CACEuM,aAAclN,EAAMgF,KAAKsV,QACzBvH,MAAO/S,EAAMgF,KAAKse,aAClB1gB,KAAK,YACLuF,GAAG,YACH6C,KAAK,OAEP,6BAEA,kBAAC,GAAD,CACEkC,aAAclN,EAAMgF,KAAKsd,OACzBvP,MAAO/S,EAAMgF,KAAKoe,YAClBxgB,KAAK,WACLuF,GAAG,WACH6C,KAAK,OAEP,6BAEA,kBAAC,GAAD,CACE+H,MAAOlS,EAAI,QACXuc,gBAAgB,EAChBxa,KAAK,YACLuF,GAAG,YAEL,yBAAKzG,UAAU,mBACb,4BAAQxB,KAAK,SAASwB,UAAU,OAAOb,EAAK8Z,MAC5C,4BAAQza,KAAK,SAASwB,UAAU,OAAOuB,QAAS,kBAAMI,EAAQG,KAAK,mBAAmB3C,EAAKkgB,YCgG1FuvB,I,OAhND,SAAC,GAA0B,IAAD,IAAvBhI,mBAAuB,MAAT,GAAS,EAChC3nC,EAAQ8H,aAAaC,QAAQ,SAC3B7H,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACFwC,EAAUC,cACV0b,EAAWI,cAJqB,EAKEhT,mBAAS,IALX,mBAK/BiT,EAL+B,KAKjBC,EALiB,OAMJlT,mBAAS,IANL,mBAM/BmT,EAN+B,KAMpBC,EANoB,OAORpT,oBAAS,GAPD,mBAO/ByV,EAP+B,KAOtBC,EAPsB,OAQZ1V,mBAAS,CACjCpH,KAAM,GACNqG,SAAS,EACT0W,cAAc,EACdC,iBAAiB,IAZmB,mBAQ/BhiB,EAR+B,KAQxB4I,EARwB,KAetCrF,qBAAU,WACRyb,EAASzC,GAAiB,kBAC1ByC,ElGxBK,CACL9e,KxCVkC,yBwCWlCC,MAAO,KkGwBFmoC,GACHjlC,EAAQG,KAAK,gBAGfoF,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAC9BuU,MACC,IAEH,IAAMA,EAAY,WAChB6B,GAAe,SACZrN,MAAK,SAAAgC,GACAA,EAASpR,KAAKsd,OAAO/K,SAAS,UAChClU,EAAQG,KAAK,gBAGfoF,EAAS,2BAAK5I,GAAN,IAAagF,KAAMoR,EAASpR,KAAMqG,SAAS,QAEpD6O,OAAM,SAAAC,GACLvR,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAC9BwG,QAAQjR,MAAMuZ,OAgCd8H,EAAgB,WACpBrZ,EAAS,2BACJ5I,GADG,IAENgiB,iBAAkBhiB,EAAMgiB,gBACxBD,cAAe/hB,EAAM+hB,iBAInBG,EAAiB,SAAC,GAAmB,IAAjB/Z,EAAgB,EAAhBA,GAAIhI,EAAY,EAAZA,MAC5B,GAAKA,EAAL,CAEA,IAAIgiB,EAAS,IAAIC,OAAJ,WAAeja,EAAf,iBAA0BnI,EAAMgF,KAAKmD,GAArC,KAA6C,MACpDka,EAAgBriB,EAAMgF,KAAKsd,OAAOlS,QAAQ+R,EAA1B,cAAyChiB,IAC/DyI,EAAS,2BAAK5I,GAAN,IAAagF,KAAK,2BAAMhF,EAAMgF,MAAb,gBAAmBsd,OAAQD,GAAgBla,EAAKhI,SAG3E,OACE,yBAAKuB,UAAU,4BACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAK0hB,UAE1B,kBAAC,GAAD,CAAS5D,QAAQ,GACf,8BACA,yBAAKjd,UAAU,uBAAuBb,EAAK,sBAA3C,MAAqEb,EAAMgF,KAAKwd,cAChF,yBAAK9gB,UAAU,SACb,0BAAMA,UAAU,iBACb2d,EAAe,kBAAC,IAAD,CAAiB1X,KAAK,yBAA4B,GADpE,IACyE0X,IAG3E,yBAAK3d,UAAU,WACb,0BAAMA,UAAU,cACb6d,EAAY,kBAAC,IAAD,CAAiB5X,KAAK,yBAA4B,GADjE,IACqE,8BAAO8Y,KAAWlB,OAI3F,kBAAC,GAAD,KACGvf,EAAMqL,QAAU,kBAAC,EAAD,MACf,0BAAMqV,SAAU,SAAA7U,GAAK,OAjEH,SAAAA,GACxBA,EAAMuG,iBACN,IAFiC,EAE7BqQ,EAAiB,GAFY,eAIN,IAAI/K,SAAS7L,EAAMY,QAASwT,WAJtB,IAIjC,2BAAkE,CAAC,IAAD,yBAAxDrd,EAAwD,KAAlDzC,EAAkD,KAChEsiB,EAAe7f,GAAQzC,GALQ,8BAQU,IAAvCkP,OAAO6Q,KAAKuC,GAAgBtc,QAAgBsc,EAAetC,cAAgB9Q,SAC7EzG,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAE9BoX,EAAc,SAAeziB,EAAMgF,KAAKsd,OACxCG,EAAc,UAAgBZ,EAAU,MAAQ,KAEhDL,GAAciB,EAAD,WAAqB6lB,IAC/Bl0B,MAAK,SAAAlJ,GACJ,GAAsB,MAAlBA,EAAOwS,OAAgB,CAAC,IAAD,EACKxS,EAAOlG,KAA7Bsb,EADiB,EACjBA,UAAWC,EADM,EACNA,OAEnBjB,EAAgBgB,GAAa,IAC7Bd,EAAae,GAAU,QAG1BnM,MAAK,kBAAMwL,OACX1F,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,OAyCD4F,CAAkBlU,IAAQ1D,GAAG,cACpD,2BAAOjI,KAAK,SAAS0C,KAAK,OAAOzC,MAAM,SACvC,2BAAOD,KAAK,SAAS0C,KAAK,QAAQzC,MAAOQ,KAGtCX,EAAM+hB,cACL,4BAAQ7hB,KAAK,SAAS+C,QAAS,kBAAMgf,MAClCphB,EAAK,iBACLb,EAAM+hB,aAAe,kBAAC,IAAD,CAAiBpa,KAAK,aAAgB,kBAAC,IAAD,CAAiBA,KAAK,gBAMtF3H,EAAM+hB,cACJ,oCACE,kBAAC,GAAD,CACE5Z,GAAG,kBACH4K,MAAM,kBACNnQ,KAAK,oBACL4J,SAAU,SAAAX,GAAK,OAAIqW,EAAerW,EAAMY,SACxCtM,MAAOH,EAAMgF,KAAKurC,kBAEpB,kBAAC,GAAD,CACEpoC,GAAG,uBACH4K,MAAM,yBACNnQ,KAAK,yBACL4J,SAAU,SAAAX,GAAK,OAAIqW,EAAerW,EAAMY,SACxCtM,MAAOH,EAAMgF,KAAKwrC,uBAEpB,kBAAC,GAAD,CACEroC,GAAG,eACH4K,MAAM,iBACNnQ,KAAK,iBACL4J,SAAU,SAAAX,GAAK,OAAIqW,EAAerW,EAAMY,SACxCtM,MAAOH,EAAMgF,KAAKyrC,eAEpB,kBAAC,GAAD,CACEtoC,GAAG,sBACH4K,MAAM,wBACNnQ,KAAK,wBACL4J,SAAU,SAAAX,GAAK,OAAIqW,EAAerW,EAAMY,SACxCtM,MAAOH,EAAMgF,KAAK0rC,sBAEpB,kBAAC,GAAD,CACEvoC,GAAG,iBACH4K,MAAM,mBACNnQ,KAAK,mBACL4J,SAAU,SAAAX,GAAK,OAAIqW,EAAerW,EAAMY,SACxCtM,MAAOH,EAAMgF,KAAK2rC,uBAMvB3wC,EAAMgiB,iBACL,4BAAQ9hB,KAAK,SAAS+C,QAAS,kBAAMgf,MAClCphB,EAAK,oBACLb,EAAMgiB,gBAAkB,kBAAC,IAAD,CAAiBra,KAAK,aAAgB,kBAAC,IAAD,CAAiBA,KAAK,gBAK3F,6BACA,6BAGE3H,EAAMgiB,iBACJ,oCACE,kBAAC,GAAD,CACE9U,aAAclN,EAAMgF,KAAKsd,OACzBvP,MAAO/S,EAAMgF,KAAKoe,YAClB5W,SAAU,SAAA1H,GAAC,OAAI8D,EAAS,2BAAK5I,GAAN,IAAagF,KAAK,2BAAMhF,EAAMgF,MAAb,IAAmBsd,OAAQxd,EAAE2H,OAAOtM,YAC5EyC,KAAK,WACLuF,GAAG,WACH6C,KAAK,OAEP,6BAEA,kBAAC,GAAD,CACE+H,MAAOlS,EAAI,QACXuc,gBAAgB,EAChB5Q,SAAU,SAAA8B,GAAO,OAAIwT,EAAWxT,IAChC1L,KAAK,YACLuF,GAAG,aAKX,yBAAKzG,UAAU,mBACb,4BAAQxB,KAAK,SAASwB,UAAU,OAAOb,EAAK8Z,MAC5C,4BAAQza,KAAK,SAASwB,UAAU,OAAOuB,QAAS,kBAAMI,EAAQG,KAAK,mBAAmB3C,EAAKkgB,YCrNnGrE,GAAWhR,OAAO+H,SAASC,OC2GlB0c,I,cAvGS,SAAAluB,GAAU,IAAD,QACvBrB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KADuB,EAELuL,mBAAS,CACjC6tB,kBAAmB,GACnBG,OAAQl4B,EAAMk4B,SAJe,mBAExBp6B,EAFwB,KAEjB4I,EAFiB,KAO/BrF,qBAAU,WACR,GAAIrB,EAAMk4B,OAAOj0B,OAAQ,CACvB,IAAIg0B,EAAwBj4B,EAAMk4B,OAAOj2B,KAAI,SAACi2B,EAAQ12B,GAAT,OAAmBA,EAAQ,KACxEkF,EAAS,2BAAK5I,GAAN,IAAai6B,kBAAmBE,QAEzC,IAEH,IAqBME,EAAqB,SAAA32B,GACzB,IAAI42B,EAAoB,YAAOt6B,EAAMi6B,mBAErCK,EAAqBv2B,OAAOL,EAAQ,EAAG,GAEvCkF,EAAS,2BAAK5I,GAAN,IAAai6B,kBAAmBK,MAqB1C,OACE,6BACE,yBAAK54B,UAAU,uBACb,2BAAOmb,QAAQ,YAAf,UACGhc,EAAK,0BADR,QAC8B,kBAC5B,0BAAMa,UAAU,YAAhB,cAA6Bb,EAAK,qBAAlC,QAAmD,aAAnD,MAEF,2BACEX,KAAK,OACLwB,UAAU,eACVyG,GAAG,WACH0qB,UAAQ,EACR3lB,aAhBoB1F,MAAQopC,IAAI,EAAG,QAAQC,OAAO,cAiBlDjuC,KAAK,WAGT,yBAAKlB,UAAU,cACb,2BAAOmb,QAAQ,gBAAf,OACA,2BACE3c,KAAK,OACLwB,UAAU,eACVyG,GAAG,eACH0qB,UAAQ,EACR3lB,aAAa,QACbtK,KAAK,WAGT,yBAAKlB,UAAU,2BACb,2BAAOmb,QAAQ,SAAf,UAAwBhc,EAAK,uBAA7B,QAAgD,gBA1E7Cb,EAAMi6B,kBAAkB91B,KAAI,SAACo2B,EAAY72B,GAAW,IAAD,EACxD,OACE,yBAAKhC,UAAU,4BAA4B2C,IAAKX,GAC9C,2BACExD,KAAK,OACLwB,UAAU,eACVyG,GAAE,cAASoyB,GACXrtB,aAAclN,EAAMo6B,OAAO12B,IAAU,GACrCd,KAAI,cAAS23B,KACf,4BACEr6B,KAAK,SACLwB,UAAW64B,EAAa,EAAI,OAAS,cACrCt3B,QAAS,kBAAMo3B,EAAmBE,KAHpC,UAIG15B,EAAK6oB,cAJR,QAIkB,eAiEtB,4BACExpB,KAAK,SACLwB,UA1CsC,IAAnC1B,EAAMi6B,kBAAkB9zB,OAAe,OAAS,gBA2CnDlD,QAAS,kBArDO,WACpB,IAAIu3B,EAAoBx6B,EAAMi6B,kBAAkB9zB,OAC5Cm0B,EAAoB,YAAOt6B,EAAMi6B,mBAErCK,EAAqB92B,KAAKg3B,EAAoB,GAE9C5xB,EAAS,2BAAK5I,GAAN,IAAai6B,kBAAmBK,KA+CrBG,KAHjB,UAIG55B,EAAK,mCAJR,QAIuC,+BCgD9BiwC,GArIa,SAAA5uC,GAAU,IAAD,YAC3BrB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACFme,EAAWI,cACXze,EAAQ8H,aAAaC,QAAQ,SAC7BrF,EAAUC,cAJmB,EAKT8I,mBAAS,CACjCf,SAAS,EACT0mB,qBAAqB,EACrBxS,UAAW,GACXoO,OAAQ,GACRtO,aAAc,GACd+a,OAAQ,KAXyB,mBAK5Bp6B,EAL4B,KAKrB4I,EALqB,KAcnCrF,qBAAU,WACRyb,EAASzC,GAAiB,eAC1ByC,ErGxBK,CACL9e,KxCVkC,yBwCWlCC,MAAO,KqGwBPyI,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KF9BzBwI,KAAMC,IAAI4I,GAHE,4BEmCdtI,MAAK,SAAAlJ,GACAA,EAAOlG,KAAKmB,QACdyC,EAAS,2BAAK5I,GAAN,IAAao6B,OAAQlvB,EAAOlG,KAAMqG,SAAS,QAGtD6O,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,QAC7B,IAEH,IAAM4F,EAAoB,SAAAlU,GACxBA,EAAMuG,iBACN,IAFiC,EAE7By8B,EAAmB,GAFU,eAIN,IAAIn3B,SAAS7L,EAAMY,QAASwT,WAJtB,IAIjC,2BAAkE,CAAC,IAAD,yBAAxDrd,EAAwD,KAAlDzC,EAAkD,KAChE0uC,EAAiBjsC,GAAQzC,GALM,8BAQY,IAAzCkP,OAAO6Q,KAAK2uB,GAAkB1oC,QAAgB0oC,EAAiB1uB,cAAgB9Q,SACjFzG,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KjBDD,SAAArG,GACjC,IAAIob,EAAiB,IAAI1I,SAEzB,IAAK,IAAIrT,KAAOW,EACdob,EAAezI,OAAOtT,EAAKW,EAAKX,IAGlC,OAAOwP,KAAM+D,KAAK8E,GAzDC,4BAyDwB0D,GiBLvC2wB,CAAoBlC,GACjBz6B,MAAK,SAAAlJ,GACJ,GAAsB,MAAlBA,EAAOwS,OAAgB,CAAC,IAAD,EAC8BxS,EAAOlG,KAA3Cqa,EADM,EACjBiB,UAAiCf,EADhB,EACQgB,OAE7BlB,EACFzW,EAAS,2BAAK5I,GAAN,IAAaqf,eAAcE,YAAWlU,SAAS,KAEvD2T,EAASD,MAAmB3K,MAAK,WAC/BxL,EAAS,2BAAK5I,GAAN,IAAauf,YAAWF,aAAc,GAAIhU,SAAS,YAKlE6O,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,QAclC,OACE,yBAAKzY,UAAU,yBACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAK0oC,OAE1B,kBAAC,GAAD,CAAS5qB,QAAQ,GACf,8BACA,yBAAKjd,UAAU,uBAAf,UAAsCb,EAAK,4BAA3C,QAAmE,qBACnE,yBAAKa,UAAU,SACb,0BAAMA,UAAU,iBACb1B,EAAMqf,aAAe,kBAAC,IAAD,CAAiB1X,KAAK,yBAA4B,GACvE3H,EAAMqf,eAEX,yBAAK3d,UAAU,WACb,0BAAMA,UAAU,cACb1B,EAAMuf,UAAY,kBAAC,IAAD,CAAiB5X,KAAK,yBAA4B,GACrE,8BAAO8Y,KAAWzgB,EAAMuf,eAK9B,kBAAC,GAAD,KACGvf,EAAMqL,QAAU,kBAAC,EAAD,MACf,0BAAMqV,SAAU,SAAA7U,GAAK,OAAIkU,EAAkBlU,KACzC,2BAAO3L,KAAK,SAAS0C,KAAK,KAAKzC,MAAM,QACrC,2BAAOD,KAAK,SAAS0C,KAAK,QAAQzC,MAAOQ,IAEzC,yBAAKe,UAAU,cACb,2BAAOmb,QAAQ,UAAf,UAAyBhc,EAAK0jB,cAA9B,QAAwC,UACxC,2BACErkB,KAAK,OACLwB,UAAU,eACVyG,GAAG,SACH0qB,UAAQ,EACRjwB,KAAK,cAGT,yBAAKlB,UAAU,cACb,2BAAOmb,QAAQ,cAAf,UAA6Bhc,EAAK,qBAAlC,QAAmD,cACnD,2BACEX,KAAK,OACLwB,UAAU,eACVyG,GAAG,aACH0qB,UAAQ,EACRjwB,KAAK,UAGT,yBAAKlB,UAAU,sCACb,4BAAQxB,KAAK,SAAS+C,QAAS,WAnDzC2F,EAAS,2BAAK5I,GAAN,IAAa+xB,qBAAsB/xB,EAAM+xB,yBAmDvC,UACGlxB,EAAK,2BADR,QAC+B,mBAC5Bb,EAAM+xB,oBAAsB,kBAAC,IAAD,CAAiBpqB,KAAK,eAAkB,kBAAC,IAAD,CAAiBA,KAAK,eA5D3E,WAC5B,GAAI3H,EAAM+xB,oBACR,OAAO,kBAAC,GAAD,CAAiBtD,WAAYzuB,EAAMyuB,WAAY2L,OAAQp6B,EAAMo6B,OAAQzM,OAAQ3tB,EAAM2tB,OAAQmD,SAAU9wB,EAAM8wB,WA8D3GkC,GAED,yBAAKtxB,UAAU,mBACb,4BAAQxB,KAAK,SAASwB,UAAU,OAAhC,UAAuCb,EAAKugB,WAA5C,QAAmD,OACnD,4BAAQlhB,KAAK,SAASwB,UAAU,OAAOuB,QAAS,kBAAMI,EAAQG,KAAK,gBAAnE,UAAmF3C,EAAKkgB,YAAxF,QAAgG,a,OC5H/F,SAASiwB,GAAa9uC,GAAQ,IACnCrB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACFme,EAAWI,cACXze,EAAQ8H,aAAaC,QAAQ,SAC7BrF,EAAUC,cAJ0B,EAKhB8I,mBAAS,CACjCpH,KAAM,GACN8kC,cAAe,CACb,IACA,OACA,KACA,QACA,KACA,MACA,MACA,SACA,MACA,WACA,MACA,MACA,OACA,OAEFz+B,SAAS,EACTkU,UAAW,GACXF,aAAc,KAzB0B,mBAKnCrf,EALmC,KAK5B4I,EAL4B,KA4B1CrF,qBAAU,WACRyb,EAASzC,GAAiB,eAC1ByC,EtGtCK,CACL9e,KxCVkC,yBwCWlCC,MAAO,OsGqCN,IAEH,IAAM4f,EAAoB,SAAAlU,GACxBA,EAAMuG,iBACN,IAFiC,EAE7B6+B,EAAe,GAFc,eAIN,IAAIv5B,SAAS7L,EAAMY,QAASwT,WAJtB,IAIjC,2BAAkE,CAAC,IAAD,yBAAxDrd,EAAwD,KAAlDzC,EAAkD,KAChE8wC,EAAaruC,GAAQzC,GALU,8BAQjC8wC,EAAY,OAAa,MACzBA,EAAY,MAAYtwC,EACxBswC,EAAY,SAAe/uC,EAAMyrB,OAEQ,IAArCte,OAAO6Q,KAAK+wB,GAAc9qC,QAAgB8qC,EAAa9wB,cAAgB9Q,SACzEzG,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KlBAK,SAAArG,GACvC,IAAIob,EAAiB,IAAI1I,SAEzB,IAAK,IAAIrT,KAAOW,EACdob,EAAezI,OAAOtT,EAAKW,EAAKX,IAGlC,OAAOwP,KAAM+D,KAAK8E,GAnEC,4BAmEwB0D,GkBNvC8wB,CAA0BD,GACvB78B,MAAK,SAAAlJ,GACJ,GAAsB,MAAlBA,EAAOwS,OAAgB,CAAC,IAAD,EAC8BxS,EAAOlG,KAA3Cqa,EADM,EACjBiB,UAAiCf,EADhB,EACQgB,OAE7BlB,EACFzW,EAAS,2BAAK5I,GAAN,IAAaqf,eAAcE,YAAWlU,SAAS,KAEvD2T,EAASD,MAAmB3K,MAAK,WAC/BxL,EAAS,2BAAK5I,GAAN,IAAauf,YAAWF,aAAc,GAAIhU,SAAS,YAKlE6O,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,QAIlC,OACE,yBAAKzY,UAAU,gCACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAK0oC,OAE1B,kBAAC,GAAD,CAAS5qB,QAAQ,GACf,8BACA,yBAAKjd,UAAU,uBAAuBb,EAAK,sBAC3C,yBAAKa,UAAU,SACb,0BAAMA,UAAU,iBACb1B,EAAMqf,aAAe,kBAAC,IAAD,CAAiB1X,KAAK,yBAA4B,GACvE3H,EAAMqf,eAEX,yBAAK3d,UAAU,WACb,0BAAMA,UAAU,cACb1B,EAAMuf,UAAY,kBAAC,IAAD,CAAiB5X,KAAK,yBAA4B,GACrE,8BAAO8Y,KAAWzgB,EAAMuf,eAI9B,kBAAC,GAAD,KACGvf,EAAMqL,QAAU,kBAAC,EAAD,MACf,0BAAMqV,SAAU,SAAA7U,GAAK,OAAIkU,EAAkBlU,KACzC,kBAAC,GAAD,CACEkH,MAAOlS,EAAI,OACXV,MAAO+B,EAAMyrB,OACb/qB,KAAK,WACLuF,GAAG,SACHwH,UAAQ,IAEV,kBAAC,GAAD,CACEoD,MAAOlS,EAAI,OACX+B,KAAK,QACLuF,GAAG,WAEL,kBAAC,GAAD,CACEmS,QAASta,EAAM8pC,cACf/2B,MAAOlS,EAAI,KACX+B,KAAK,SACLuF,GAAG,SAEL,kBAAC,GAAD,CACE4K,MAAOlS,EAAK,eACZ+B,KAAK,QACLuF,GAAG,QAEL,kBAAC,GAAD,CACEyU,cAAa,WAAM/b,EAAI,SAAV,KACbkS,MAAOlS,EAAI,SACX+B,KAAK,aACLuF,GAAG,aAEL,yBAAKzG,UAAU,mBACb,4BAAQxB,KAAK,SAASwB,UAAU,OAAOb,EAAKugB,KAC5C,4BAAQlhB,KAAK,SAASwB,UAAU,OAAOuB,QAAS,kBAAMI,EAAQG,KAAR,4BAAkCtB,EAAMyrB,WAAY9sB,EAAKkgB,UCjI9G,SAASowB,KAAiB,IAC/BtwC,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACFwC,EAAUC,cACVsR,EAAoBC,KAAYC,MAAMzR,EAAQoQ,SAAS7N,OAAQ,CAAEmP,mBAAmB,IAHpD,EAIA3I,oBAAS,GAJT,mBAI/Bi+B,EAJ+B,KAIlBC,EAJkB,KActC,OARA/mC,qBAAU,WACJqR,EAAkB+Y,OACpB2c,GAAe,GAEfA,GAAe,KAEhB,CAACjnC,EAAQoQ,WAGV,oCACE,kBAAC6F,GAAA,EAAD,KACE,iDAAmBzY,EAAK0oC,OAGxBc,EACI,kBAAC,GAAD,CAAc1c,OAAQ/Y,EAAkB+Y,SACxC,kBAAC,GAAD,O,OCrBG,SAASyjB,GAAT,GAA0F,IAAhEpsC,EAA+D,EAA/DA,KAA+D,IAAzDqsC,qBAAyD,MAAzC,aAAyC,MAA9BC,sBAA8B,MAAb,aAAa,EAC9FzwC,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KAiBR,OACE,kBAAC,GAAD,CACE8B,MAAM,EACNwF,GAAInD,EAAK4iB,KACTN,QAAStiB,EAAK6iB,QACdvZ,QAAStJ,EAAK8iB,UACdZ,UAVc,WAChBmqB,EAAcrsC,EAAK4iB,QAWjB,kBAAC,GAAD,CAAWlmB,UAAU,cACnB,yBAAKA,UAAU,SACb,kBAAC,GAAD,CAAWA,UAAU,OACnB,yBAAKK,MAAO,CAAEwvC,cAAe,cA1BP,SAAArxC,GAC9B,OAAQA,GACN,IAAK,MAAO,MAAM,OAAN,OAAcW,EAAI,QAC9B,IAAK,OAAQ,MAAM,QAAN,OAAeA,EAAI,QAChC,IAAK,MAAO,MAAM,OAAN,OAAcA,EAAI,QAC9B,IAAK,OAAQ,OAAOA,EAAI,KACxB,IAAK,OAAQ,OAAOA,EAAK,YACzB,QAAS,OAAOA,EAAI,QAmB+B2wC,CAAwBxsC,EAAK9E,QAE5E,kBAAC,GAAD,CAAWwB,UAAU,OACnB,2BAAIsD,EAAKpC,OAEX,kBAAC,GAAD,CAAWlB,UAAU,QACrB,kBAAC,GAAD,CAAWA,UAAU,QACrB,kBAAC,GAAD,CAAWA,UAAU,UAGzB,yBAAKA,UAAU,WACb,6BACE,4BAAQA,UAAU,eAAeuB,QAAS,kBAAMquC,EAAetsC,EAAKysC,qBACjE5wC,EAAI,QACJmE,EAAK6iB,QAAU,0BAAMnmB,UAAU,mBAAhB,KAA6C,kBAAC,IAAD,CAAiBiG,KAAK,a,OClChF,SAAS+pC,GAAsBxvC,GAAQ,IAC5CrB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACAT,EAA+BgC,aAAY,SAAApC,GAAK,OAAIA,EAAMqB,uBAA1DjB,2BACAT,EAAmByC,aAAY,SAAApC,GAAK,OAAIA,EAAMmB,kBAA9CxB,eACFqf,EAAWI,cAJkC,EAKDhT,mBAAS,IALR,mBAK5CulC,EAL4C,KAKzBC,EALyB,OAMzBxlC,mBAAS,CACjCgO,KAAM,GACNgR,SAAS,IARwC,mBAM5Cva,EAN4C,KAMrCya,EANqC,OAUzBlf,mBAAS,CACjCf,SAAS,EACTwmC,cAAe,GACfpmB,YAAY,EACZ9Z,UAAW,GACX+Z,YAAa,KAfoC,mBAU5C1rB,EAV4C,KAUrC4I,EAVqC,KAkBnDrF,qBAAU,WAIR,OAHAyb,EtF3BK,CACL9e,KzDVyC,gCyDWzCC,MAAO,KsF0BPyf,IAEO,kBAAMZ,EtF9BR,CACL9e,KzDVyC,gCyDWzCC,MAAO,QsF6BN,IAEHoD,qBAAU,WAIR,OAHAmI,OAAOhH,iBAAiB,UAAWinB,GACnCjgB,OAAOhH,iBAAiB,UAAWknB,GAE5B,WACLlgB,OAAO7G,oBAAoB,UAAW8mB,GACtCjgB,OAAO7G,oBAAoB,UAAW+mB,MAEvC,CAACxrB,EAA4BT,EAAgBgyC,IAEhD,IAAMhmB,EAAyB,SAAA9f,GACP,KAAlBA,EAAMxG,SAKY,KAAlBwG,EAAMxG,SAAoC,KAAlBwG,EAAMxG,SAC5B1F,GACFqf,EzGnDC,CACL9e,KxCVkC,yBwCWlCC,MAAO,KyGqDe,KAAlB0L,EAAMxG,SACRwG,EAAMuG,iBACNyZ,KAC2B,KAAlBhgB,EAAMxG,UACfwG,EAAMuG,iBACN0Z,MAfAgmB,EAAc,WAAD,OAAY5vC,EAAM+/B,UAmB7BlW,EAAqB,SAAA8lB,GACzBA,EAAc,GAAd,QAA8BA,EAAc,GAAd,KAC9BD,EAAqBC,GACrB7yB,EAAS+E,GAAqC8tB,EAAc,GAAd,QAG1C/lB,EAAkB,WACtB,IAAI+lB,EAAa,YAAOF,GAMxB,GAAmC,KAA/BvxC,EAAJ,CAKA,IAAI+rB,EAAqB0lB,EAAczxC,EAA6B,GAEhE+rB,IACF0lB,EAAczxC,GAAd,QAAuD,GACvD+rB,EAAkB,QAAcA,EAAkB,KAClD1nB,SAASqM,eAAeqb,EAAkB,MAAUC,eAAe,CAAEC,SAAU,SAAUC,MAAO,WAChGslB,EAAqBC,GACrB7yB,EAAS+E,GAAqCoI,EAAkB,aAXhEJ,EAAmB8lB,IAejBhmB,EAAgB,WACpB,IAAIgmB,EAAa,YAAOF,GAMxB,GAAmC,KAA/BvxC,EAAJ,CAKA,IAAI+rB,EAAqB0lB,EAAczxC,EAA6B,GAEhE+rB,IACF0lB,EAAczxC,GAAd,QAAuD,GACvD+rB,EAAkB,QAAcA,EAAkB,KAClD1nB,SAASqM,eAAeqb,EAAkB,MAAUC,eAAe,CAAEC,SAAU,SAAUC,MAAO,WAChGslB,EAAqBC,GACrB7yB,EAAS+E,GAAqCoI,EAAkB,aAXhEJ,EAAmB8lB,IAejBjmB,EAAgC,SAAA/f,GACpC,IAAIC,EAAuBrH,SAASsH,cAAc,gBAAkBtH,SAASsH,cAAc,kBAE3F,GAAI3L,EAA6B,GAAoC,KAA/BA,IAAsC0L,EAC1E,OAAQD,EAAMxG,SACZ,KAAK,GAAI,OAAOysC,MAMhBA,EAAgB,SAAAjyB,IxF7FY,SAAAA,GAClC,OAAOhM,KAAMC,IAAI4I,GAAQ,UApCK,sCAoCL,OAAgCmD,KwF+FvDkyB,CAFkBlyB,GAAkB8xB,EAAkBvxC,GAA4BqxC,mBAG/Er9B,MAAK,SAAAgC,GAAQ,OAAIsW,EAAatW,EAASpR,KAAKsR,YAC5C4D,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,OAG1ByF,EAAY,WxFzGY,IAAAqiB,EwF0G5Br5B,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,MxF1GF42B,EwF4GX//B,EAAM+/B,OxF3GlBpuB,KAAMC,IAAI4I,GAAQ,UAnCF,gCAmCE,mBAAiCulB,KwF4GrD7tB,MAAK,SAAAlJ,GACJyhB,EAAazhB,EAAOlG,KAAKA,KAAK9C,EAAM+/B,SACpCr5B,EAAS,2BACJ5I,GADG,IAEN0rB,YAAaxgB,EAAOlG,KAAK0mB,YACzB/Z,UAAW,GACX8Z,YAAY,EACZpgB,SAAS,QAGZ6O,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,OAG1BwS,EAAe,SAAA3nB,GACnB,IAAIgtC,EAAkB,CAAC,MAAO,MAAO,OAAQ,KAAM,OAAQ,QAAQ/iC,QAAO,SAACC,EAAK+iC,GAS9E,OARAjtC,EAAKitC,GAAKruC,MAAM,KAAKO,KAAI,SAAAC,GACvB8K,EAAI1L,KAAK,CACPtD,KAAM+xC,EACNrvC,KAAMwB,EACNqtC,kBAAkB,WAAD,OAAavvC,EAAM+/B,OAAnB,iBAAkCgQ,EAAI7N,cAAtC,mBAA8DhgC,QAI5E8K,IACN,IAEH0iC,EAAqBI,IAkBjB9qB,EAAY,SAAAtkB,GAAS,IACjB+O,EAAc3R,EAAd2R,UACJxG,EAAS,YAAOwG,GAChBugC,EAAsB,YAAOP,GAC7B9kB,EAAc1hB,EAAUvB,QAAQhH,GAEhCkqB,EAAeolB,EAAuBjmB,WAAU,SAAAkmB,GAAY,OAAIA,EAAavqB,OAAShlB,KAC1FsvC,EAAuBplB,GAAchF,WAAaoqB,EAAuBplB,GAAchF,WAElE,IAAjB+E,EACF1hB,EAAUpH,OAAOmuC,EAAuBtvC,GAAvB,KAAsC,GAEvDuI,EAAU3H,KAAK0uC,EAAuBtvC,GAAvB,MAGjBgG,EAAS,2BAAK5I,GAAN,IAAa2R,UAAWxG,KAChCymC,EAAqBM,IAGjBjpB,EAAY,SAAAC,GAChB,IAAMgpB,EAAsB,YAAOP,GAEnC,GAAIzoB,EAAS,CACX,IAAIkpB,EAAoB,GACpBP,EAAgBK,EAAuB/tC,KAAI,SAAAguC,GAG7C,OAFAC,EAAkB5uC,KAAK2uC,EAAavvC,MACpCuvC,EAAarqB,WAAY,EAClBqqB,KAGTvpC,EAAS,2BAAK5I,GAAN,IAAa2R,UAAWygC,EAAmB3mB,WAAYvC,KAC/D0oB,EAAqBC,OAChB,CACL,IAAIA,EAAgBK,EAAuB/tC,KAAI,SAAAguC,GAE7C,OADAA,EAAarqB,WAAY,EAClBqqB,KAGTvpC,EAAS,2BAAK5I,GAAN,IAAa2R,UAAW,GAAI8Z,WAAYvC,KAChD0oB,EAAqBC,KAoBnBnlB,EAAe,SAAAtS,GACnBxR,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAC9BigB,EAAS,2BAAKza,GAAN,IAAaua,SAAS,EAAMhR,WAOtC,OACE,yBAAK1Y,UAAU,0CACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAK6iB,UAE1B,kBAAC,GAAD,CAAS/E,QAAQ,GACf,kBAAC,GAAD,CAAY/b,KAAM/B,EAAK,eAAgB8H,KAAK,iBAAiB1F,QAAS,kBAAM6uC,EAAc,WAAD,OAAY5vC,EAAM+/B,UAAWlZ,cAAc,IACpI,yBAAKrnB,UAAU,UACb,yBAAKA,UAAU,8BACb,kBAAC,GAAD,CAAUunB,UAAWA,EAAWC,QAASlpB,EAAMyrB,aAC/C,kBAAC,GAAD,CAAQ9iB,KAAK,mBAAmB2hB,WAnC7B,SAAArqB,GAAW,IACd0R,EAAc3R,EAAd2R,UAEJA,EAAUxL,QAAUlG,IACtB2I,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KxFhMT,SAACpL,EAAQ0R,EAAWswB,GAC7C,IAAMxqB,EAAW,IAAIC,SASrB,OARAD,EAASE,OAAO,QAAS8E,MACzBhF,EAASE,OAAO,SAAU1X,GAC1BwX,EAASE,OAAO,SAAUsqB,GAE1BtwB,EAAU7G,SAAQ,SAAAunC,GAChB56B,EAASE,OAAO,SAAU06B,MAGrBx+B,KAAM+D,KAAK8E,GAAQ,UAhDL,kCAgD6BjF,GwFuL9C66B,CAAYryC,EAAQ0R,EAAWzP,EAAM+/B,QAClC7tB,MAAK,SAAAlJ,GACkB,MAAlBA,EAAOwS,SACTgP,EAAaxhB,EAAOlG,KAAKsR,SACzB2S,GAAU,OAGb/O,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,UAwBxB,kBAAC,GAAD,CAAamM,iBAAkB,SAAAiH,GAAI,OAAIrrB,EAAMsrB,iBAAiBD,SAInEvtB,EAAMqL,QACH,kBAAC,EAAD,MAEA,oCACE,yBAAK3J,UAAU,yBACb,yBAAKA,UAAU,YACb,wCAAUb,EAAI,QAAd,aAA8BqB,EAAM+/B,UAxG9B,WAClB,IAAM4P,EAAa,YAAOF,GACpBzmC,EAAS,GAQf,OANA2mC,EAAc/mC,SAAQ,SAACqnC,EAAczuC,GACnCyuC,EAAavqB,KAAOlkB,EACpByuC,EAAatqB,QAAUznB,IAA+BsD,EACtDwH,EAAO1H,KAAK2uC,MAGPjnC,EAAO/G,KAAI,SAACC,EAAMV,GACvB,OAAO,kBAAC,GAAD,CAAgBsB,KAAMZ,EAAMC,IAAKX,EAAO2tC,cAAe,SAAAzuC,GAAI,OAAIskB,EAAUtkB,IAAO0uC,eAAgBQ,OA+F9FS,IAEH,yBAAK7wC,UAAU,0BACb,yBAAKA,UAAU,SAAS1B,EAAM0rB,aAC9B,yBAAKhqB,UAAU,QACb,kBAAC,KAAD,CAAM8Q,GAAG,iBAAiB3R,EAAI,SAOxC,kBAAC,GAAD,CACE2pB,OAxCqB,WACzBc,EAAS,2BAAKza,GAAN,IAAaua,SAAS,EAAOhR,KAAM,OAwCvCuQ,kBAAkB,EAClBJ,KAAM1Z,EAAMua,QACZhR,KAAMvJ,EAAMuJ,Q,WCxNLo4B,GA3EA,SAAAtwC,GAAU,IACf8C,EAAS9C,EAAT8C,KACAnE,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACFF,EAAQ8H,aAAaC,QAAQ,SAkBnC,OACE,kBAAC,GAAD,CACEP,GAAInD,EAAK4iB,KACTjlB,KAAMqC,EAAK+iB,KACXL,UApBc,SAACZ,GACbA,EACF5kB,EAAMwlB,UAAUxlB,EAAM8C,KAAK4iB,KAAM,OAEjC1lB,EAAMwlB,UAAUxlB,EAAM8C,KAAK4iB,KAAM,WAiBjCV,UAbc,WAChBhlB,EAAMglB,UAAUhlB,EAAM8C,KAAK4iB,OAazBN,QAAStiB,EAAK6iB,QACdf,QAAS9hB,EAAKgjB,QACd1Z,QAAStJ,EAAK8iB,WAEd,kBAAC,GAAD,CAAWpmB,UAAU,cACnB,yBAAKA,UAAU,QAAQsD,EAAK4iB,MAC5B,yBAAKlmB,UAAU,SACb,kBAAC,GAAD,CAAWA,UAAU,OACnB,6BAAMb,EAAK,eAAX,KAA4B,8BAAM,0BAAMa,UAAU,QAAQsD,EAAKytC,MAAa5xC,EAAKwsC,MAEnF,kBAAC,GAAD,CAAW3rC,UAAU,OACnB,6BAAMb,EAAKi0B,KAAX,KAAkB,0BAAMpzB,UAAU,QAAQsD,EAAK0oC,QAEjD,kBAAC,GAAD,CAAWhsC,UAAU,OACnB,6BAAMb,EAAK,YAAX,KAAyB,0BAAMa,UAAU,QAAQsD,EAAK0tC,QAA7B,eAI/B,yBAAKhxC,UAAU,WAEK,OAAjBsD,EAAK2tC,SAAoB,6BAAK,uBAAG92B,KAAI,6BAAwB7W,EAAK4iB,OAAS/mB,EAAKgpB,OAAlD,IAA0D,kBAAC,IAAD,CAAiBliB,KAAK,aAE/G,6BACE,uBAAGjG,UAAU,gBAAgBma,KAAI,0CAAqC7W,EAAK4iB,KAA1C,kBAAwDjnB,IACtFE,EAAKuE,SACLJ,EAAK6iB,QAAU,0BAAMnmB,UAAU,mBAAhB,KAA6C,kBAAC,IAAD,CAAiBiG,KAAMirC,SAIxF,6BACE,kBAAC,KAAD,CAAMlxC,UAAU,gBAAgB8Q,GAAE,8BAAyBxN,EAAK4iB,OAC7D/mB,EAAK,8BACLmE,EAAK6iB,QAAU,0BAAMnmB,UAAU,gCAAhB,UAAgE,kBAAC,IAAD,CAAiBiG,KAAK,WAI1G,6BACE,4BAAQjG,UAAU,cAAcuB,QAAS,WA9C/Cf,EAAM0mB,YAAY5jB,EAAK6jB,YAAvB,wCAAqE7jB,EAAK4iB,SA+CjE/mB,EAAKsM,OACLnI,EAAK6iB,QAAU,0BAAMnmB,UAAU,uBAAhB,OAAmD,kBAAC,IAAD,CAAiBiG,KAAK,eCwTtFkrC,I,OA/WC,SAAA3wC,GAAU,IAChBrB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACAT,EAA+BgC,aAAY,SAAApC,GAAK,OAAIA,EAAMqB,uBAA1DjB,2BACAT,EAAmByC,aAAY,SAAApC,GAAK,OAAIA,EAAMmB,kBAA9CxB,eACFqf,EAAWI,cAJM,EAKOhT,oBAAS,GALhB,mBAKhBf,EALgB,KAKP8f,EALO,OAMG/e,mBAAS,CACjCgO,KAAM,GACNgR,SAAS,EACTC,UAAW,KATU,mBAMhBxa,EANgB,KAMTya,EANS,OAWGlf,mBAAS,CACjCuwB,QAAS,GACTmW,UAAW,GACXrnB,YAAY,EACZ9Z,UAAW,GACX+Z,YAAa,KAhBQ,mBAWhB1rB,EAXgB,KAWT4I,EAXS,KAmBvBrF,qBAAU,WAMR,OALAyb,EAASzC,GAAiB,kBAC1ByC,E3G/BK,CACL9e,KxCVkC,yBwCWlCC,MAAO,K2G8BP6e,ExFhCK,CACL9e,KzDVyC,gCyDWzCC,MAAO,KwF+BPyf,IAAYxL,MAAK,kBAAM+W,GAAW,MAE3B,WACLnM,ExFpCG,CACL9e,KzDVyC,gCyDWzCC,MAAO,QwFoCN,IAEHoD,qBAAU,WAIR,OAHAmI,OAAOhH,iBAAiB,UAAWinB,GACnCjgB,OAAOhH,iBAAiB,UAAWknB,GAE5B,WACLlgB,OAAO7G,oBAAoB,UAAW8mB,GACtCjgB,OAAO7G,oBAAoB,UAAW+mB,MAEvC,CAACxrB,EAA4BT,EAAgBK,EAAM28B,UAEtD,IAAMhR,EAAyB,SAAA9f,GACP,KAAlBA,EAAMxG,SAAoC,KAAlBwG,EAAMxG,SAC5B1F,GACFqf,E3GrDC,CACL9e,KxCVkC,yBwCWlCC,MAAO,K2GuDe,KAAlB0L,EAAMxG,SACRwG,EAAMuG,iBACNyZ,KAC2B,KAAlBhgB,EAAMxG,UACfwG,EAAMuG,iBACN0Z,MAIEC,EAAqB,SAAA4Q,GACzBA,EAAQ,GAAR,QAAwBA,EAAQ,GAAR,KACxB/zB,EAAS,2BAAK5I,GAAN,IAAa28B,aACrB3d,EAAS+E,GAAqC4Y,EAAQ,GAAR,QAG1C7Q,EAAkB,WACtB,IAAI6Q,EAAO,YAAO38B,EAAM28B,SAMxB,GAAmC,KAA/Bv8B,EAAJ,CAKA,IAAI4rB,EAAyB2Q,EAAQ1Q,WAAU,SAAAgW,GAAM,OAAIA,EAAOra,OAASxnB,KAEzE,GAAI4rB,IAA2B2Q,EAAQx2B,OAAS,EAAG,CACjD,IAAIgmB,EAAqBwQ,EAAQ3Q,EAAyB,GAC1D2Q,EAAQ3Q,GAAR,QAA6C,GAC7CG,EAAkB,QAAcA,EAAkB,KAClD1nB,SAASqM,eAAeqb,EAAkB,MAAUC,eAAe,CAAEC,SAAU,SAAUC,MAAO,WAChG1jB,EAAS,2BAAK5I,GAAN,IAAa28B,aACrB3d,EAAS+E,GAAqCoI,EAAkB,aAZhEJ,EAAmB4Q,IAgBjB9Q,EAAgB,WACpB,IAAI8Q,EAAO,YAAO38B,EAAM28B,SAMxB,GAAmC,KAA/Bv8B,EAAJ,CAKA,IAAI4rB,EAAyB2Q,EAAQ1Q,WAAU,SAAAgW,GAAM,OAAIA,EAAOra,OAASxnB,KAEzE,GAA+B,IAA3B4rB,EAA8B,CAChC,IAAIG,EAAqBwQ,EAAQ3Q,EAAyB,GAC1D2Q,EAAQ3Q,GAAR,QAA6C,GAC7CG,EAAkB,QAAcA,EAAkB,KAClD1nB,SAASqM,eAAeqb,EAAkB,MAAUC,eAAe,CAAEC,SAAU,SAAUC,MAAO,WAChG1jB,EAAS,2BAAK5I,GAAN,IAAa28B,aACrB3d,EAAS+E,GAAqCoI,EAAkB,aAZhEJ,EAAmB4Q,IAgBjB/Q,EAAgC,SAAA/f,GACpC,IAAIC,EAAuBrH,SAASsH,cAAc,gBAAkBtH,SAASsH,cAAc,kBAE3F,GAAI3L,IAA+B0L,EACjC,OAAQD,EAAMxG,SACZ,KAAK,EAAG,OAAOknB,IACf,KAAK,GAAI,OAAOwmB,IAChB,KAAK,GAAI,OAAO3tC,MAMhB2tC,EAA2B,WAC/B7wC,EAAMmB,QAAQG,KAAd,8BAA0CpD,KAGtCgF,EAAW,WACfsG,OAAOqL,KAAP,yCAA8C3W,KAG1CmsB,EAAe,WAAO,IAEtBymB,EADgBhzC,EAAZ28B,QACwB5xB,QAAO,SAAAk3B,GAAM,OAAIA,EAAOra,OAASxnB,KAA4B,GAE7FssB,EAAasmB,EAAkBnqB,YAAnB,mCAA4DzoB,KAGpEwf,EAAY,WAEhB,OADAuL,GAAW,GACJ,IAAI9W,SAAQ,SAACwB,EAASqJ,G1FnJxBrL,KAAMC,IAAI4I,GATD,iC0F8JTtI,MAAK,SAAAlJ,GACJtC,EAAS,2BACJ5I,GADG,IAEN28B,QAAShQ,EAAazhB,EAAOlG,KAAKA,MAClC8tC,UAAW5nC,EAAOlG,KAAKiuC,WACvBvnB,YAAaxgB,EAAOlG,KAAK0mB,YACzB/Z,UAAW,GACX8Z,YAAY,KAEd5V,OAEDqE,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,UAI5BwS,EAAe,SAAA3nB,GACnB,IAAI23B,EAAU,GAEd,IAAK,IAAIn2B,KAAKxB,EACZA,EAAKwB,GAAL,KAAkBA,EAClBxB,EAAKwB,GAAL,WAAuB,EACvBxB,EAAKwB,GAAL,QAAqBpG,IAA+BoG,EACpDm2B,EAAQn5B,KAAKwB,EAAKwB,IAGpB,OAAOm2B,GAyBHzV,EAAY,SAAAtkB,GAAS,IACjB+O,EAAuB3R,EAAvB2R,UAAWgrB,EAAY38B,EAAZ28B,QACfxxB,EAAS,YAAOwG,GAChBuhC,EAAe,YAAOvW,GACtB9P,EAAc1hB,EAAUvB,QAAQhH,GAEhCkqB,EAAeomB,EAAgBjnB,WAAU,SAAAgW,GAAM,OAAIA,EAAOra,OAAShlB,KACvEswC,EAAgBpmB,GAAchF,WAAaorB,EAAgBpmB,GAAchF,WAEpD,IAAjB+E,EACF1hB,EAAUpH,OAAO8oB,EAAa,GAE9B1hB,EAAU3H,KAAKZ,GAGjBgG,EAAS,2BAAK5I,GAAN,IAAa28B,QAASuW,EAAiBvhC,UAAWxG,MAGtDuc,EAAY,SAACvnB,EAAOD,GAAU,IAE9BizC,EADkBnzC,EAAd8yC,UAGK,QAAT5yC,GACFizC,EAAmBhzC,GAAS,EAE5BsmB,GAAYtmB,EAAO,UAChBiU,MAAK,WACJxL,EAAS,2BAAK5I,GAAN,IAAa8yC,UAAWK,QAEjCj5B,OAAM,SAAAC,GACLtI,QAAQjR,MAAMuZ,QAGlBg5B,EAAmBhzC,QAAS0D,EAE5B+iB,GAAezmB,EAAO,UACnBiU,MAAK,WACJxL,EAAS,2BAAK5I,GAAN,IAAa8yC,UAAWK,QAEjCj5B,OAAM,SAAAC,GACLtI,QAAQjR,MAAMuZ,QAKhB8O,EAAY,SAAAC,GAChB,IAAMkqB,EAAgB,YAAOpzC,EAAM28B,SAEnC,GAAIzT,EAAS,CACX,IAAImqB,EAAc,GAEd1W,EAAUyW,EAAiBjvC,KAAI,SAAA89B,GAGjC,OAFAoR,EAAY7vC,KAAKy+B,EAAOra,MACxBqa,EAAOna,WAAY,EACZma,KAGTr5B,EAAS,2BAAK5I,GAAN,IAAa28B,UAAShrB,UAAW0hC,EAAa5nB,WAAYvC,SAC7D,CACL,IAAIyT,EAAUyW,EAAiBjvC,KAAI,SAAA89B,GAEjC,OADAA,EAAOna,WAAY,EACZma,KAETr5B,EAAS,2BAAK5I,GAAN,IAAa28B,UAAShrB,UAAW,GAAI8Z,WAAYvC,OAoBvDwD,EAAe,SAACtS,EAAMxG,GAC1BuX,GAAW,GACXG,EAAS,2BACJza,GADG,IAENua,SAAS,EACThR,KAAMA,EACNiR,UAAWzX,MAsBTyZ,EAAsB,WAC1BrO,EAASD,MAAmB3K,MAAK,kBAAM+W,GAAW,OAG9CmC,EAAqB,WACzBhC,EAAS,2BACJza,GADG,IAENua,SAAS,EACThR,KAAM,GACNiR,UAAW,OAiBf,OACE,yBAAK3pB,UAAU,WACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAK6iB,UAE1B,kBAAC,GAAD,CAAS/E,QAAQ,GACf,yBAAKjd,UAAU,UACb,4BAAQuB,QApBa,WAC3BkoB,GAAW,G1F5SNtX,KAAMC,IAAI4I,GAhCO,4B0F8UnBtI,MAAK,SAAAlJ,GACAA,EAAOlG,KAAKpE,MACd8rB,EAAaxhB,EAAOlG,KAAKpE,MAAO,IAEhC8rB,EAAaxhB,EAAOlG,KAAKsuC,GAAI,OAGhCp5B,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,QAWtB,kBAAC,IAAD,CAAiBxS,KAAK,SACtB,0BAAMjG,UAAU,OAAOb,EAAK,oBAGhC,yBAAKa,UAAU,UACb,yBAAKA,UAAU,8BACb,kBAAC,KAAD,CAAM8Q,GAAG,0BAA0B9Q,UAAU,eAAexB,KAAK,UAAUW,EAAK,sBAChF,kBAAC,GAAD,CAAUooB,UAAWA,EAAWC,QAASlpB,EAAMyrB,aAC/C,kBAAC,GAAD,CAAQ9iB,KAAK,aAAa2hB,WAtFvB,SAAArqB,GAAW,IACd0R,EAAc3R,EAAd2R,UAEJA,EAAUxL,QAAUlG,IACtBkrB,GAAW,G1F3QS,SAAClrB,EAAQ08B,GACjC,IAAMllB,EAAW,IAAIC,SAQrB,OAPAD,EAASE,OAAO,SAAU1X,GAC1BwX,EAASE,OAAO,QAAS8E,MAEzBkgB,EAAQ7xB,SAAQ,SAAAm3B,GACdxqB,EAASE,OAAO,WAAYsqB,MAGvBpuB,KAAM+D,KAAK8E,GAAW,uBAAwBjF,G0FmQjD6S,CAAWrqB,EAAQ0R,GAChByC,MAAK,SAAAlJ,GACkB,MAAlBA,EAAOwS,SACTuL,GAAU,GACVrJ,IAAYxL,MAAK,kBAAMiZ,WAG1BnT,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,UA2ExB,kBAAC,GAAD,CAAamM,iBAAkB,SAAAiH,GAAI,OAAIrrB,EAAMsrB,iBAAiBD,SAIpE,yBAAK7rB,UAAU,mBACZ2J,EACG,kBAAC,EAAD,MACC,oCAvLK,WAAO,IACbsxB,EAAY38B,EAAZ28B,QACFzxB,EAAS,GACT4nC,EAAS,eAAQ9yC,EAAM8yC,WAc7B,OAZAnW,EAAQ7xB,SAAQ,SAAAm3B,GACdA,EAAOpa,QAAUznB,IAA+B6hC,EAAOra,KAEnDkrB,EAAU7Q,EAAOra,MACnBqa,EAAOja,QAAU8qB,EAAU7Q,EAAOra,MAElCqa,EAAOja,QAAU,EAGnB9c,EAAO1H,KAAKy+B,MAGP/2B,EAAO/G,KAAI,SAACC,EAAMV,GACvB,OAAO,kBAAC,GAAD,CAAQsB,KAAMZ,EAAMC,IAAKX,EAAOgkB,UAAWA,EAAWR,UAAWA,EAAW0B,YAAa8D,OAsKzFiQ,GACD,yBAAKj7B,UAAU,SAAS1B,EAAM0rB,eAGpC,kBAAC,GAAD,CACElB,OA1EsB,WAC1B,IAAK3Z,EAAMwa,UACT,OAAOiC,I1FvRe,IAAAxO,E0F0RxBwO,IACAnC,GAAW,I1F3RarM,E0F4RXjO,EAAMwa,U1F3RdxX,KAAMC,IAAI4I,GAAWoC,EAAK,CAC/Be,OAAQ,CACNlf,MAAO8b,S0F0RNrI,MAAK,SAAA4F,GACJ,GAAIA,EAAIhV,KAAKpE,MAEX,OADAuqB,GAAW,GACJuB,EAAa1S,EAAIhV,KAAKpE,MAAO,IAEtCgf,IAAYxL,MAAK,kBAAMiZ,UAExBnT,OAAM,SAAAC,GAASgR,GAAW,GAAQtZ,QAAQjR,MAAMuZ,OA4D/CsQ,SAAU6C,EACV/C,KAAM1Z,EAAMua,QACZhR,KAAMvJ,EAAMuJ,UCtXL,SAASm5B,GAAcrxC,GAAQ,IACpCrB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACFwC,EAAUC,cACVsR,EAAoBC,KAAYC,MAAMzR,EAAQoQ,SAAS7N,OAAQ,CAAEmP,mBAAmB,IAH/C,EAIK3I,oBAAS,GAJd,mBAIpConC,EAJoC,KAIlBC,EAJkB,KAc3C,OARAlwC,qBAAU,WACJqR,EAAkBqtB,OACpBwR,GAAoB,GAEpBA,GAAoB,KAErB,CAACpwC,EAAQoQ,WAGV,oCACE,kBAAC6F,GAAA,EAAD,KACE,iDAAmBzY,EAAK0oC,OAGxBiK,EACI,kBAAC,GAAD,CAAuBvR,OAAQrtB,EAAkBqtB,SACjD,kBAAC,GAAD,iBAAa//B,EAAb,CAAoBsrB,iBAAkBtrB,EAAMsrB,qBClBxD,IA4GekmB,GA5GE,WAAO,IACd7yC,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACF8yC,EAAelrC,aAAaC,QAAQ,YACpCrF,EAAUC,cACV0b,EAAWI,cAJI,EAKKhT,mBAAS,CACjCwnC,OAAQ,GACRv0B,aAAc,GACdE,UAAW,GACXlU,SAAS,IATU,mBAKdrL,EALc,KAKP4I,EALO,KAYrBrF,qBAAU,WACRyb,EAASzC,GAAiB,oBAC1ByC,E7GhBK,CACL9e,KxCVkC,yBwCWlCC,MAAO,K6GgBPyI,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KnEwBT,SAAArG,GACvB,IAAIob,EAAiB,IAAI1I,SAEzB,IAAK,IAAIrT,KAAOW,EACdob,EAAezI,OAAOtT,EAAKW,EAAKX,IAGlC,OAAOwP,KAAMC,IAAI4I,GAAWmX,GAAc,CACxChU,OAAQ,CACNlf,MAAO8b,QmE/BTo3B,GACGz/B,MAAK,SAAAlJ,GACJtC,EAAS,2BAAK5I,GAAN,IAAa0f,GAAIxU,EAAOlG,KAAK0a,GAAIo0B,MAAO5oC,EAAOlG,KAAK8uC,MAAOzoC,SAAS,UAE/E,IAEH,IAAM0U,EAAoB,SAAAlU,GACxBA,EAAMuG,iBACN,IAFiC,EAE7B2hC,EAAU,GAFmB,eAIN,IAAIr8B,SAAS7L,EAAMY,QAASwT,WAJtB,IAIjC,2BAAkE,CAAC,IAAD,yBAAxDrd,EAAwD,KAAlDzC,EAAkD,KAChE4zC,EAAQnxC,GAAQzC,GALe,8BAQG,IAAhCkP,OAAO6Q,KAAK6zB,GAAS5tC,QAAgB4tC,EAAQ5zB,cAAgB9Q,SAC/DzG,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KnEqBZ,SAACrG,GACvB,IAAIob,EAAiB,IAAI1I,SAIzB,IAAK,IAAIrT,KAFT+b,EAAezI,OAAO,QAAS8E,MAEfzX,EACdob,EAAezI,OAAOtT,EAAKW,EAAKX,IAGlC,OAAOwP,KAAM+D,KAAK8E,GAAWmX,GAAczT,EAAgB,CACzDP,OAAQ,CACNlf,MAAO8b,QmE/BPu3B,CAASD,GACN3/B,MAAK,SAAAlJ,GACJ,GAAsB,MAAlBA,EAAOwS,OAAgB,CAAC,IAAD,EACKxS,EAAOlG,KAA7Bsb,EADiB,EACjBA,UAAWC,EADM,EACNA,OAGjB3X,EADE0X,EACO,2BAAKtgB,GAAN,IAAaqf,aAAciB,EAAWf,UAAW,GAAIlU,SAAS,IAC7DkV,EACA,2BAAKvgB,GAAN,IAAaqf,aAAc,GAAIE,UAAWgB,EAAQlV,SAAS,IAE1D,2BAAKrL,GAAN,IAAaqL,SAAS,SAInC6O,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,QAUlC,OACE,yBAAKzY,UAAU,0BACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAKqzB,YAE1B,kBAAC,GAAD,CAASvV,QAAQ,GACf,8BACA,yBAAKjd,UAAU,uBAAuBb,EAAK,iCAC3C,yBAAKa,UAAU,SAAQ,0BAAMA,UAAU,iBAAiB1B,EAAMqf,aAAe,kBAAC,IAAD,CAAiB1X,KAAK,yBAA4B,GAAxG,IAA6G3H,EAAMqf,eAC1I,yBAAK3d,UAAU,WACb,0BAAMA,UAAU,cAAc1B,EAAMuf,UAAY,kBAAC,IAAD,CAAiB5X,KAAK,yBAA4B,GAAlG,IAAsG,8BAAO8Y,KAAWzgB,EAAMuf,YAA9H,OAGJ,kBAAC,GAAD,KACGvf,EAAMqL,QAAU,kBAAC,EAAD,MACf,0BAAMqV,SAAU,SAAA7U,GAAK,OAAIkU,EAAkBlU,IAAQ1D,GAAG,YACpD,2BAAOjI,KAAK,SAAS0C,KAAK,KAAKzC,MAAM,QAErC,yBAAK0C,MAAM,cACT,2BAAOga,QAAQ,SAAShc,EAAKozC,SAC7B,4BAAQpxC,MAAM,eAAesF,GAAG,QAAQvF,KAAK,WAzBhD,CAAC,MAAO,MAAO,MAAO,MAAO,OAAQ,KAAM,SAASuB,KAAI,SAAC2vC,EAAOpwC,GAAR,OAC7D,4BAAQW,IAAKX,EAAOwC,SAAUytC,IAAiBG,EAAO3zC,MAAO2zC,GAAQA,QA6B/D,yBAAKpyC,UAAU,uBACb,2BAAOmb,QAAQ,MACZhc,EAAK,cACN,0BAAMa,UAAU,YAAhB,IAA6Bb,EAAK,4BAAlC,MAEF,2BACEX,KAAK,OACLwB,UAAU,eACVyG,GAAG,KACH0qB,UAAQ,EACRjwB,KAAK,UAGT,yBAAKlB,UAAU,mBACb,4BAAQxB,KAAK,SAASwB,UAAU,OAAOb,EAAKugB,KAC5C,4BAAQlhB,KAAK,SAASwB,UAAU,OAAOuB,QAAS,kBAAMI,EAAQG,KAAK,4BAA4B3C,EAAKkgB,WCfnGmzB,I,OAvFC,SAAAhyC,GAAU,IAChB8C,EAAS9C,EAAT8C,KACAnE,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACM4H,aAAaC,QAAQ,SAuBnC,OACE,kBAAC,GAAD,CACEP,GAAInD,EAAK4iB,KACTjlB,KAAMqC,EAAK+iB,KACXb,UAjBc,WAChBhlB,EAAMglB,UAAUhlB,EAAM8C,KAAK4iB,OAiBzBF,UA1Bc,SAACZ,GACbA,EACF5kB,EAAMwlB,UAAUxlB,EAAM8C,KAAK4iB,KAAM,OAEjC1lB,EAAMwlB,UAAUxlB,EAAM8C,KAAK4iB,KAAM,WAuBjCN,QAAStiB,EAAK6iB,QACdf,QAAS9hB,EAAKgjB,QACd1Z,QAAStJ,EAAK8iB,UACdV,UAA8B,QAAnBpiB,EAAKkoC,WAEhB,kBAAC,GAAD,CAAWxrC,UAAU,6BACnB,yBAAKA,UAAU,QAAQsD,EAAKmvC,KAC5B,yBAAKzyC,UAAU,SACb,kBAAC,GAAD,CAAWA,UAAU,YACnB,6BAAMb,EAAKuzC,IAAX,IAAgB,8BAAOpvC,EAAKqvC,OAE9B,kBAAC,GAAD,CAAW3yC,UAAU,YACnB,6BAAMb,EAAK+2B,KAAX,IAAiB,8BAAO5yB,EAAKsvC,QAE/B,kBAAC,GAAD,CAAW5yC,UAAU,YACnB,6BAAMb,EAAKs8B,IAAX,IAAgB,8BAAOn4B,EAAKuvC,OAE9B,kBAAC,GAAD,CAAW7yC,UAAU,YACnB,6BAAMb,EAAKu8B,MAAX,IAAkB,8BAAOp4B,EAAKwvC,SAEhC,kBAAC,GAAD,CAAW9yC,UAAU,YACnB,6BAAMb,EAAK,eAAX,IAA2B,8BAAOmE,EAAKyvC,UAI7C,yBAAK/yC,UAAU,WAEb,6BACE,kBAAC,KAAD,CAAMA,UAAU,YAAY8Q,GAAE,0BAAqBxN,EAAK4iB,OACrD/mB,EAAK8nB,KACL3jB,EAAK6iB,QAAU,0BAAMnmB,UAAU,gCAAhB,UAAgE,kBAAC,IAAD,CAAiBiG,KAAK,UAI1G,6BACE,4BACEjG,UAAU,YACVuB,QAAS,kBApDG,WACpB,IAAI0qC,EAAqC,QAAnB3oC,EAAKkoC,UAAsB,YAAkD,UACnGhrC,EAAM0mB,YAAY5jB,EAAK4oC,aAAvB,kBAAgDD,EAAhD,+BAAsF3oC,EAAK4iB,OAkDpEimB,KACdhtC,EAAKmE,EAAK8oC,gBACV9oC,EAAK6iB,QAAU,0BAAMnmB,UAAU,mBAAhB,KAA6C,kBAAC,IAAD,CAAiBiG,KAAyB,QAAnB3C,EAAKkoC,UAAsB,SAAW,WAI9H,6BACE,4BAAQxrC,UAAU,cAAcuB,QAAS,WArD/Cf,EAAM0mB,YAAY5jB,EAAK6jB,YAAvB,4CAAyE7jB,EAAK4iB,SAsDrE/mB,EAAKsM,OACLnI,EAAK6iB,QAAU,0BAAMnmB,UAAU,uBAAhB,OAAmD,kBAAC,IAAD,CAAiBiG,KAAK,gBCuVtF+sC,I,OAzZE,SAAAxyC,GAAU,IACjBrB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACAT,EAA+BgC,aAAY,SAAApC,GAAK,OAAIA,EAAMqB,uBAA1DjB,2BACAT,EAAmByC,aAAY,SAAApC,GAAK,OAAIA,EAAMmB,kBAA9CxB,eACFqf,EAAWI,cAJO,EAKMhT,oBAAS,GALf,mBAKjBf,EALiB,KAKR8f,EALQ,OAME/e,mBAAS,CACjCgO,KAAM,GACNgR,SAAS,EACTC,UAAW,KATW,mBAMjBxa,EANiB,KAMVya,EANU,OAWElf,mBAAS,CACjCiyB,SAAU,GACVsW,QAAS,GACTlpB,YAAY,EACZrC,YAAa,GACbjnB,QAAStB,EAAKoG,KACd1E,MAAO,aACPoP,UAAW,GACX+Z,YAAa,KAnBS,mBAWjB1rB,EAXiB,KAWV4I,EAXU,KAsBxBrF,qBAAU,WAMR,OALAyb,EAASzC,GAAiB,gBAC1ByC,E/GlCK,CACL9e,KxCVkC,yBwCWlCC,MAAO,K+GiCP6e,E5FnCK,CACL9e,KzDVyC,gCyDWzCC,MAAO,K4FkCPyf,IAAYxL,MAAK,kBAAM+W,GAAW,MAE3B,WACLnM,E5FvCG,CACL9e,KzDVyC,gCyDWzCC,MAAO,Q4FuCN,IAEHoD,qBAAU,WAIR,OAHAmI,OAAOhH,iBAAiB,UAAWinB,GACnCjgB,OAAOhH,iBAAiB,UAAWknB,GAE5B,WACLlgB,OAAO7G,oBAAoB,UAAW8mB,GACtCjgB,OAAO7G,oBAAoB,UAAW+mB,MAEvC,CAACxrB,EAA4BT,EAAgBK,EAAMq+B,WAEtD,IAAM1S,EAAyB,SAAA9f,GACP,KAAlBA,EAAMxG,SAAoC,KAAlBwG,EAAMxG,SAC5B1F,GACFqf,E/GxDC,CACL9e,KxCVkC,yBwCWlCC,MAAO,K+G0De,KAAlB0L,EAAMxG,SACRwG,EAAMuG,iBACNyZ,KAC2B,KAAlBhgB,EAAMxG,UACfwG,EAAMuG,iBACN0Z,MAIEC,EAAqB,SAAAsS,GACzBA,EAAS,GAAT,QAAyBA,EAAS,GAAT,KACzBz1B,EAAS,2BAAK5I,GAAN,IAAaq+B,cACrBrf,EAAS+E,GAAqCsa,EAAS,GAAT,QAG1CvS,EAAkB,WACtB,IAAIuS,EAAQ,YAAOr+B,EAAMq+B,UAMzB,GAAmC,KAA/Bj+B,EAAJ,CAKA,IAAI4rB,EAAyBqS,EAASpS,WAAU,SAAA2oB,GAAO,OAAIA,EAAQhtB,OAASxnB,KAE5E,GAAI4rB,IAA2BqS,EAASl4B,OAAS,EAAG,CAClD,IAAIgmB,EAAqBkS,EAASrS,EAAyB,GAC3DqS,EAASrS,GAAT,QAA8C,GAC9CG,EAAkB,QAAcA,EAAkB,KAClD1nB,SAASqM,eAAeqb,EAAkB,MAAUC,eAAe,CAAEC,SAAU,SAAUC,MAAO,WAChG1jB,EAAS,2BAAK5I,GAAN,IAAaq+B,cACrBrf,EAAS+E,GAAqCoI,EAAkB,aAZhEJ,EAAmBsS,IAgBjBxS,EAAgB,WACpB,IAAIwS,EAAQ,YAAOr+B,EAAMq+B,UAMzB,GAAmC,KAA/Bj+B,EAAJ,CAKA,IAAI4rB,EAAyBqS,EAASpS,WAAU,SAAA2oB,GAAO,OAAIA,EAAQhtB,OAASxnB,KAE5E,GAA+B,IAA3B4rB,EAA8B,CAChC,IAAIG,EAAqBkS,EAASrS,EAAyB,GAC3DqS,EAASrS,GAAT,QAA8C,GAC9CG,EAAkB,QAAcA,EAAkB,KAClD1nB,SAASqM,eAAeqb,EAAkB,MAAUC,eAAe,CAAEC,SAAU,SAAUC,MAAO,WAChG1jB,EAAS,2BAAK5I,GAAN,IAAaq+B,cACrBrf,EAAS+E,GAAqCoI,EAAkB,aAZhEJ,EAAmBsS,IAgBjBzS,EAAgC,SAAA/f,GACpC,IAAIC,EAAuBrH,SAASsH,cAAc,gBAAkBtH,SAASsH,cAAc,kBAE3F,GAAI3L,IAA+B0L,EACjC,OAAQD,EAAMxG,SACZ,KAAK,EAAG,OAAOknB,IACf,KAAK,GAAI,OAAOC,IAChB,KAAK,GAAI,OAAOqhB,MAMhBrhB,EAAa,WACjBtqB,EAAMmB,QAAQG,KAAd,yBAAqCpD,KAGjCytC,EAAgB,WAAO,IAEvBgH,EADiB70C,EAAbq+B,SAC0BtzB,QAAO,SAAA6pC,GAAO,OAAIA,EAAQhtB,OAASxnB,KAA4B,GAC7FutC,EAAmD,QAAjCkH,EAAmB3H,UAAsB,YAAc,UAE7ExgB,EAAamoB,EAAmBjH,aAApB,kBAA6CD,EAA7C,+BAAmFvtC,KAG3FmsB,EAAe,WAAO,IAEtBsoB,EADiB70C,EAAbq+B,SAC0BtzB,QAAO,SAAA6pC,GAAO,OAAIA,EAAQhtB,OAASxnB,KAA4B,GAEjGssB,EAAamoB,EAAmBhsB,YAApB,4CAAsEzoB,KAG9Ewf,EAAY,WAEhB,OADAuL,GAAW,GACJ,IAAI9W,SAAQ,SAACwB,EAASqJ,GhE7JxBrL,KAAMC,IAAI4I,GAND,+BgEqKTtI,MAAK,SAAAlJ,GACJtC,EAAS,2BACJ5I,GADG,IAENq+B,SAAU1R,EAAazhB,EAAOlG,KAAKA,MACnCokB,YAAale,EAAOlG,KAAK8vC,aACzBH,QAASzpC,EAAOlG,KAAK+vC,SACrBpjC,UAAW,GACX8Z,YAAY,EACZC,YAAaxgB,EAAOlG,KAAK0mB,eAE3B7V,OAEDqE,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,UAI5BwS,EAAe,SAAA3nB,GACnB,IAAIq5B,EAAW,GAEf,IAAK,IAAI73B,KAAKxB,EACZA,EAAKwB,GAAL,KAAkBA,EAClBxB,EAAKwB,GAAL,WAAuB,EACvBxB,EAAKwB,GAAL,QAAqBpG,IAA+BoG,EACpD63B,EAAS76B,KAAKwB,EAAKwB,IAGrB,OAAO63B,GAmCHnX,EAAY,SAAAtkB,GAAS,IACjB+O,EAAwB3R,EAAxB2R,UAAW0sB,EAAar+B,EAAbq+B,SACflzB,EAAS,YAAOwG,GAChBqjC,EAAgB3W,EAChBxR,EAAc1hB,EAAUvB,QAAQhH,GAEhCkqB,EAAekoB,EAAc/oB,WAAU,SAAA2oB,GAAO,OAAIA,EAAQhtB,OAAShlB,KACvEoyC,EAAcloB,GAAchF,WAAaktB,EAAcloB,GAAchF,WAEhD,IAAjB+E,EACF1hB,EAAUpH,OAAO8oB,EAAa,GAE9B1hB,EAAU3H,KAAKZ,GAGjBgG,EAAS,2BAAK5I,GAAN,IAAaq+B,SAAU2W,EAAerjC,UAAWxG,MAGrD4hB,EAAY,SAAAje,GAAU,IAClBvM,EAAmBvC,EAAnBuC,MAAOJ,EAAYnC,EAAZmC,QACX6qB,EAAgBC,EAAO9qB,GAE3B,MAAc,eAAVI,EACKuM,EAAMrM,MAAK,SAAC8H,EAAGC,GAAJ,OAAWD,EAAEyiB,GAAiBxiB,EAAEwiB,GAAkB,EAAMxiB,EAAEwiB,GAAiBziB,EAAEyiB,IAAmB,EAAI,KAE/Gle,EAAMrM,MAAK,SAAC8H,EAAGC,GAAJ,OAAWD,EAAEyiB,GAAiBxiB,EAAEwiB,GAAkB,EAAMxiB,EAAEwiB,GAAiBziB,EAAEyiB,IAAmB,EAAI,MAIpHC,EAAS,SAAA9qB,GAAY,IACjB8E,EAA2BpG,EAA3BoG,KAAMke,EAAqBtkB,EAArBskB,QAASd,EAAYxjB,EAAZwjB,QAEvB,OAAQliB,GACN,KAAK8E,EAAM,MAAO,OAClB,KAAKke,EAAS,MAAO,MACrB,KAAKd,EAAS,MAAO,YAKnBqD,EAAY,SAACvnB,EAAOD,GAAU,IAE9B+0C,EADgBj1C,EAAZ20C,QAGK,QAATz0C,GACF+0C,EAAiB90C,GAAS,EAE1BsmB,GAAYtmB,EAAO,QAChBiU,MAAK,WACJxL,EAAS,2BAAK5I,GAAN,IAAa20C,QAASM,QAE/B/6B,OAAM,SAAAC,GACLtI,QAAQjR,MAAMuZ,QAGlB86B,EAAiB90C,QAAS0D,EAE1B+iB,GAAezmB,EAAO,QACnBiU,MAAK,WACJxL,EAAS,2BAAK5I,GAAN,IAAa20C,QAASM,QAE/B/6B,OAAM,SAAAC,GACLtI,QAAQjR,MAAMuZ,QAKhB8O,EAAY,SAAAC,GAChB,IAAMgsB,EAAiB,YAAOl1C,EAAMq+B,UAEpC,GAAInV,EAAS,CACX,IAAIisB,EAAe,GAEf9W,EAAW6W,EAAkB/wC,KAAI,SAAAywC,GAGnC,OAFAO,EAAa3xC,KAAKoxC,EAAQhtB,MAC1BgtB,EAAQ9sB,WAAY,EACb8sB,KAGThsC,EAAS,2BAAK5I,GAAN,IAAaq+B,WAAU1sB,UAAWwjC,EAAc1pB,WAAYvC,SAC/D,CACL,IAAImV,EAAW6W,EAAkB/wC,KAAI,SAAAywC,GAEnC,OADAA,EAAQ9sB,WAAY,EACb8sB,KAEThsC,EAAS,2BAAK5I,GAAN,IAAaq+B,WAAU1sB,UAAW,GAAI8Z,WAAYvC,OAyBxDwD,EAAe,SAACtS,EAAMxG,GAC1B0X,EAAS,2BACJza,GADG,IAENua,SAAUprB,EAAMkF,aAChBkV,OACAiR,UAAWzX,MAsBTyZ,EAAsB,WAC1BrO,EAASD,MAAmB3K,MAAK,kBAAM+W,GAAW,OAG9CmC,EAAqB,WACzBhC,EAAS,2BACJza,GADG,IAENua,SAAS,EACThR,KAAM,GACNiR,UAAW,OAIT+pB,EAA0B,WAC9B,IAAMz0C,EAAQ8H,aAAaC,QAAQ,SAC7BkL,EAAG,kBAAoC,QAAtB5T,EAAMopB,YAAwB,SAAW,MAAvD,gCAAoFzoB,GAE7F4gB,GAAa3N,GACVQ,MAAK,SAAA4F,GACJ0S,EAAa1S,EAAIhV,KAAKsR,QAAS,IAC/BsJ,IAAYxL,MAAK,kBAAM+W,GAAW,SAEnCjR,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,OAGhC,OACE,yBAAKzY,UAAU,YACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAK+4B,QAE1B,kBAAC,GAAD,CAASjb,QAAQ,GACf,kBAAC,GAAD,CAAY/b,KAAM/B,EAAK,gBAAiBgb,KAAK,YAAYkN,cAAc,IACvE,yBAAKrnB,UAAU,UACb,yBAAKA,UAAU,8BACb,4BAAQuB,QAASmyC,EAAyB1zC,UAAU,eAAexB,KAAK,UAC/C,QAAtBF,EAAMopB,YAAwBvoB,EAAK,0BAA4BA,EAAK,0BAEvE,kBAAC,GAAD,CAAUooB,UAAWA,EAAWC,QAASlpB,EAAMyrB,aAC/C,kBAAC,GAAD,CAAQ9iB,KAAK,WAAW2hB,WAtFrB,SAAArqB,GAAW,IACd0R,EAAc3R,EAAd2R,UAGR,GAAI1R,KAFwC,QAAtBD,EAAMopB,YAAwB,sBAAwB,oBAG1E,OAAOgsB,IAGLzjC,EAAUxL,QAAUlG,IACtBkrB,GAAW,GhE3TS,SAAClrB,EAAQ2uC,GACjC,IAAMn3B,EAAW,IAAIC,SAQrB,OAPAD,EAASE,OAAO,SAAU1X,GAC1BwX,EAASE,OAAO,QAAS8E,MAEzBmyB,EAAkB9jC,SAAQ,SAAA+jC,GACxBp3B,EAASE,OAAO,QAASk3B,MAGpBh7B,KAAM+D,KAAK8E,GAAW,qBAAsBjF,GgEmT/C6S,CAAWrqB,EAAQ0R,GAChByC,MAAK,SAAAlJ,GACkB,MAAlBA,EAAOwS,SACTuL,GAAU,GACVrJ,IAAYxL,MAAK,kBAAMiZ,WAG1BnT,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,QAqEkBiP,YAAmC,QAAtBppB,EAAMopB,cAC7D,kBAAC,GAAD,CAAgB/mB,cAhNJ,SAACF,EAASI,GAC9BqG,EAAS,2BACJ5I,GADG,IAENmC,UACAI,YA4MoDJ,QAASnC,EAAMmC,QAASI,MAAOvC,EAAMuC,MAAOoG,KAAK,aAC/F,kBAAC,GAAD,CAAa2d,iBAAkB,SAAAiH,GAAI,OAAIrrB,EAAMsrB,iBAAiBD,SAIpE,yBAAK7rB,UAAU,gBACZ2J,EACG,kBAAC,EAAD,MACC,oCAhNM,WAAO,IACdgzB,EAAar+B,EAAbq+B,SACFnzB,EAAS,GACTypC,EAAO,eAAQ30C,EAAM20C,SAgB3B,OAdAtW,EAASvzB,SAAQ,SAAA8pC,GACfA,EAAQ/sB,QAAUznB,IAA+Bw0C,EAAQhtB,KAErD+sB,EAAQC,EAAQhtB,MAClBgtB,EAAQ5sB,QAAU2sB,EAAQC,EAAQhtB,MAElCgtB,EAAQ5sB,QAAU,EAGpB9c,EAAO1H,KAAKoxC,MAGK7nB,EAAU7hB,GAET/G,KAAI,SAACC,EAAMV,GAC7B,OAAO,kBAAC,GAAD,CAASsB,KAAMZ,EAAMC,IAAKX,EAAOgkB,UAAWA,EAAWR,UAAWA,EAAW0B,YAAa8D,OA6L1F2R,GACD,yBAAK38B,UAAU,SAAS1B,EAAM0rB,eAGpC,kBAAC,GAAD,CACEf,iBAAkB9Z,EAAMwa,UACxBZ,SAAU6C,EACV9C,OAzEsB,WAC1B,IAAK3Z,EAAMwa,UACT,OAAOiC,IAGTA,IACAnC,GAAW,GACX5J,GAAa1Q,EAAMwa,WAChBjX,MAAK,SAAA4F,GACJ,GAAIA,EAAIhV,KAAKpE,MAEX,OADAuqB,GAAW,GACJuB,EAAa1S,EAAIhV,KAAKpE,MAAO,IAEtCgf,IAAYxL,MAAK,kBAAMiZ,UAExBnT,OAAM,SAAAC,GAASgR,GAAW,GAAQtZ,QAAQjR,MAAMuZ,OA2D/CoQ,KAAM1Z,EAAMua,QACZhR,KAAMvJ,EAAMuJ,UC1ULi7B,I,OAtFC,SAAAnzC,GAAU,IAChB8C,EAAS9C,EAAT8C,KACAnE,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACAJ,EAAY2B,aAAY,SAAApC,GAAK,OAAIA,EAAMwB,eAAvCf,QA0BR,OACE,kBAAC,GAAD,CACE0H,GAAInD,EAAK4iB,KACTjlB,KAAMqC,EAAK+iB,KACXL,UApBc,SAACZ,GACbA,EACF5kB,EAAMwlB,UAAU1iB,EAAK4iB,KAAM,OAE3B1lB,EAAMwlB,UAAU1iB,EAAK4iB,KAAM,WAiB3BV,UAbc,WAChBhlB,EAAMglB,UAAUliB,EAAK4iB,OAanBd,QAAS9hB,EAAKgjB,QACdV,QAAStiB,EAAK6iB,QACdvZ,QAAStJ,EAAK8iB,WAEd,kBAAC,GAAD,CAAWpmB,UAAU,cACnB,yBAAKA,UAAU,QAAQsD,EAAK4iB,MAC5B,6BAAM5iB,EAAKswC,MAAX,IAAmBtwC,EAAKuwC,OACxB,yBAAK7zC,UAAU,SACb,kBAAC,GAAD,CAAWA,UAAU,YACnB,6BAAMb,EAAK,gBAAX,KAA6B,8BAAM,0BAAMa,UAAU,QAAQsD,EAAKwwC,gBAC/D/0C,EAAQsyB,cAAgB,6BAAMlyB,EAAK,kBAAX,KAA+B,8BAAM,0BAAMa,UAAU,QAAQsD,EAAKywC,kBAC3F,6BAAM50C,EAAK,gBAAX,KAA6B,8BAAM,0BAAMa,UAAU,QAAQsD,EAAK0wC,gBAChE,6BAAM70C,EAAK,cAAX,KAA2B,8BAAM,0BAAMa,UAAU,QAAQsD,EAAK2wC,SAC9D,6BAAM90C,EAAK,eAAX,KAA4B,8BAAM,0BAAMa,UAAU,QAAQsD,EAAK4wC,eAC/D,6BAAM/0C,EAAK,eAAX,KAA4B,8BAAM,0BAAMa,UAAU,QAAQsD,EAAK6wC,gBAEjE,kBAAC,GAAD,CAAWn0C,UAAU,YACnB,6BAAMb,EAAK,eAAX,KAA4B,8BAAM,0BAAMa,UAAU,QAAQsD,EAAK8wC,eAC/D,6BAAMj1C,EAAK,eAAX,KAA4B,8BAAM,0BAAMa,UAAU,QAAQsD,EAAK+wC,eAC/D,6BAAMl1C,EAAK,gBAAX,KAA6B,8BAAM,0BAAMa,UAAU,QAAQsD,EAAKgxC,gBAChE,6BAAMn1C,EAAK,iBAAX,KAA8B,8BAAM,0BAAMa,UAAU,QAAQsD,EAAKixC,iBACjE,6BAAMp1C,EAAKktC,UAAX,KAAuB,8BAAM,0BAAMrsC,UAAU,QAAQsD,EAAKkxC,aAC1D,6BAAMr1C,EAAK,aAAX,KAA0B,8BAAM,0BAAMa,UAAU,QAAQsD,EAAKmxC,cAE/D,kBAAC,GAAD,CAAWz0C,UAAU,YACnB,6BAAK,8BAAOb,EAAKgyC,QAAZ,KAAL,IAAkC,8BAAM,0BAAMnxC,UAAU,QAAQsD,EAAKoxC,WACrE,6BAAK,8BAAOv1C,EAAKujB,UAAZ,KAAL,IAAoC,8BAAM,8BAAM,0BAAM1iB,UAAU,QAAQsD,EAAKqxC,WAAnC,IAAsDx1C,EAAKwsC,MACrG,6BAAK,8BAAOxsC,EAAKsjB,KAAZ,KAAL,IAA+B,8BAAM,8BAAM,0BAAMziB,UAAU,QAAQsD,EAAKsxC,YAAnC,IAAuDz1C,EAAKwsC,MACjG,yBAAK3rC,UAAU,MAAK,8BAAOb,EAAK,gBAAZ,KAApB,IAAyD,8BAAM,0BAAMa,UAAU,QAAyBsD,EAAKuxC,GAzD1F3yC,MAAM,KAEbO,KAClB,SAACqP,EAAQ9P,GAAT,OAAmB,yBAAKW,IAAKX,GAAQ8P,YA0DrC,yBAAK9R,UAAU,WACb,6BACE,kBAAC,KAAD,CAAMA,UAAU,YAAY8Q,GAAE,iCAA4BxN,EAAK4iB,OAC5D/mB,EAAK8nB,KACL3jB,EAAK6iB,QAAU,0BAAMnmB,UAAU,gCAAhB,UAAgE,kBAAC,IAAD,CAAiBiG,KAAK,UAI1G,6BACE,4BAAQjG,UAAU,cAAcuB,QAAS,WAlD/Cf,EAAM0mB,YAAY5jB,EAAK6jB,YAAvB,mDAAgF7jB,EAAK4iB,SAmD5E/mB,EAAKsM,OACLnI,EAAK6iB,QAAU,0BAAMnmB,UAAU,uBAAhB,OAAmD,kBAAC,IAAD,CAAiBiG,KAAK,gBC+StF6uC,I,OAjXE,SAAAt0C,GAAU,IACjBrB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACAT,EAA+BgC,aAAY,SAAApC,GAAK,OAAIA,EAAMqB,uBAA1DjB,2BACAT,EAAmByC,aAAY,SAAApC,GAAK,OAAIA,EAAMmB,kBAA9CxB,eACFqf,EAAWI,cAJO,EAKMhT,oBAAS,GALf,mBAKjBf,EALiB,KAKR8f,EALQ,OAME/e,mBAAS,CACjCgO,KAAM,GACNgR,SAAS,EACTC,UAAW,KATW,mBAMjBxa,EANiB,KAMVya,EANU,OAWElf,mBAAS,CACjC8jC,SAAU,GACVuG,YAAa,GACbhrB,YAAY,EACZtpB,QAAStB,EAAKoG,KACd1E,MAAO,aACPoP,UAAW,GACX+Z,YAAa,KAlBS,mBAWjB1rB,EAXiB,KAWV4I,EAXU,KAqBxBrF,qBAAU,WAMR,OALAyb,EAASzC,GAAiB,mBAC1ByC,EjHjCK,CACL9e,KxCVkC,yBwCWlCC,MAAO,KiHgCP6e,E9FlCK,CACL9e,KzDVyC,gCyDWzCC,MAAO,K8FiCPyf,IAAYxL,MAAK,kBAAM+W,GAAW,MAE3B,WACLnM,E9FtCG,CACL9e,KzDVyC,gCyDWzCC,MAAO,Q8FsCN,IAEHoD,qBAAU,WAIR,OAHAmI,OAAOhH,iBAAiB,UAAWinB,GACnCjgB,OAAOhH,iBAAiB,UAAWknB,GAE5B,WACLlgB,OAAO7G,oBAAoB,UAAW8mB,GACtCjgB,OAAO7G,oBAAoB,UAAW+mB,MAEvC,CAACxrB,EAA4BT,EAAgBK,EAAMkwC,WAEtD,IAAMvkB,EAAyB,SAAA9f,GACP,KAAlBA,EAAMxG,SAAoC,KAAlBwG,EAAMxG,SAC5B1F,GACFqf,EjHvDC,CACL9e,KxCVkC,yBwCWlCC,MAAO,KiHyDe,KAAlB0L,EAAMxG,SACRwG,EAAMuG,iBACNyZ,KAC2B,KAAlBhgB,EAAMxG,UACfwG,EAAMuG,iBACN0Z,MAIEC,EAAqB,SAAAmkB,GACzBA,EAAS,GAAT,QAAyBA,EAAS,GAAT,KACzBtnC,EAAS,2BAAK5I,GAAN,IAAakwC,cACrBlxB,EAAS+E,GAAqCmsB,EAAS,GAAT,QAG1CpkB,EAAkB,WACtB,IAAIokB,EAAQ,YAAOlwC,EAAMkwC,UAMzB,GAAmC,KAA/B9vC,EAAJ,CAKA,IAAI4rB,EAAyBkkB,EAASjkB,WAAU,SAAAC,GAAI,OAAIA,EAAKtE,OAASxnB,KAEtE,GAAI4rB,IAA2BkkB,EAAS/pC,OAAS,EAAG,CAClD,IAAIgmB,EAAqB+jB,EAASlkB,EAAyB,GAC3DkkB,EAASlkB,GAAT,QAA8C,GAC9CG,EAAkB,QAAcA,EAAkB,KAClD1nB,SAASqM,eAAeqb,EAAkB,MAAUC,eAAe,CAAEC,SAAU,SAAUC,MAAO,WAChG1jB,EAAS,2BAAK5I,GAAN,IAAakwC,cACrBlxB,EAAS+E,GAAqCoI,EAAkB,aAZhEJ,EAAmBmkB,IAgBjBrkB,EAAgB,WACpB,IAAIqkB,EAAQ,YAAOlwC,EAAMkwC,UAMzB,GAAmC,KAA/B9vC,EAAJ,CAKA,IAAI4rB,EAAyBkkB,EAASjkB,WAAU,SAAAC,GAAI,OAAIA,EAAKtE,OAASxnB,KAEtE,GAA+B,IAA3B4rB,EAA8B,CAChC,IAAIG,EAAqB+jB,EAASlkB,EAAyB,GAC3DkkB,EAASlkB,GAAT,QAA8C,GAC9CG,EAAkB,QAAcA,EAAkB,KAClD1nB,SAASqM,eAAeqb,EAAkB,MAAUC,eAAe,CAAEC,SAAU,SAAUC,MAAO,WAChG1jB,EAAS,2BAAK5I,GAAN,IAAakwC,cACrBlxB,EAAS+E,GAAqCoI,EAAkB,aAZhEJ,EAAmBmkB,IAgBjBtkB,EAAgC,SAAA/f,GACpC,IAAIC,EAAuBrH,SAASsH,cAAc,gBAAkBtH,SAASsH,cAAc,kBAE3F,GAAI3L,IAA+B0L,EACjC,OAAQD,EAAMxG,SACZ,KAAK,EAAG,OAAOknB,IACf,KAAK,GAAI,OAAOC,MAMhBA,EAAa,WACjBtqB,EAAMmB,QAAQG,KAAd,iCAA6CpD,KAGzCmsB,EAAe,WAAO,IAEtBmqB,EADiB12C,EAAbkwC,SAC0BnlC,QAAO,SAAAmhB,GAAI,OAAIA,EAAKtE,OAASxnB,KAA4B,GAE3FssB,EAAagqB,EAAmB7tB,YAApB,mDAA6EzoB,KAGrFwf,EAAY,WAEhB,OADAuL,GAAW,GACJ,IAAI9W,SAAQ,SAACwB,EAASqJ,GAC3Bwb,KACGtmB,MAAK,SAAAlJ,GACJtC,EAAS,2BACJ5I,GADG,IAENkwC,SAAUvjB,EAAazhB,EAAOlG,KAAKA,MACnCyxC,YAAavrC,EAAOlG,KAAKyxC,YACzB/qB,YAAaxgB,EAAOlG,KAAK0mB,YACzB/Z,UAAW,GACX8Z,YAAY,KAEd5V,OAEDqE,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,UAI5BwS,EAAe,SAAA3nB,GACnB,IAAIkrC,EAAW,GAEf,IAAK,IAAI1pC,KAAKxB,EACZA,EAAKwB,GAAL,KAAkBA,EAClBxB,EAAKwB,GAAL,QAAqBpG,IAA+BoG,EACpD0pC,EAAS1sC,KAAKwB,EAAKwB,IAGrB,OAAO0pC,GAmCHhpB,EAAY,SAAAtkB,GAAS,IACjB+O,EAAwB3R,EAAxB2R,UAAWu+B,EAAalwC,EAAbkwC,SACf/kC,EAAS,YAAOwG,GAChBglC,EAAoBzG,EACpBrjB,EAAc1hB,EAAUvB,QAAQhH,GAEhCkqB,EAAe6pB,EAAkB1qB,WAAU,SAAAC,GAAI,OAAIA,EAAKtE,OAAShlB,KACrE+zC,EAAkB7pB,GAAchF,WAAa6uB,EAAkB7pB,GAAchF,WAExD,IAAjB+E,EACF1hB,EAAUpH,OAAO8oB,EAAa,GAE9B1hB,EAAU3H,KAAKZ,GAGjBgG,EAAS,2BAAK5I,GAAN,IAAakwC,SAAUyG,EAAmBhlC,UAAWxG,MAGzD4hB,EAAY,SAAAje,GAAU,IAClBvM,EAAmBvC,EAAnBuC,MAAOJ,EAAYnC,EAAZmC,QACX6qB,EAAgBC,EAAO9qB,GAE3B,MAAc,eAAVI,EACKuM,EAAMrM,MAAK,SAAC8H,EAAGC,GAAJ,OAAWD,EAAEyiB,GAAiBxiB,EAAEwiB,GAAkB,EAAMxiB,EAAEwiB,GAAiBziB,EAAEyiB,IAAmB,EAAI,KAE/Gle,EAAMrM,MAAK,SAAC8H,EAAGC,GAAJ,OAAWD,EAAEyiB,GAAiBxiB,EAAEwiB,GAAkB,EAAMxiB,EAAEwiB,GAAiBziB,EAAEyiB,IAAmB,EAAI,MAIpHC,EAAS,SAAA9qB,GAAY,IACjB8E,EAAkBpG,EAAlBoG,KAAMod,EAAYxjB,EAAZwjB,QAEd,OAAQliB,GACN,KAAK8E,EAAM,MAAO,OAClB,KAAKpG,EAAK,gBAAiB,MAAO,OAClC,KAAKwjB,EAAS,MAAO,YAKnBqD,EAAY,SAACvnB,EAAOD,GAAU,IAE9B02C,EADoB52C,EAAhBy2C,YAGK,QAATv2C,GACF02C,EAAqBz2C,GAAS,EAE9BsmB,GAAYtmB,EAAO,WAChBiU,MAAK,WACJxL,EAAS,2BAAK5I,GAAN,IAAay2C,YAAaG,QAEnC18B,OAAM,SAAAC,GACLtI,QAAQjR,MAAMuZ,QAGlBy8B,EAAqBz2C,QAAS0D,EAE9B+iB,GAAezmB,EAAO,WACnBiU,MAAK,WACJxL,EAAS,2BAAK5I,GAAN,IAAay2C,YAAaG,QAEnC18B,OAAM,SAAAC,GACLtI,QAAQjR,MAAMuZ,QAKhB8O,EAAY,SAAAC,GAChB,IAAMytB,EAAiB,YAAO32C,EAAMkwC,UAEpC,GAAIhnB,EAAS,CACX,IAAI2tB,EAAe,GAEf3G,EAAWyG,EAAkBxyC,KAAI,SAAA+nB,GAGnC,OAFA2qB,EAAarzC,KAAK0oB,EAAKtE,MACvBsE,EAAKpE,WAAY,EACVoE,KAGTtjB,EAAS,2BAAK5I,GAAN,IAAakwC,WAAUv+B,UAAWklC,EAAcprB,WAAYvC,SAC/D,CACL,IAAIgnB,EAAWyG,EAAkBxyC,KAAI,SAAA+nB,GAEnC,OADAA,EAAKpE,WAAY,EACVoE,KAGTtjB,EAAS,2BAAK5I,GAAN,IAAakwC,WAAUv+B,UAAW,GAAI8Z,WAAYvC,OAoBxDwD,EAAe,SAACtS,EAAMiR,GAC1BC,EAAS,2BAAKza,GAAN,IAAaua,SAAUva,EAAMua,QAAShR,OAAMiR,gBAqBhDgC,EAAsB,WAC1BrO,EAASD,MAAmB3K,MAAK,kBAAM+W,GAAW,OAG9CmC,EAAqB,WACzBhC,EAAS,2BAAKza,GAAN,IAAaua,SAAS,EAAOhR,KAAM,GAAIiR,UAAW,OAG5D,OACE,yBAAK3pB,UAAU,YACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAKq6B,WAE1B,kBAAC,GAAD,CAASvc,QAAQ,GACf,kBAAC,GAAD,CAAY/b,KAAM/B,EAAK,eAAgBgb,KAAK,gBAAgBkN,cAAc,IAC1E,yBAAKrnB,UAAU,UACb,yBAAKA,UAAU,8BACb,kBAAC,GAAD,CAAUunB,UAAWA,EAAWC,QAASlpB,EAAMyrB,aAC/C,kBAAC,GAAD,CAAQ9iB,KAAK,eAAe2hB,WAxDzB,SAAArqB,GAAW,IACd0R,EAAc3R,EAAd2R,UAEJA,EAAUxL,QAAUlG,IACtBkrB,GAAW,GtD1SS,SAAClrB,EAAQ08B,GACjC,IAAMllB,EAAW,IAAIC,SAQrB,OAPAD,EAASE,OAAO,SAAU1X,GAC1BwX,EAASE,OAAO,QAAS8E,MAEzBkgB,EAAQ7xB,SAAQ,SAAAm3B,GACdxqB,EAASE,OAAO,YAAasqB,MAGxBpuB,KAAM+D,KAAK8E,GAAW,wBAAyBjF,GsDkSlD6S,CAAWrqB,EAAQ0R,GAChByC,MAAK,SAAAlJ,GACkB,MAAlBA,EAAOwS,SACTuL,GAAU,GACVrJ,IAAYxL,MAAK,kBAAMiZ,WAG1BnT,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,UA6CxB,kBAAC,GAAD,CAAgB9X,cAnLJ,SAACF,EAASI,GAC9BqG,EAAS,2BACJ5I,GADG,IAENmC,UACAI,YA+KoDJ,QAASnC,EAAMmC,QAASI,MAAOvC,EAAMuC,MAAOoG,KAAK,iBAC/F,kBAAC,GAAD,CAAa2d,iBAAkB,SAAAiH,GAAI,OAAIrrB,EAAMsrB,iBAAiBD,SAIpE,yBAAK7rB,UAAU,oBAEX2J,EACI,kBAAC,EAAD,MACC,oCApLI,WAAO,IACd6kC,EAAalwC,EAAbkwC,SACFuG,EAAW,eAAQz2C,EAAMy2C,aACzBvrC,EAAS,GAgBf,OAdAglC,EAASplC,SAAQ,SAAAohB,GACfA,EAAKrE,QAAUznB,IAA+B8rB,EAAKtE,KAE/C6uB,EAAYvqB,EAAKtE,MACnBsE,EAAKlE,QAAUyuB,EAAYvqB,EAAKtE,MAEhCsE,EAAKlE,QAAU,EAGjB9c,EAAO1H,KAAK0oB,MAGKa,EAAU7hB,GAET/G,KAAI,SAACC,EAAMV,GAC7B,OAAO,kBAAC,GAAD,CAASsB,KAAMZ,EAAMC,IAAKX,EAAOgkB,UAAWA,EAAWR,UAAWA,EAAW0B,YAAa8D,OAiKxFwjB,GACD,yBAAKxuC,UAAU,SAAS1B,EAAM0rB,eAItC,kBAAC,GAAD,CACElB,OArDsB,WAC1B,IAAK3Z,EAAMwa,UACT,OAAOiC,ItDhTe,IAAAxO,EsDmTxBwO,IACAnC,GAAW,ItDpTarM,EsDqTXjO,EAAMwa,UtDpTdxX,KAAMC,IAAI4I,GAAWoC,EAAK,CAC/Be,OAAQ,CACNlf,MAAO8b,SsDmTNrI,MAAK,SAAA4F,GACJ,GAAIA,EAAIhV,KAAKpE,MAEX,OADAuqB,GAAW,GACJuB,EAAa1S,EAAIhV,KAAKpE,MAAO,IAEtCgf,IAAYxL,MAAK,kBAAMiZ,UAExBnT,OAAM,SAAAC,GAASgR,GAAW,GAAQtZ,QAAQjR,MAAMuZ,OAuC/CsQ,SAAU6C,EACV/C,KAAM1Z,EAAMua,QACZhR,KAAMvJ,EAAMuJ,UC7XdsC,GAAWhR,OAAO+H,SAASC,OC2NlBojC,I,OA5MC,SAAA50C,GAAU,IAChBrB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACAJ,EAAY2B,aAAY,SAAApC,GAAK,OAAIA,EAAMwB,eAAvCf,QACF4C,EAAUC,cACV0b,EAAWI,cAJM,EAKGhT,mBAAS,CACjC2qC,OAAQ,GACRC,QAAS,GACTvS,UAAW,GACXyL,SAAU,GACV7wB,aAAc,GACdE,UAAW,GACXlU,SAAS,IAZY,mBAKhBrL,EALgB,KAKT4I,EALS,KAevBrF,qBAAU,WACRyb,EAASzC,GAAiB,gBAC1ByC,EnHzBK,CACL9e,KxCVkC,yBwCWlCC,MAAO,KmHyBPyI,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAE9BgJ,QAAQC,IAAI,CAAC2iC,IAAkBC,MAC5B9iC,MAAK,SAAAlJ,GAAW,IAAD,cACgBA,EADhB,GACPglC,EADO,KACGzL,EADH,KAEVoS,EAAeM,EAAgBjH,EAASlrC,KAAKA,MAEjD4D,EAAS,2BAAK5I,GAAN,IAAakwC,SAAU2G,EAAcpS,UAAWA,EAAUz/B,KAAMqG,SAAS,UAEpF,IAEH,IAAM4rC,EAAiB,WACrB,OAAOvc,KAAiBxgB,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,OAG/C+8B,EAAkB,WACtB,OD/CKrjC,KAAMC,IAAI4I,GAJD,yBCmDQxC,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,OAG7Cg9B,EAAkB,SAAAjH,GACtB,IAAIhlC,EAAS,GAEb,IAAK,IAAI1E,KAAK0pC,EACZhlC,EAAO1H,KAAKgD,GAGd,OAAO0E,GAGH6U,EAAoB,SAAAlU,GACxBA,EAAMuG,iBACN,IAFiC,EAE7B2hC,EAAU,GAFmB,eAIN,IAAIr8B,SAAS7L,EAAMY,QAASwT,WAJtB,IAIjC,2BAAkE,CAAC,IAAD,yBAAxDrd,EAAwD,KAAlDzC,EAAkD,KAChE4zC,EAAQnxC,GAAQzC,GALe,8BAQG,IAAhCkP,OAAO6Q,KAAK6zB,GAAS5tC,QAAgB4tC,EAAQ5zB,cAAgB9Q,SAC/DzG,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KpBtCb,SAAArG,GACrB,IAAIob,EAAiB,IAAI1I,SAEzB,IAAK,IAAIrT,KAAOW,EACdob,EAAezI,OAAOtT,EAAKW,EAAKX,IAMlC,OAHA+b,EAAezI,OAAO,QAAS8E,MAC/B2D,EAAezI,OAAO,KAAM,OAErB9D,KAAM+D,KAAK8E,GA1CA,6BA0CwB0D,GoB6BtCg3B,CAAQrD,GACL3/B,MAAK,SAAAlJ,GAAW,IAAD,EACyCA,EAAOlG,KAA3Cqa,EADL,EACNiB,UAAiCf,EAD3B,EACmBgB,OAE7BlB,EACFzW,EAAS,2BAAK5I,GAAN,IAAaqf,eAAcE,YAAWlU,SAAS,KAEvD2T,EAASD,MAAmB3K,MAAK,WAC/BxL,EAAS,2BAAK5I,GAAN,IAAauf,YAAWF,aAAc,GAAIhU,SAAS,WAIhE6O,OAAM,SAAAC,GACLvR,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAC9BwG,QAAQjR,MAAMuZ,QAyCtB,OACE,yBAAKzY,UAAU,0BACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAKmvC,QAE1B,kBAAC,GAAD,CAASrxB,QAAQ,GACf,8BACA,yBAAKjd,UAAU,uBAAuBb,EAAK,gBAC3C,yBAAKa,UAAU,SAAQ,0BAAMA,UAAU,iBAAiB1B,EAAMqf,aAAe,kBAAC,IAAD,CAAiB1X,KAAK,yBAA4B,GAAxG,IAA6G3H,EAAMqf,eAC1I,yBAAK3d,UAAU,WACb,0BAAMA,UAAU,cAAc1B,EAAMuf,UAAY,kBAAC,IAAD,CAAiB5X,KAAK,yBAA4B,GAAlG,IAAsG,8BAAO8Y,KAAWzgB,EAAMuf,YAA9H,OAGJ,kBAAC,GAAD,KACGvf,EAAMqL,QAAU,kBAAC,EAAD,MACf,0BAAMqV,SAAU,SAAA7U,GAAK,OAAIkU,EAAkBlU,IAAQ1D,GAAG,YACpD,yBAAKzG,UAAU,cACb,2BAAOmb,QAAQ,YAAYhc,EAAKqjB,UAChC,2BAAOhkB,KAAK,OAAOwB,UAAU,eAAeyG,GAAG,WAAWvF,KAAK,gBAGjE,kBAAC,GAAD,CAAUA,KAAK,eAEf,yBAAKlB,UAAU,cACb,2BAAOmb,QAAQ,SACZhc,EAAKw2C,MADR,KAEE,6BACE,2BACEn3C,KAAK,WACLiI,GAAG,mBACHqE,SAAU,SAAAX,GAA4BA,EAAMY,OAAO6B,QAtC7DtO,EAAM+2C,QACRnuC,EAAS,2BAAK5I,GAAN,IAAag3C,QAASh3C,EAAM+2C,UAGtCnuC,EAAS,2BAAK5I,GAAN,IAAag3C,QAAS,SAmClB,2BAAOn6B,QAAQ,oBAAoBhc,EAAK,8CAG5C,2BACEX,KAAK,QACL0C,KAAK,UACLlB,UAAU,eACVyG,GAAG,QACHhI,MAAOH,EAAM+2C,OACbvqC,SAAU,SAAAX,GAAK,OAhEP1L,EAgEyB0L,EAAMY,OAAOtM,WA/D1DyI,EAAS,2BAAK5I,GAAN,IAAa+2C,OAAQ52C,KADT,IAAAA,GAiER4P,OAAQ,WA5Df/P,EAAMg3C,SACTpuC,EAAS,2BAAK5I,GAAN,IAAag3C,QAASh3C,EAAM+2C,cA8D9B,yBAAKl0C,MAAM,cACT,2BAAOga,QAAQ,WAAWhc,EAAKw0C,SAC/B,4BAAQxyC,MAAM,eAAesF,GAAG,UAAUvF,KAAK,aAjFlD5C,EAAMkwC,SAAS/rC,KAAI,SAAC+nB,EAAMxoB,GAAP,OACxB,4BAAQW,IAAKX,EAAOvD,MAAO+rB,GAAOA,QAqF5B,yBAAKrpB,MAAM,cACT,2BAAOga,QAAQ,YAAYhc,EAAKy2C,UAChC,4BAAQz0C,MAAM,eAAesF,GAAG,WAAWvF,KAAK,cAlFnD5C,EAAMykC,UAAUtgC,KAAI,SAACugC,EAAUhhC,GAAX,OACzB,4BAAQW,IAAKX,EAAOwC,SAAUzF,EAAQ82C,WAAa7S,EAAUvkC,MAAOukC,GAAWA,QAsFzE,yBAAKhjC,UAAU,cACb,2BAAOmb,QAAQ,aAAahc,EAAK,eACjC,2BAAOX,KAAK,OAAOwB,UAAU,eAAeyG,GAAG,YAAYvF,KAAK,aAGlE,yBAAKlB,UAAU,cACb,2BAAOmb,QAAQ,YAAYhc,EAAK,cAChC,2BAAOX,KAAK,OAAOwB,UAAU,eAAeyG,GAAG,WAAWvF,KAAK,aAGjE,yBAAKlB,UAAU,cACb,2BAAOmb,QAAQ,sCAAsChc,EAAK,4CAC1D,2BACEX,KAAK,QACLwB,UAAU,eACVyG,GAAG,qCACHhI,MAAOH,EAAMg3C,QACbxqC,SAAU,SAAA1H,GAAC,OAzFG3E,EAyFqB2E,EAAE2H,OAAOtM,WAxFxDyI,EAAS,2BAAK5I,GAAN,IAAag3C,QAAS72C,KADJ,IAAAA,GA0FdyC,KAAK,cAGT,yBAAKlB,UAAU,mBACb,4BAAQxB,KAAK,SAASwB,UAAU,OAAOb,EAAKugB,KAC5C,4BAAQlhB,KAAK,SAASwB,UAAU,OAAOuB,QAAS,kBAAMI,EAAQG,KAAK,iBAAiB3C,EAAKkgB,YC9MjGrE,GAAWhR,OAAO+H,SAASC,OCiDlB8jC,I,OAjDA,SAAAt1C,GAAU,IAYJwb,EAXX1Y,EAAS9C,EAAT8C,KACAnE,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KAkBR,OACE,kBAAC,GAAD,CACE8B,MAAM,EACNwF,GAAInD,EAAK4iB,KACTV,UARc,WAChBhlB,EAAMglB,UAAUhlB,EAAM8C,KAAK4iB,OAQzBN,QAAStiB,EAAK6iB,QACdvZ,QAAStJ,EAAK8iB,UACdX,UAfezJ,EAeM1Y,EAAK2tC,QAdV,OAAXj1B,GAeL+J,aAxBc,SAAA/J,GAChB,MAAe,OAAXA,EACK,WAGF,UAmBS+5B,CAAUzyC,EAAK2tC,UAE7B,kBAAC,GAAD,CAAWjxC,UAAU,cACnB,yBAAKA,UAAU,QAAQsD,EAAK4iB,MAC5B,yBAAKlmB,UAAU,SACb,kBAAC,GAAD,CAAWA,UAAU,OACnB,yBAAKA,UAAU,SAAQ,0BAAMA,UAAU,QAAQsD,EAAK0yC,SAEtD,kBAAC,GAAD,CAAWh2C,UAAU,OACnB,6BAAMb,EAAK82C,QAAX,KAAqB,8BAAM,0BAAMj2C,UAAU,QAAQsD,EAAK4yC,SAAnC,eAAwD5yC,EAAK6yC,KAA7D,QAEvB,kBAAC,GAAD,CAAWn2C,UAAU,OACnB,6BAAMb,EAAKi3C,QAAX,KAAqB,0BAAMp2C,UAAU,QAAQsD,EAAK+yC,gBC2Q/CC,I,OAxSC,SAAA91C,GAAU,IAChBrB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACAT,EAA+BgC,aAAY,SAAApC,GAAK,OAAIA,EAAMqB,uBAA1DjB,2BACAT,EAAmByC,aAAY,SAAApC,GAAK,OAAIA,EAAMmB,kBAA9CxB,eACFqf,EAAWI,cAJM,EAKGhT,mBAAS,CACjC6rC,QAAS,GACTtmC,UAAW,GACXumC,WAAY,GACZv3C,MAAO,GACP0K,SAAS,EACTogB,YAAY,IAXS,mBAKhBzrB,EALgB,KAKT4I,EALS,OAaGwD,mBAAS,CACjCgO,KAAM,GACNgR,SAAS,EACTC,UAAW,KAhBU,mBAahBxa,EAbgB,KAaTya,EAbS,KAmBvB/nB,qBAAU,WAMR,OALAyb,EAASzC,GAAiB,mBAC1ByC,EtH5BK,CACL9e,KxCVkC,yBwCWlCC,MAAO,KsH2BP6e,EnG7BK,CACL9e,KzDVyC,gCyDWzCC,MAAO,KmG4BPyf,IAEO,WACLZ,EnGjCG,CACL9e,KzDVyC,gCyDWzCC,MAAO,QmGiCN,IAEHoD,qBAAU,WAGR,OAFAmI,OAAOhH,iBAAiB,UAAWinB,GAE5B,WACLjgB,OAAO7G,oBAAoB,UAAW8mB,MAEvC,CAACvrB,EAA4BT,EAAgBK,EAAMi4C,UAEtD,IAAMtsB,EAAyB,SAAA9f,GACP,KAAlBA,EAAMxG,SAAoC,KAAlBwG,EAAMxG,SAC5B1F,GACFqf,EtHhDC,CACL9e,KxCVkC,yBwCWlCC,MAAO,KsHkDe,KAAlB0L,EAAMxG,SACRwG,EAAMuG,iBACNyZ,KAC2B,KAAlBhgB,EAAMxG,UACfwG,EAAMuG,iBACN0Z,MAIEC,EAAqB,SAAAksB,GACzBA,EAAQ,GAAR,QAAwBA,EAAQ,GAAR,KACxBrvC,EAAS,2BAAK5I,GAAN,IAAai4C,aACrBj5B,EAAS+E,GAAqCk0B,EAAQ,GAAR,QAG1CnsB,EAAkB,WACtB,IAAImsB,EAAO,YAAOj4C,EAAMi4C,SAMxB,GAAmC,KAA/B73C,EAAJ,CAKA,IAAI4rB,EAAyBisB,EAAQhsB,WAAU,SAAApC,GAAM,OAAIA,EAAOjC,OAASxnB,KAEzE,GAAI4rB,IAA2BisB,EAAQ9xC,OAAS,EAAG,CACjD,IAAIgmB,EAAqB8rB,EAAQjsB,EAAyB,GAC1DisB,EAAQjsB,GAAR,QAA6C,GAC7CG,EAAkB,QAAcA,EAAkB,KAClD1nB,SAASqM,eAAeqb,EAAkB,MAAUC,eAAe,CAAEC,SAAU,SAAUC,MAAO,WAChG1jB,EAAS,2BAAK5I,GAAN,IAAai4C,aACrBj5B,EAAS+E,GAAqCoI,EAAkB,aAZhEJ,EAAmBksB,IAgBjBpsB,EAAgB,WACpB,IAAIosB,EAAO,YAAOj4C,EAAMi4C,SAMxB,GAAmC,KAA/B73C,EAAJ,CAKA,IAAI4rB,EAAyBisB,EAAQhsB,WAAU,SAAApC,GAAM,OAAIA,EAAOjC,OAASxnB,KAEzE,GAA+B,IAA3B4rB,EAA8B,CAChC,IAAIG,EAAqB8rB,EAAQjsB,EAAyB,GAC1DisB,EAAQjsB,GAAR,QAA6C,GAC7CG,EAAkB,QAAcA,EAAkB,KAClD1nB,SAASqM,eAAeqb,EAAkB,MAAUC,eAAe,CAAEC,SAAU,SAAUC,MAAO,WAChG1jB,EAAS,2BAAK5I,GAAN,IAAai4C,aACrBj5B,EAAS+E,GAAqCoI,EAAkB,aAZhEJ,EAAmBksB,IAgBjBr4B,EAAY,WAChBhX,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KFrHzBwI,KAAMC,IAAI4I,GAJD,kCE4HXtI,MAAK,SAAAlJ,GACJtC,EAAS,2BACJ5I,GADG,IAEN2R,UAAW,GACXsmC,QAAStrB,EAAazhB,EAAOlG,KAAKA,MAClCkzC,WAAYhtC,EAAOlG,KAAKkzC,WACxB7sC,SAAS,QAGZ6O,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,OAG1BwS,EAAe,SAAA3nB,GACnB,IAAIizC,EAAU,GAEd,IAAK,IAAIzxC,KAAKxB,EACZA,EAAKwB,GAAL,KAAkBA,EAClBxB,EAAKwB,GAAL,QAAqBpG,IAA+BoG,EACpDyxC,EAAQz0C,KAAKwB,EAAKwB,IAGpB,OAAOyxC,GAeH/wB,EAAY,SAAAtkB,GAChB,IAAIuI,EAAS,YAAOnL,EAAM2R,WACtBwmC,EAAgB,YAAOn4C,EAAMi4C,SAC7BprB,EAAc1hB,EAAUvB,QAAQhH,GAEhCkqB,EAAeqrB,EAAiBlsB,WAAU,SAAApC,GAAM,OAAIA,EAAOjC,OAAShlB,KACxEu1C,EAAiBrrB,GAAchF,WAAaqwB,EAAiBrrB,GAAchF,WAEtD,IAAjB+E,EACF1hB,EAAUpH,OAAO8oB,EAAa,GAE9B1hB,EAAU3H,KAAKZ,GAGjBgG,EAAS,2BAAK5I,GAAN,IAAai4C,QAASE,EAAkBxmC,UAAWxG,MAGvD8d,EAAY,SAAAC,GAChB,IAAMivB,EAAgB,YAAOn4C,EAAMi4C,SAEnC,GAAI/uB,EAAS,CACX,IAAIkvB,EAAc,GAEdH,EAAUE,EAAiBh0C,KAAI,SAAA0lB,GAGjC,OAFAuuB,EAAY50C,KAAKqmB,EAAOjC,MACxBiC,EAAO/B,WAAY,EACZ+B,KAGTjhB,EAAS,2BAAK5I,GAAN,IAAai4C,UAAStmC,UAAWymC,EAAa3sB,WAAYvC,SAC7D,CACL,IAAI+uB,EAAUE,EAAiBh0C,KAAI,SAAA0lB,GAEjC,OADAA,EAAO/B,WAAY,EACZ+B,KAGTjhB,EAAS,2BAAK5I,GAAN,IAAai4C,UAAStmC,UAAW,GAAI8Z,WAAYvC,OA2DvDwD,EAAe,SAACtS,EAAMxG,GAC1BhL,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAC9BigB,EAAS,2BACJza,GADG,IAENua,SAAS,EACThR,KAAMA,EACNiR,UAAWzX,MAIT0Z,EAAqB,WACzBhC,EAAS,2BACJza,GADG,IAENua,SAAS,EACThR,KAAM,GACNiR,UAAW,OAYf,OACE,yBAAK3pB,UAAU,2BACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAKw3C,WAE1B,kBAAC,GAAD,CAAS15B,QAAQ,EAAOjd,UAAU,iBAChC,kBAAC,GAAD,CAAYkB,KAAK,eAAemmB,cAAc,IAC9C,yBAAKrnB,UAAU,UACb,yBAAKA,UAAU,8BACb,4BAAQuB,QAtEO,WACE,YAArBjD,EAAMk4C,WF1LLrkC,KAAMC,IAAN,UAAa4I,IAAb,OAtCmB,mCAsC4B,CACpDmD,OAAQ,CACNlf,MAAO8b,QE0LJrI,MAAK,SAAA4F,GACJ,GAAIA,EAAIhV,KAAKpE,MAEX,OADAgI,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KACvBqhB,EAAa1S,EAAIhV,KAAKpE,MAAO,IAGtC8rB,EAAa1S,EAAIhV,KAAKsR,QAAS,IAC/BsJ,OAED1F,OAAM,SAAAC,GACLvR,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAC9BwG,QAAQjR,MAAMuZ,MF/MftG,KAAMC,IAAN,UAAa4I,IAAb,OA7BgB,gCA6B4B,CACjDmD,OAAQ,CACNlf,MAAO8b,QEiNJrI,MAAK,SAAA4F,GACJ,GAAIA,EAAIhV,KAAKpE,MAEX,OADAgI,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KACvBqhB,EAAa1S,EAAIhV,KAAKpE,MAAO,IAGtC8rB,EAAa1S,EAAIhV,KAAKsR,QAAS,IAC/BsJ,OAED1F,OAAM,SAAAC,GACLvR,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAC9BwG,QAAQjR,MAAMuZ,OAyCuBzY,UAAU,gBAhB5B,YAArB1B,EAAMk4C,WACDr3C,EAAK,sBAELA,EAAK,sBAcN,kBAAC,GAAD,CAAUooB,UAAWA,IACrB,kBAAC,GAAD,CAAQtgB,KAAK,cAAc2hB,WA7FxB,SAAArqB,GAAW,IACd0R,EAAc3R,EAAd2R,UAEJA,EAAUxL,QAAqB,sBAAXlG,GFpMF,SAACA,EAAQg4C,GACjC,IAAMxgC,EAAW,IAAIC,SAQrB,OAPAD,EAASE,OAAO,SAAU1X,GAC1BwX,EAASE,OAAO,QAAS8E,MAEzBw7B,EAAQntC,SAAQ,SAAA+e,GACdpS,EAASE,OAAO,QAASkS,MAGpBhW,KAAM+D,KAAK8E,GAAW,sBAAuBjF,GE4LhD6S,CAAWrqB,EAAQ0R,GAChByC,MAAK,SAAA4F,GAEJ,GADAiP,GAAU,GACS,MAAfjP,EAAI0D,OAAgB,CACtB,GAAI1D,EAAIhV,KAAKpE,MAEX,OADAgI,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KACvBqhB,EAAa1S,EAAIhV,KAAKpE,MAAO,IAGtC8rB,EAAa1S,EAAIhV,KAAKsR,QAAS,IAC/BsJ,QAGH1F,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,SA6ExB,kBAAC,GAAD,CAAamM,iBAAkB,SAAAiH,GAAI,OAAIrrB,EAAMsrB,iBAAiBD,SAInEvtB,EAAMqL,QAAU,kBAAC,EAAD,MAtJL,WACd,IAAI4sC,EAAO,YAAOj4C,EAAMi4C,SAMxB,OAJAA,EAAQntC,SAAQ,SAAA+e,GACdA,EAAOhC,QAAUznB,IAA+BypB,EAAOjC,QAGlDqwB,EAAQ9zC,KAAI,SAACC,EAAMV,GACxB,OAAO,kBAAC,GAAD,CAAQsB,KAAMZ,EAAMC,IAAKX,EAAOwjB,UAAWA,OA8InB+wB,GAC/B,kBAAC,GAAD,CACEztB,OAAQ8C,EACR7C,SAAU6C,EACV/C,KAAM1Z,EAAMua,QACZhR,KAAMvJ,EAAMuJ,UCnPLk+B,I,OAzDA,SAAAp2C,GAAU,IACf8C,EAAS9C,EAAT8C,KACAnE,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KAMR,OACE,kBAAC,GAAD,CACEsH,GAAInD,EAAK4iB,KACTN,QAAStiB,EAAK6iB,QACdN,QAASviB,EAAKuzC,SACdjqC,QAAStJ,EAAK8iB,UACdZ,UAVc,WAChBhlB,EAAMglB,UAAUhlB,EAAM8C,KAAKuzC,YAWzB,kBAAC,GAAD,CAAW72C,UAAU,cACnB,yBAAKA,UAAU,QAAQsD,EAAKuzC,UAC5B,yBAAK72C,UAAU,SACb,kBAAC,GAAD,CAAWA,UAAU,OACnB,yBAAKA,UAAU,SAAQ,8BAAM,0BAAMA,UAAU,QAAQsD,EAAKwzC,GAA7B,IAAkCxzC,EAAK4yC,SAA7C,mCAAgG5yC,EAAK6yC,KAArG,QAEzB,kBAAC,GAAD,CAAWn2C,UAAU,OACnB,6BAAMb,EAAK,gBAAX,KAA6B,8BAAM,0BAAMa,UAAU,QAAQsD,EAAKyzC,gBAElE,kBAAC,GAAD,CAAW/2C,UAAU,OACnB,6BAAK,8BAAOb,EAAK63C,OAAZ,KAAqB,0BAAMh3C,UAAU,QAAQsD,EAAK2zC,aAI7D,yBAAKj3C,UAAU,WAEb,6BACE,kBAAC,KAAD,CAAMA,UAAU,YAAY8Q,GAAE,iBAC3B3R,EAAK+3C,UACL5zC,EAAK6iB,QAAU,0BAAMnmB,UAAU,gCAAhB,UAAgE,kBAAC,IAAD,CAAiBiG,KAAK,WAI1G,6BACE,4BAAQjG,UAAU,wBAAwBuB,QAAS,kBAAMf,EAAMqf,aAAN,2CAAuDvc,EAAK4iB,SAClH/mB,EAAKghB,QAEJ7c,EAAK6iB,QACD,0BAAMnmB,UAAU,mBAAhB,KACA,yBAAKM,MAAM,MAAM62C,OAAO,MAAMC,QAAQ,YAAYj2C,MAAM,qBAAqBk2C,KAAK,eAAeC,MAAM,8BACvG,0BAAMC,YAAU,UAAUC,EAAE,6NAC5B,0BAAMD,YAAU,UAAUC,EAAE,qNCuB/BZ,I,OAtEA,SAAAp2C,GAAU,IACf8C,EAAS9C,EAAT8C,KACAnE,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KAMR,OACE,kBAAC,GAAD,CACEsH,GAAInD,EAAK4iB,KACTN,QAAStiB,EAAK6iB,QACdvZ,QAAStJ,EAAK8iB,UACdT,QAAwB,YAAfriB,EAAKm0C,MACdjyB,UAVc,WAChBhlB,EAAMglB,UAAUliB,EAAK4iB,QAWnB,kBAAC,GAAD,CAAWlmB,UAAU,cACnB,yBAAKA,UAAU,eAAesD,EAAK4iB,MACnC,yBAAKlmB,UAAU,SACb,kBAAC,GAAD,CAAWA,UAAU,OACnB,yBAAKA,UAAU,SAAQ,0BAAMA,UAAU,QAAQb,EAAKmE,EAAKo0C,WAE3D,kBAAC,GAAD,CAAW13C,UAAU,QACrB,kBAAC,GAAD,CAAWA,UAAU,OACnB,yBAAKA,UAAU,SAAQ,8BAAOb,EAAKw4C,IAAZ,KAAkB,0BAAM33C,UAAU,QAAQsD,EAAKq0C,QAExE,kBAAC,GAAD,CAAW33C,UAAU,OACnB,6BAAK,8BAAOb,EAAKy4C,OAAZ,KAAqB,0BAAM53C,UAAU,QAAQsD,EAAKu0C,IAA7B,IAAmC14C,EAAKwsC,OAEpE,kBAAC,GAAD,CAAW3rC,UAAU,OACnB,6BAAK,8BAAOb,EAAK63C,OAAZ,KAAqB,0BAAMh3C,UAAU,QAAQsD,EAAKw0C,UAEzD,kBAAC,GAAD,CAAW93C,UAAU,UAGzB,yBAAKA,UAAU,WAEb,6BACE,kBAAC,KAAD,CAAMA,UAAU,YAAY8Q,GAAE,uBAAkBxN,EAAK4iB,OAClD/mB,EAAK+3C,UACL5zC,EAAK6iB,QAAU,0BAAMnmB,UAAU,gCAAhB,UAAgE,kBAAC,IAAD,CAAiBiG,KAAK,WAI1G,6BACE,4BAAQjG,UAAU,cAAcuB,QAAS,kBAAMf,EAAMqf,aAAa,UAAYvc,EAAKy0C,cACjE,YAAfz0C,EAAKm0C,MAAsBt4C,EAAKkpB,KAAOlpB,EAAKmpB,MAC5ChlB,EAAK6iB,QAAU,0BAAMnmB,UAAU,mBAAhB,KAA6C,kBAAC,IAAD,CAAiBiG,KAAqB,YAAf3C,EAAKm0C,MAAsB,OAAS,WAI5H,6BACE,4BAAQz3C,UAAU,wBAAwBuB,QAAS,kBAAMf,EAAMqf,aAAN,uCAAmDvc,EAAK4iB,SAC9G/mB,EAAKghB,QAEJ7c,EAAK6iB,QACD,0BAAMnmB,UAAU,mBAAhB,KACA,yBAAKM,MAAM,MAAM62C,OAAO,MAAMC,QAAQ,YAAYj2C,MAAM,qBAAqBk2C,KAAK,eAAeC,MAAM,8BACvG,0BAAMC,YAAU,UAAUC,EAAE,6NAC5B,0BAAMD,YAAU,UAAUC,EAAE,qNCqR/BQ,I,OAtUC,SAAAx3C,GAAU,IAChBrB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACAT,EAA+BgC,aAAY,SAAApC,GAAK,OAAIA,EAAMqB,uBAA1DjB,2BACAT,EAAmByC,aAAY,SAAApC,GAAK,OAAIA,EAAMmB,kBAA9CxB,eACFqf,EAAWI,cAJM,EAKOhT,oBAAS,GALhB,mBAKhBf,EALgB,KAKP8f,EALO,OAMG/e,mBAAS,CACjCgO,KAAM,GACNgR,SAAS,EACTC,UAAW,KATU,mBAMhBxa,EANgB,KAMTya,EANS,OAWGlf,mBAAS,CACjCutC,QAAS,GACThoC,UAAW,GACX8Z,YAAY,EACZtpB,QAAStB,EAAK6kB,OACdnjB,MAAO,eAhBc,mBAWhBvC,EAXgB,KAWT4I,EAXS,KAmBvBrF,qBAAU,WAMR,OALAyb,EAASzC,GAAiB,kBAC1ByC,EzH7BK,CACL9e,KxCVkC,yBwCWlCC,MAAO,KyH4BP6e,EtG9BK,CACL9e,KzDVyC,gCyDWzCC,MAAO,KsG6BPyf,IAAYxL,MAAK,kBAAM+W,GAAW,MAE3B,WACLnM,EtGlCG,CACL9e,KzDVyC,gCyDWzCC,MAAO,QsGkCN,IAEHoD,qBAAU,WAIR,OAHAmI,OAAOhH,iBAAiB,UAAWinB,GACnCjgB,OAAOhH,iBAAiB,UAAWknB,GAE5B,WACLlgB,OAAO7G,oBAAoB,UAAW8mB,GACtCjgB,OAAO7G,oBAAoB,UAAW+mB,MAEvC,CAACxrB,EAA4BT,EAAgBK,EAAM25C,UAEtD,IAAMhuB,EAAyB,SAAA9f,GACP,KAAlBA,EAAMxG,SAAoC,KAAlBwG,EAAMxG,SAC5B1F,GACFqf,EzHnDC,CACL9e,KxCVkC,yBwCWlCC,MAAO,KyHqDe,KAAlB0L,EAAMxG,SACRwG,EAAMuG,iBACNyZ,KAC2B,KAAlBhgB,EAAMxG,UACfwG,EAAMuG,iBACN0Z,MAIEC,EAAqB,SAAA4tB,GACzBA,EAAQ,GAAR,QAAwBA,EAAQ,GAAR,KACxB/wC,EAAS,2BAAK5I,GAAN,IAAa25C,aACrB36B,EAAS+E,GAAqC41B,EAAQ,MAGlD7tB,EAAkB,WACtB,IAAI6tB,EAAO,YAAO35C,EAAM25C,SAMxB,GAAwC,KAApCv5C,EAA2BwnB,MAA8C,KAA/BxnB,EAA9C,CAKA,IAAI4rB,EAAyB2tB,EAAQ1tB,WAAU,SAAAzY,GAAM,OAAIA,EAAOoU,OAASxnB,EAA2BwnB,QAEpG,GAAIoE,IAA2B2tB,EAAQxzC,OAAS,EAAG,CACjD,IAAIgmB,EAAqBwtB,EAAQ3tB,EAAyB,GAC1D2tB,EAAQ3tB,GAAR,QAA6C,GAC7CG,EAAkB,QAAcA,EAAkB,KAClD1nB,SAASqM,eAAeqb,EAAkB,MAAUC,eAAe,CAAEC,SAAU,SAAUC,MAAO,WAChG1jB,EAAS,2BAAK5I,GAAN,IAAa25C,aACrB36B,EAAS+E,GAAqCoI,UAZ9CJ,EAAmB4tB,IAgBjB9tB,EAAgB,WACpB,IAAI8tB,EAAO,YAAO35C,EAAM25C,SAMxB,GAAwC,KAApCv5C,EAA2BwnB,MAA8C,KAA/BxnB,EAA9C,CAKA,IAAI4rB,EAAyB2tB,EAAQ1tB,WAAU,SAAAzY,GAAM,OAAIA,EAAOoU,OAASxnB,EAA2BwnB,QAEpG,GAA+B,IAA3BoE,EAA8B,CAChC,IAAIG,EAAqBwtB,EAAQ3tB,EAAyB,GAC1D2tB,EAAQ3tB,GAAR,QAA6C,GAC7CG,EAAkB,QAAcA,EAAkB,KAClD1nB,SAASqM,eAAeqb,EAAkB,MAAUC,eAAe,CAAEC,SAAU,SAAUC,MAAO,WAChG1jB,EAAS,2BAAK5I,GAAN,IAAa25C,aACrB36B,EAAS+E,GAAqCoI,UAZ9CJ,EAAmB4tB,IAgBjB/tB,EAAgC,SAAA/f,GACpC,IAAIC,EAAuBrH,SAASsH,cAAc,gBAAkBtH,SAASsH,cAAc,kBAE3F,GAAI3L,EAA2BwnB,OAAS9b,EACtC,OAAQD,EAAMxG,SACZ,KAAK,GAAI,OAAOu0C,IAChB,KAAK,GAAI,OAAOC,IAChB,KAAK,GAAI,OAAOC,MAMhBF,EAAkB,WAClBx5C,EAA2BwnB,OAAS5nB,EAAM25C,QAAQ,GAAG/xB,KACvD1lB,EAAMmB,QAAQG,KAAd,uBAAmCpD,EAA2BwnB,OAE9D1lB,EAAMmB,QAAQG,KAAK,kBAIjBs2C,EAAa,WACjBC,EAAe,UAAY35C,EAA2Bq5C,aAGlDI,EAAgB,WACpBE,EAAe,gCAAD,OAAiC35C,EAA2BwnB,QAGtEhI,EAAY,WAEhB,OADAuL,GAAW,GACJ,IAAI9W,SAAQ,SAACwB,EAASqJ,G3GvJxBrL,KAAMC,IAAI4I,GAJD,iC2G6JTtI,MAAK,SAAAlJ,GACJtC,EAAS,2BACJ5I,GADG,IAEN2R,UAAW,GACX8Z,YAAY,EACZkuB,QAAShtB,EAAazhB,EAAOlG,KAAKA,KAAMkG,EAAOlG,KAAKg1C,QAEtDnkC,OAEDqE,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,UAI5BwS,EAAe,SAACgtB,EAASpyB,GAC7B,IAAIrc,EAAS,GAEb,IAAK,IAAI1E,KAAKmzC,EACZA,EAAQnzC,GAAR,KAAqBA,EACrBmzC,EAAQnzC,GAAR,QAAwBpG,EAA2BwnB,OAASphB,EAE5D0E,EAAO1H,KAAKm2C,EAAQnzC,IAMtB,OAHA0E,EAAOnH,OAAO,EAAG,EAAGsL,OAAOC,OAAOiY,GAAS,IAC3Crc,EAAO,GAAP,KAAoBA,EAAO,GAAP,SAEbA,GAoBH6uC,EAAiB,SAAAj7B,GACrBE,EtGtMK,CACL9e,KzDVyC,gCyDWzCC,MAAO,KsGqMH2e,IACFqM,GAAW,GACX5J,GAAazC,GACV1K,MAAK,SAAA4F,GACAA,EAAIhV,KAAKpE,OACX8rB,EAAa1S,EAAIhV,KAAKpE,OAGxBgf,IAAYxL,MAAK,kBAAM+W,GAAW,SAEnCjR,OAAM,SAAAC,GACLgR,GAAW,GACXtZ,QAAQjR,MAAMuZ,QAKhB8O,EAAY,SAAAC,GAChB,IAAI+wB,EAAgB,YAAOj6C,EAAM25C,SAEjC,GAAIzwB,EAAS,CACX,IAAIgxB,EAAc,GAEdP,EAAUM,EAAiB91C,KAAI,SAAAqP,GAGjC,OAFA0mC,EAAY12C,KAAKgQ,EAAOoU,MACxBpU,EAAOsU,WAAY,EACZtU,KAGT5K,EAAS,2BAAK5I,GAAN,IAAa25C,UAAShoC,UAAWuoC,EAAazuB,WAAYvC,SAC7D,CACL,IAAIywB,EAAUM,EAAiB91C,KAAI,SAAAqP,GAEjC,OADAA,EAAOsU,WAAY,EACZtU,KAGT5K,EAAS,2BAAK5I,GAAN,IAAa25C,UAAShoC,UAAW,GAAI8Z,WAAYvC,OAsBvDhC,EAAY,SAAAtkB,GAAS,IACjB+O,EAAc3R,EAAd2R,UACJxG,EAAS,YAAOwG,GAChBsoC,EAAgB,YAAOj6C,EAAM25C,SAC7B9sB,EAAc1hB,EAAUvB,QAAQhH,GAEhCkqB,EAAemtB,EAAiBhuB,WAAU,SAAAzY,GAAM,OAAIA,EAAOoU,OAAShlB,KACxEq3C,EAAiBntB,GAAchF,WAAamyB,EAAiBntB,GAAchF,WAEtD,IAAjB+E,EACF1hB,EAAUpH,OAAO8oB,EAAa,GAE9B1hB,EAAU3H,KAAKZ,GAGjBgG,EAAS,2BAAK5I,GAAN,IAAa25C,QAASM,EAAkBtoC,UAAWxG,MAGvDuhB,EAAe,SAAAtS,GACnBkR,EAAS,2BAAKza,GAAN,IAAaua,SAAS,EAAMhR,WAsBhCkT,EAAqB,WACzBhC,EAAS,2BAAKza,GAAN,IAAaua,SAAS,EAAOhR,KAAM,OAG7C,OACE,yBAAK1Y,UAAU,gBACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAK0hB,UAE1B,kBAAC,GAAD,CAAS5D,QAAQ,GACf,kBAAC,GAAD,CAAY9C,KAAK,gBAAgBlT,KAAK,SAAS/F,KAAM/B,EAAK+3C,UAAW7vB,cAAc,IACnF,yBAAKrnB,UAAU,UACb,yBAAKA,UAAU,8BACb,kBAAC,KAAD,CAAM8Q,GAAG,gCAAgC9Q,UAAU,gBAAgBb,EAAK,iCACxE,kBAAC,GAAD,CAAUooB,UAAWA,EAAWC,QAASlpB,EAAMyrB,aAC/C,kBAAC,GAAD,CAAQ9iB,KAAK,aAAa2hB,WA1EvB,SAAArqB,GAAW,IACd0R,EAAc3R,EAAd2R,UAEJA,EAAUxL,QAAUlG,IACtB2I,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,K3GlPV,SAACpL,EAAQ0hB,GACjC,IAAMlK,EAAW,IAAIC,SAQrB,OAPAD,EAASE,OAAO,SAAU1X,GAC1BwX,EAASE,OAAO,QAAS8E,MAEzBkF,EAAS7W,SAAQ,SAAA4W,GACfjK,EAASE,OAAO,YAAa+J,MAGxB7N,KAAM+D,KAAK8E,GAAW,wBAAyBjF,G2G0OlD6S,CAAWrqB,EAAQ0R,GAChByC,MAAK,SAAA4F,GACAA,EAAIhV,KAAKpE,OACX8rB,EAAa1S,EAAIhV,KAAKpE,OAGxBqoB,GAAU,GACVrJ,IAAYxL,MAAK,kBAAM+W,GAAW,SAEnCjR,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,UA6DxB,kBAAC,GAAD,CAAamM,iBAAkB,SAAAiH,GAAI,OAAIrrB,EAAMsrB,iBAAiBD,SAInEliB,EAAU,kBAAC,EAAD,MACT,yBAAK3J,UAAU,mBA3IL,WACd,IAAMwJ,EAAS,GAOf,OALAlL,EAAM25C,QAAQ7uC,SAAQ,SAAA0I,GACpBA,EAAOqU,QAAUznB,EAA2BwnB,OAASpU,EAAOoU,KAC5D1c,EAAO1H,KAAKgQ,MAGPtI,EAAO/G,KAAI,SAACC,EAAMV,GACvB,OAAIU,EAAKm0C,SACA,kBAAC,GAAD,CAAWvzC,KAAMZ,EAAMC,IAAKX,EAAOwjB,UAAWA,EAAW3F,aAAcw4B,IAEvE,kBAAC,GAAD,CAAQ/0C,KAAMZ,EAAMC,IAAKX,EAAOwjB,UAAWA,EAAW3F,aAAcw4B,OAgIxEJ,IAIL,kBAAC,GAAD,CACEnvB,OA9CsB,WAC1B,IAAK3Z,EAAMwa,UACT,OAAOiC,IAGTA,IACAnC,GAAW,GACX5J,GAAa1Q,EAAMwa,WAChBjX,MAAK,SAAA4F,GACJ,GAAIA,EAAIhV,KAAKpE,MAEX,OADAuqB,GAAW,GACJuB,EAAa1S,EAAIhV,KAAKpE,MAAO,IAGtCgf,IAAYxL,MAAK,kBAAM+W,GAAW,SAEnCjR,OAAM,SAAAC,GAASgR,GAAW,GAAQtZ,QAAQjR,MAAMuZ,OA+B/CsQ,SAAU6C,EACV3C,kBAAkB,EAClBJ,KAAM1Z,EAAMua,QACZhR,KAAMvJ,EAAMuJ,UCnUdrY,I,OAAQ,SAAC,GAA4B,IAA1Bo4C,EAAyB,EAAzBA,WACf,IADwC,EAAbx7B,OAK3B,OAAIla,SAAS4Z,gBAAgBC,YAAc,IAClC67B,EAEA,KAmJIlpC,GA/IF,SAAA/O,GAAU,IAAD,EACsBE,aAAY,SAAApC,GAAK,OAAIA,EAAMmB,kBAA7DvB,EADY,EACZA,cAAeD,EADH,EACGA,eADH,EAEOyC,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAA9CI,EAFY,EAEZA,KAAMC,EAFM,EAENA,SACNE,EAAUoB,aAAY,SAAApC,GAAK,OAAIA,EAAMgB,SAArCA,MACAP,EAAY2B,aAAY,SAAApC,GAAK,OAAIA,EAAMwB,eAAvCf,QACAF,EAAS6B,aAAY,SAAApC,GAAK,OAAIA,EAAMuB,gBAApChB,KACFye,EAAWI,cAEjB7b,qBAAU,WACJhD,EAAKg3C,UACP9uC,aAAaS,QAAQ,WAAY3I,EAAKg3C,YAEvC,CAACh3C,IAEJ,IAlCgBs4C,EAkCVuB,EAAc,SAAChiB,EAAKvsB,GACxB,GAAI,UAAGH,OAAO+H,SAAS9N,UAAnB,OAA8B+F,OAAO+H,SAAS7N,UAAawyB,EAC7D,OAAOvsB,EAAMuG,iBAGf4M,EAASzC,GAAiB6b,KAGtBiiB,EAAgB,SAAAC,GACpB,MAAM,QAAN,OAAeA,IAAe16C,GAAiB,WAA/C,YAA6D06C,IAAe36C,GAAkB,UAGhG,OAAKqB,EAAMF,GAGT,yBAAKY,UAAU,gBACb,yBAAKA,WAlDOm3C,EAkDc32C,EAAMi4C,WAjDrB,KAAXtB,EACK,mBAEA,aA8CwC92C,MAAO,CAAE82C,OAAQ92C,GAAMG,KAClE,yBAAKR,UAAW24C,EAAc,gBAC5B,kBAAC,KAAD,CAAM7nC,GAAG,cAAcvP,QAAS,SAAA4I,GAAK,OAAIuuC,EAAY,cAAevuC,IAAQ0uC,WAAY,SAAA1uC,GAAK,OAAIA,EAAMuG,mBACrG,4BAAKvR,EAAKmvC,MACV,yBAAKtuC,UAAU,SAEXjB,EAAQ+5C,MAAQx5C,EAAMP,EAAQ+5C,MACzB,oCACD,6BACE,8BAAO35C,EAAKsjB,KAAZ,KACA,8BACE,0BAAMziB,UAAU,SACbV,EAAMP,EAAQ+5C,MAAd,OACD,0BAAM94C,UAAU,QAAQV,EAAMP,EAAQ+5C,MAAd,mBAI9B,6BACE,8BAAO35C,EAAKujB,UAAZ,KACA,8BACE,0BAAM1iB,UAAU,SACbV,EAAMP,EAAQ+5C,MAAd,YACD,0BAAM94C,UAAU,QAAQV,EAAMP,EAAQ+5C,MAAd,yBAK7B,oCACD,6BAAK,8BAAO35C,EAAKggB,MAAZ,KAAL,IAAgC,8BAAOtgB,EAAKk6C,UAC5C,6BAAK,8BAAO55C,EAAK65C,KAAZ,KAAL,IAA+B,8BAAOn6C,EAAKo6C,sBAOlB,MAAnC35C,EAAMF,GAAN,aAA2C,yBAAKY,UAAW24C,EAAc,eACvE,kBAAC,KAAD,CAAM7nC,GAAG,aAAavP,QAAS,SAAA4I,GAAK,OAAIuuC,EAAY,aAAcvuC,IAAQ0uC,WAAY,SAAA1uC,GAAK,OAAIA,EAAMuG,mBACnG,4BAAKvR,EAAK+xB,KACV,yBAAKlxB,UAAU,SACb,6BAAK,8BAAOb,EAAK+5C,QAAZ,KAAL,IAAkC,8BAAOr6C,EAAK8nB,gBAC9C,6BAAK,8BAAOxnB,EAAK4vB,QAAZ,KAAL,IAAkC,8BAAOlwB,EAAKs6C,gBAC9C,6BAAK,8BAAOh6C,EAAK65C,KAAZ,KAAL,IAA+B,8BAAOn6C,EAAKu6C,mBAOd,MAAnC95C,EAAMF,GAAN,aAA2C,yBAAKY,UAAW24C,EAAc,eACvE,kBAAC,KAAD,CAAM7nC,GAAG,aAAavP,QAAS,SAAA4I,GAAK,OAAIuuC,EAAY,aAAcvuC,IAAQ0uC,WAAY,SAAA1uC,GAAK,OAAIA,EAAMuG,mBACnG,4BAAKvR,EAAK0oC,KACV,yBAAK7nC,UAAU,SACb,6BAAK,8BAAOb,EAAK+5C,QAAZ,KAAL,IAAkC,8BAAOr6C,EAAKw6C,gBAC9C,6BAAK,8BAAOl6C,EAAKm6C,QAAZ,KAAL,IAAkC,8BAAOz6C,EAAK06C,gBAC9C,6BAAK,8BAAOp6C,EAAK65C,KAAZ,KAAL,IAA+B,8BAAOn6C,EAAK26C,mBAOb,MAApCl6C,EAAMF,GAAN,cAA4C,yBAAKY,UAAW24C,EAAc,gBACxE,kBAAC,KAAD,CAAM7nC,GAAG,cAAcvP,QAAS,SAAA4I,GAAK,OAAIuuC,EAAY,cAAevuC,IAAQ0uC,WAAY,SAAA1uC,GAAK,OAAIA,EAAMuG,mBACrG,4BAAKvR,EAAKymC,MACV,yBAAK5lC,UAAU,SACb,6BAAK,8BAAOb,EAAK+5C,QAAZ,KAAL,IAAkC,8BAAOr6C,EAAK46C,iBAC9C,6BAAK,8BAAOt6C,EAAKu6C,SAAZ,KAAL,IAAmC,8BAAO76C,EAAK86C,kBAC/C,6BAAK,8BAAOx6C,EAAK65C,KAAZ,KAAL,IAA+B,8BAAOn6C,EAAK+6C,oBAOhB,MAAjCt6C,EAAMF,GAAN,WAAyC,yBAAKY,UAAW24C,EAAc,cACrE,kBAAC,KAAD,CAAM7nC,GAAG,YAAYvP,QAAS,SAAA4I,GAAK,OAAIuuC,EAAY,YAAavuC,IAAQ0uC,WAAY,SAAA1uC,GAAK,OAAIA,EAAMuG,mBACjG,4BAAKvR,EAAK6yB,IACV,yBAAKhyB,UAAU,SACb,6BAAK,8BAAOb,EAAK47B,UAAZ,KAAL,IAAoC,8BAAOl8B,EAAKg7C,cAChD,6BAAK,8BAAO16C,EAAK65C,KAAZ,KAAL,IAA+B,8BAAOn6C,EAAKi7C,kBAOhB,MAAjCx6C,EAAMF,GAAN,WAAyC,yBAAKY,UAAW24C,EAAc,gBACrE,kBAAC,KAAD,CAAM7nC,GAAG,cAAcvP,QAAS,SAAA4I,GAAK,OAAIuuC,EAAY,cAAevuC,IAAQ0uC,WAAY,SAAA1uC,GAAK,OAAIA,EAAMuG,mBACrG,4BAAKvR,EAAK+4B,MACV,yBAAKl4B,UAAU,SACb,6BAAK,8BAAOb,EAAK46C,KAAZ,KAAL,IAA+B,8BAAOl7C,EAAKm7C,cAC3C,6BAAK,8BAAO76C,EAAK65C,KAAZ,KAAL,IAA+B,8BAAOn6C,EAAKo7C,oBAOlB,MAA/B36C,EAAMF,GAAN,SAAuC,yBAAKY,UAAW24C,EAAc,iBAAmB,SACtF,kBAAC,KAAD,CAAM7nC,GAAG,gBAAgBvP,QAAS,SAAA4I,GAAK,OAAIuuC,EAAY,gBAAiBvuC,IAAQ0uC,WAAY,SAAA1uC,GAAK,OAAIA,EAAMuG,mBACzG,4BAAKvR,EAAK6iB,QACV,yBAAKhiB,UAAU,SACb,6BAAK,8BAAOb,EAAK87B,QAAZ,KAAL,IAAkC,8BAAOp8B,EAAKq7C,iBA3G/B,kBAAC,EAAD,OC2BhBC,I,OA1EM,SAAA35C,GAAU,IAAD,IACDE,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAA9CI,EADoB,EACpBA,KAAMC,EADc,EACdA,SACNL,EAAY2B,aAAY,SAAApC,GAAK,OAAIA,EAAMwB,eAAvCf,QAFoB,EAGc2B,aAAY,SAAApC,GAAK,OAAIA,EAAMmB,kBAA7DvB,EAHoB,EAGpBA,cAAeD,EAHK,EAGLA,eACjBqf,EAAWI,cAEX1d,EAAY,SAAC44C,GAAiC,IAArBwB,EAAoB,uDAAP,GACtCp6C,EAAY,WAUhB,OARI44C,IAAe16C,IACjB8B,GAAa,WAGX44C,IAAe36C,IACjB+B,GAAa,UAGRA,EAAS,WAAOo6C,IAGnB1B,EAAc,SAAChiB,EAAKvsB,GACxB,GAAI,UAAGH,OAAO+H,SAAS9N,UAAnB,OAA8B+F,OAAO+H,SAAS7N,UAAawyB,EAC7D,OAAOvsB,EAAMuG,iBAGf4M,EAASzC,GAAiB6b,KAG5B,OACE,yBAAK12B,UAAWQ,EAAMW,OACpB,yBAAKnB,UAAU,eACC,UAAbZ,GAAyB,oCACxB,yBAAKY,UAAWA,EAAU,mBACxB,kBAAC,KAAD,CAAM8Q,GAAG,iBAAiBvP,QAAS,SAAA4I,GAAK,OAAIuuC,EAAY,iBAAkBvuC,IAAQ0uC,WAAY,SAAA1uC,GAAK,OAAIA,EAAMuG,mBAAmBvR,EAAK21C,WAEvI,yBAAK90C,UAAWA,EAAU,cACxB,kBAAC,KAAD,CAAM8Q,GAAG,YAAYvP,QAAS,SAAA4I,GAAK,OAAIuuC,EAAY,YAAavuC,IAAQ0uC,WAAY,SAAA1uC,GAAK,OAAIA,EAAMuG,mBAAmBvR,EAAK2f,KAE7H,yBAAK9e,UAAWA,EAAU,eACxB,kBAAC,KAAD,CAAM8Q,GAAG,aAAavP,QAAS,SAAA4I,GAAK,OAAIuuC,EAAY,aAAcvuC,IAAQ0uC,WAAY,SAAA1uC,GAAK,OAAIA,EAAMuG,mBAAmBvR,EAAKk7C,UAGjI,yBAAKr6C,UAAWA,EAAU,iBACxB,kBAAC,KAAD,CAAM8Q,GAAG,eAAevP,QAAS,SAAA4I,GAAK,OAAIuuC,EAAY,eAAgBvuC,IAAQ0uC,WAAY,SAAA1uC,GAAK,OAAIA,EAAMuG,mBAAmBvR,EAAKm7C,aAEnI,yBAAKt6C,UAAWA,EAAU,eACxB,kBAAC,KAAD,CAAM8Q,GAAG,aAAavP,QAAS,SAAA4I,GAAK,OAAIuuC,EAAY,aAAcvuC,IAAQ0uC,WAAY,SAAA1uC,GAAK,OAAIA,EAAMuG,mBAAmBvR,EAAKo7C,MAEjH,UAAbn7C,GAAyB,oCACxB,yBAAKY,UAAWA,EAAU,mBACxB,kBAAC,KAAD,CAAM8Q,GAAG,iBAAiBvP,QAAS,SAAA4I,GAAK,OAAIuuC,EAAY,iBAAkBvuC,IAAQ0uC,WAAY,SAAA1uC,GAAK,OAAIA,EAAMuG,mBAAmBvR,EAAKm3C,UAEtIv3C,EAAQy7C,iBAAmB,yBAAKx6C,UAAWA,EAAU,oBACpD,kBAAC,KAAD,CAAM8Q,GAAG,kBAAkBvP,QAAS,SAAA4I,GAAK,OAAIuuC,EAAY,kBAAmBvuC,IAAQ0uC,WAAY,SAAA1uC,GAAK,OAAIA,EAAMuG,mBAAmBvR,EAAKiuC,YAG1IruC,EAAQ07C,iBAAmB,yBAAKz6C,UAAWA,EAAU,qBACpD,kBAAC,KAAD,CAAM8Q,GAAG,oBAAoB3R,EAAK,kBAEX,QAAxBJ,EAAQ27C,aAAyB,yBAAK16C,UAAWA,EAAU,kBAAkB,kBAAC,KAAD,CAAM8Q,GAAG,gBAAgB/F,OAAO,UAAhC,UAA0C5L,EAAKw7C,YAA/C,QAAuD,SAEvH,UAAbv7C,GACC,yBAAKY,UAAWA,EAAU,kBACxB,kBAAC,KAAD,CAAM8Q,GAAG,gBAAgBvP,QAAS,SAAA4I,GAAK,OAAIuuC,EAAY,gBAAiBvuC,IAAQ0uC,WAAY,SAAA1uC,GAAK,OAAIA,EAAMuG,mBAAmBvR,EAAKy3C,UAIzI,yBAAK52C,UAAU,oBACb,kBAAC,GAAD,CAAMid,QAAQ,QCzElBjC,GAAWhR,OAAO+H,SAASC,OCAhB,SAAS4oC,GAAKp6C,GAC3B,OACE,yBAAKF,MAAM,OAAO62C,OAAO,OAAOC,QAAQ,YAAY3wC,GAAG,+BAA+Bo0C,YAAU,8BAA8BvD,MAAM,8BAClI,0BAAM7wC,GAAG,WAAWnG,MAAM,KAAK62C,OAAO,KAAKE,KAAK,SAChD,0BAAM5wC,GAAG,QAAQ+wC,EAAE,giBAAgiBxoB,UAAU,uBAAuBqoB,KAAK,aCJhlB,SAASyD,GAAWt6C,GACjC,OAAQ,yBAAKF,MAAM,OAAO62C,OAAO,OAAOC,QAAQ,YAAY3wC,GAAG,qCAAqCo0C,YAAU,oCAAoCvD,MAAM,8BACtJ,0BAAM7wC,GAAG,WAAWnG,MAAM,KAAK62C,OAAO,KAAKE,KAAK,SAChD,0BAAM5wC,GAAG,QAAQ+wC,EAAE,0vBAA0vBxoB,UAAU,uBAAuBqoB,KAAK,YACnzB,0BAAM5wC,GAAG,UAAUo0C,YAAU,QAAQrD,EAAE,kDAAkDxoB,UAAU,kBAAkBqoB,KAAK,a,WCmF/G0D,GAhFO,WAAO,IACnB57C,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACAR,EAAkB+B,aAAY,SAAApC,GAAK,OAAIA,EAAMK,iBAA7CA,cACF2e,EAAWI,cAHS,EAIIhT,oBAAS,GAJb,mBAInBf,EAJmB,KAIV8f,EAJU,KAM1B5nB,qBAAU,WACHlD,EAAc8F,QACjByZ,MAED,CAACvf,IAEJ,IAAMuf,EAAY,WAChBuL,GAAW,GHfNtX,KAAMC,IAAI4I,GAJO,uCAIyB,CAC/CmD,OAAQ,CACN68B,KAAM,EACN/7C,MAAO8b,QGcNrI,MAAK,SAAA4F,GACJ,IAAM9O,EAAS,GAEf,IAAK,IAAIyxC,KAAgB3iC,EAAIhV,KAAKkG,OAChCA,EAAO1H,KAAKwW,EAAIhV,KAAKkG,OAAOyxC,IAG9B39B,EC5BC,CACL9e,KpKJ6B,oBoKK7BC,MD0B8B+K,IAC1BigB,GAAW,MAEZjR,OAAM,SAAAC,GACLtI,QAAQjR,MAAMuZ,GACdgR,GAAW,OAIXyxB,EAAqB,SAAAz0C,IHzBK,SAAAA,GAChC,OAAO0L,KAAMC,IAAI4I,GAZU,wCAYyB,CAClDmD,OAAQ,CACN,OAAU,EACV,gBAAmB1X,EACnBxH,MAAO8b,SGqBTogC,CAAmB10C,GAChBiM,MAAK,WACJwL,OAED1F,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,OA0BhC,OACE,yBAAKzY,UAAU,aACb,4BAAQxB,KAAK,SAASwB,UAAU,iCAAiCoB,cAAY,WAAWC,gBAAc,OAAOC,gBAAc,SACzH,yBAAKtB,UAAU,QAEXrB,EAAc8F,OACV,kBAACq2C,GAAD,MACA,kBAACF,GAAD,QAIV,yBAAK56C,UAAU,iBACZ2J,EAAU,UAlCXhL,EAAc8F,OACT9F,EAAc8D,KAAI,SAAAC,GACvB,OACE,oCACE,yBAAK1C,UAAU,iBACb,0BAAMA,UAAU,SAAQ,2BAAI0C,EAAK04C,QACjC,0BAAMp7C,UAAU,sBAAsBuB,QAAS,kBAAM25C,EAAmBx4C,EAAK24C,QAE/E,6BAAMt8B,KAAWrc,EAAK44C,SACtB,yBAAKt7C,UAAU,yBAMnB,yBAAKA,UAAU,gBAAgBK,MAAO,CAAEoD,OAAQ,UAAW83C,aAAc,OACvE,0BAAMv7C,UAAU,SAASb,EAAK,yBE2GzBq8C,I,OAlKD,SAAAh7C,GAAU,IAAD,IACME,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAA9CI,EADa,EACbA,KAAMC,EADO,EACPA,SACNE,EAAUoB,aAAY,SAAApC,GAAK,OAAIA,EAAMgB,SAArCA,MACAP,EAAY2B,aAAY,SAAApC,GAAK,OAAIA,EAAMwB,eAAvCf,QAHa,EAIqB2B,aAAY,SAAApC,GAAK,OAAIA,EAAMmB,kBAA7DvB,EAJa,EAIbA,cAAeD,EAJF,EAIEA,eACjBqf,EAAWI,cALI,EAMShT,oBAAS,GANlB,mBAMdf,EANc,KAML8f,EANK,OAOK/e,mBAAS,CACjC+wC,qBAAsB,4BARH,mBAOdn9C,EAPc,KAOP4I,EAPO,KAWfw0C,EAAmB,SAAAvxC,GACvB3J,EAAMm7C,aAE6B,4BAA/Br9C,EAAMm9C,qBACRv0C,EAAS,2BAAK5I,GAAN,IAAam9C,qBAAsB,2BAE3Cv0C,EAAS,2BAAK5I,GAAN,IAAam9C,qBAAsB,8BAIzCz7C,EAAY,SAAC44C,GAAiC,IAArBwB,EAAoB,uDAAP,GACtCp6C,EAAY,WAUhB,OARI44C,IAAe16C,IACjB8B,GAAa,WAGX44C,IAAe36C,IACjB+B,GAAa,UAGRA,EAAS,WAAOo6C,IAGnB1B,EAAc,SAAChiB,EAAKvsB,GACxB,GAAI,UAAGH,OAAO+H,SAAS9N,UAAnB,OAA8B+F,OAAO+H,SAAS7N,UAAawyB,EAC7D,OAAOvsB,EAAMuG,iBAGf4M,EAASzC,GAAiB6b,KAGtBklB,EAAU,WACdnyB,GAAW,GAEXnM,EAASwkB,MACNpvB,MAAK,WACJ+W,GAAW,MAEX,SAAAvqB,GACEuqB,GAAW,GACXtZ,QAAQjR,MAAMA,OAIhB28C,EAAsB,WAC1B,GAAIv8C,EAAMF,IACiC,QAArCE,EAAMF,GAAN,cACF,OAAO,kBAAC,GAAD,OA+Bb,OACE,yBAAKY,UAAU,iBACZ2J,GAAW,kBAAC,EAAD,MAEZ,yBAAK3J,UAAS,oBAAejB,EAAQ+5C,KAAO,eAAiB,KAC3D,yBAAK94C,UAAU,uBACb,yBAAKA,UAAU,QACb,kBAAC,KAAD,CAAM8Q,GAAG,cAAcvP,QAAS,kBAAM+b,EAASzC,GAAiB,kBAC9D,6BACE,yBAAK9J,IAAI,yBAAyBC,IAAI,YAI9B,UAAb5R,GAAyB,oCACxB,yBAAKY,UAAWA,EAAU,mBACxB,kBAAC,KAAD,CAAM8Q,GAAG,iBAAiBvP,QAAS,SAAA4I,GAAK,OAAIuuC,EAAY,iBAAkBvuC,IAAQ0uC,WAAY,SAAA1uC,GAAK,OAAIA,EAAMuG,mBAAmBvR,EAAK21C,WAEvI,yBAAK90C,UAAWA,EAAU,cACxB,kBAAC,KAAD,CAAM8Q,GAAG,YAAYvP,QAAS,SAAA4I,GAAK,OAAIuuC,EAAY,YAAavuC,IAAQ0uC,WAAY,SAAA1uC,GAAK,OAAIA,EAAMuG,mBAAmBvR,EAAK2f,KAE7H,yBAAK9e,UAAWA,EAAU,eACxB,kBAAC,KAAD,CAAM8Q,GAAG,aAAavP,QAAS,SAAA4I,GAAK,OAAIuuC,EAAY,aAAcvuC,IAAQ0uC,WAAY,SAAA1uC,GAAK,OAAIA,EAAMuG,mBAAmBvR,EAAKk7C,UAGjI,yBAAKr6C,UAAWA,EAAU,iBACxB,kBAAC,KAAD,CAAM8Q,GAAG,eAAevP,QAAS,SAAA4I,GAAK,OAAIuuC,EAAY,eAAgBvuC,IAAQ0uC,WAAY,SAAA1uC,GAAK,OAAIA,EAAMuG,mBAAmBvR,EAAKm7C,aAEnI,yBAAKt6C,UAAWA,EAAU,eACxB,kBAAC,KAAD,CAAM8Q,GAAG,aAAavP,QAAS,SAAA4I,GAAK,OAAIuuC,EAAY,aAAcvuC,IAAQ0uC,WAAY,SAAA1uC,GAAK,OAAIA,EAAMuG,mBAAmBvR,EAAKo7C,MAEjH,UAAbn7C,GAAyB,oCACxB,yBAAKY,UAAWA,EAAU,mBACxB,kBAAC,KAAD,CAAM8Q,GAAG,iBAAiBvP,QAAS,SAAA4I,GAAK,OAAIuuC,EAAY,iBAAkBvuC,IAAQ0uC,WAAY,SAAA1uC,GAAK,OAAIA,EAAMuG,mBAAmBvR,EAAKm3C,UAEtIv3C,EAAQy7C,iBAAmB,yBAAKx6C,UAAWA,EAAU,oBACpD,kBAAC,KAAD,CAAM8Q,GAAG,kBAAkBvP,QAAS,SAAA4I,GAAK,OAAIuuC,EAAY,kBAAmBvuC,IAAQ0uC,WAAY,SAAA1uC,GAAK,OAAIA,EAAMuG,mBAAmBvR,EAAKiuC,YAG1IruC,EAAQ07C,iBAAmB,yBAAKz6C,UAAWA,EAAU,qBACpD,kBAAC,KAAD,CAAM8Q,GAAG,oBAAoB3R,EAAK,kBAEX,QAAxBJ,EAAQ27C,aAAyB,yBAAK16C,UAAWA,EAAU,kBAAkB,kBAAC,KAAD,CAAM8Q,GAAG,gBAAgB/F,OAAO,UAAhC,UAA0C5L,EAAKw7C,YAA/C,QAAuD,SAEvH,UAAbv7C,GACC,yBAAKY,UAAWA,EAAU,kBACxB,kBAAC,KAAD,CAAM8Q,GAAG,gBAAgBvP,QAAS,SAAA4I,GAAK,OAAIuuC,EAAY,gBAAiBvuC,IAAQ0uC,WAAY,SAAA1uC,GAAK,OAAIA,EAAMuG,mBAAmBvR,EAAKy3C,UAIzI,yBAAK52C,UAAU,0BACZ67C,IACD,yBAAK77C,UAAU,aACb,kBAAC,KAAD,CAAM8Q,GAAE,0BAAqB1R,IAC1BL,EAAQ+5C,KACL,yBAAK94C,UAAU,iBACf,8BAAOjB,EAAQF,MACf,kBAAC,IAAD,CAAiBoH,KAAK,yBACtB,8BAAOlH,EAAQ+5C,OAEf15C,IAIR,yBAAKY,UAAU,iBAAgB,4BAAQuB,QAASq6C,GAAUz8C,EAAK,eAzFzC,WAC5B,GAAI4D,SAAS4Z,gBAAgBC,YAAc,IACzC,OAAQ,yBAAK5c,UAAU,0BACrB,yBAAKA,UAAU,uBACb,yBAAKA,UAAU,QACb,kBAAC,KAAD,CAAM8Q,GAAG,cAAcvP,QAAS,kBAAM+b,EAASzC,GAAiB,kBAC9D,6BACE,yBAAK9J,IAAI,yBAAyBC,IAAI,aAK9C,yBAAKhR,UAAU,sBAAsBuB,QAASm6C,GAC5C,0BAAM17C,UAAU,QAChB,0BAAMA,UAAU,QAChB,0BAAMA,UAAU,SAElB,yBAAKA,UAAU,0BACZ67C,IACD,6BAAK,kBAAC,KAAD,CAAM/qC,GAAE,0BAAqB1R,IAAaA,IAC/C,6BAAK,4BAAQmC,QAASq6C,GAAUz8C,EAAK,eAyExC28C,MC2BQC,I,OAvLC,WACd,IAAMp6C,EAAUC,cADI,EAEU8I,oBAAS,GAFnB,mBAEbf,EAFa,KAEJ8f,EAFI,OAGM/e,mBAAS,CACjC+tC,WAAY,IACZuD,KAAM,GACNL,YAAY,IANM,mBAGbr9C,EAHa,KAGN4I,EAHM,KASZ9H,EAAasB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAAxCK,SACAL,EAAY2B,aAAY,SAAApC,GAAK,OAAIA,EAAMwB,eAAvCf,QACAF,EAAS6B,aAAY,SAAApC,GAAK,OAAIA,EAAMuB,gBAApChB,KAXY,EAYmD6B,aAAY,SAAApC,GAAK,OAAIA,EAAMmB,kBAA1FvB,EAZY,EAYZA,cAAeD,EAZH,EAYGA,eAAgBE,EAZnB,EAYmBA,cAAeC,EAZlC,EAYkCA,aAC9CM,EAA+BgC,aAAY,SAAApC,GAAK,OAAIA,EAAMqB,uBAA1DjB,2BACF4e,EAAWI,cAEjB7b,qBAAU,WACR,IAAKzC,IAAauO,OAAO4Q,QAAQ1f,GAAM4F,SAAWkJ,OAAO4Q,QAAQxf,GAAS0F,OACxE,OAAO9C,EAAQG,KAAK,UAGtB,GAAI/C,EAAQ+5C,KAAM,CAChB,IACMt2C,EAAYb,EAAQoQ,SAAS9N,SAAS/B,MAAM,KAAK,GAEvD,GAAkC,eAA9BP,EAAQoQ,SAAS9N,SAA2B,OAAOtC,EAAQG,KAAK,KAEpE,GALyB,CAAC,UAAW,KAAM,MAAO,UAAW,WAAY,UAKpD+T,SAASrT,GAC5B,OAAOb,EAAQG,KAAK,KAIxB,IAAMk6C,EAAOj9C,EAAQ+5C,KAAO16C,EAAeD,EAC3C+I,EAAS,2BAAK5I,GAAN,IAAa09C,UAErBvyB,GAAW,KACV,CAACrqB,EAAUP,EAAM8C,EAAS5C,IAE7B,IAAMk9C,EAAgCtsC,uBAAY,SAAAxF,GAChD,IACI+xC,EAEJ,KAH2Bn5C,SAASsH,cAAc,gBAAkBtH,SAASsH,cAAc,mBAAqBtH,SAASsH,cAAc,qBAOjH,KAAlBF,EAAMxG,SAAoC,KAAlBwG,EAAMxG,UAC5BjF,GACF4e,E/GjDC,CACL9e,KzDVyC,gCyDWzCC,MAAO,K+GkDAR,EAIHi+C,EAAkC59C,EAAM09C,KAAK9zC,QAAQjK,IAHrDqf,EAAS1C,GAAkB1c,IAC3Bg+C,EAAkC59C,EAAM09C,KAAK9zC,QAAQhK,MAMhB,IAArCg+C,GAIJ,GAAsB,KAAlB/xC,EAAMxG,QAAgB,CACxB,IAAIw4C,EAAoBC,EAAmB99C,EAAM09C,KAAME,GACvD5+B,EAAS1C,GAAkBuhC,SACtB,GAAsB,KAAlBhyC,EAAMxG,QAAgB,CAC/B,IAAIw4C,EAAoBE,EAAoB/9C,EAAM09C,KAAME,GACxD5+B,EAAS1C,GAAkBuhC,SACA,KAAlBhyC,EAAMxG,UACVjF,GAA8BT,GAAmBA,IAAmBC,IACvEyD,EAAQG,KAAK,CAAEmC,SAAUhG,IACzBqf,EAASzC,GAAiB5c,IAC1Bqf,ElI1EC,CACL9e,KxCVkC,yBwCWlCC,MAAO,QkI2EN,CAACP,EAAeD,EAAgBS,IAEnCmD,qBAAU,WAKR,OAJAmI,OAAOhH,iBAAiB,SAAUs5C,GAClCtyC,OAAOhH,iBAAiB,QAASi5C,GACjCjyC,OAAOhH,iBAAiB,SAAUu5C,GAE3B,WACLvyC,OAAO7G,oBAAoB,SAAUm5C,GACrCtyC,OAAO7G,oBAAoB,QAAS84C,GACpCjyC,OAAO7G,oBAAoB,SAAUo5C,MAEtC,CAACN,IAEJp6C,qBAAU,WACRyb,ElI5FK,CACL9e,KxCVkC,yBwCWlCC,MAAO,OkI2FN,CAACP,IAEJ2D,qBAAU,WACRyb,EAASzC,GAAiBlZ,EAAQoQ,SAAS9N,aAC1C,IAEH,IAAMm4C,EAAqB,SAAChvC,EAAOovC,GACjC,OAAqB,IAAjBA,EACKpvC,EAAMA,EAAM3I,OAAS,GAErB2I,EAAMovC,EAAe,IAI1BH,EAAsB,SAACjvC,EAAOovC,GAClC,OAAIA,IAAkBpvC,EAAM3I,OAAS,EAC5B2I,EAAM,GAENA,EAAMovC,EAAe,IAI1BF,EAAe,WACfv5C,SAAS4Z,gBAAgBC,YAAc,IACzC1V,EAAS,2BACJ5I,GADG,IAENm6C,WAAY,MAGdvxC,EAAS,2BACJ5I,GADG,IAENm6C,WAAY,QAKZ8D,EAAW,WACf,GAAIx5C,SAAS4Z,gBAAgBC,YAAc,IAAK,CAC9C,IAAIC,EAAY7S,OAAO8S,QACnB27B,EAAa1zC,KAAKiY,IAAI,GAAI,IAAMH,GACpC3V,EAAS,2BAAK5I,GAAN,IAAam6C,kBAqCzB,OACE,yBAAKz4C,UAAU,YAEX2J,EACI,kBAAC,EAAD,MACC,oCACD,kBAAC,GAAD,CAAOgyC,WAvCE,WACjB,IAAIA,GAAcr9C,EAAMq9C,WACxBz0C,EAAS,2BAAK5I,GAAN,IAAaq9C,iBAqCkBc,WAAYn+C,EAAMq9C,aAjBrD3xC,OAAO0yC,WAAa,IAEpB,yBAAK18C,UAlBL1B,EAAMq9C,WACD,uBAEA,wBAgBH,kBAAC,GAAD,CAAMlD,WAAYn6C,EAAMm6C,WAAYx7B,QAAQ,KAIzC,kBAAC,GAAD,CAAc9b,MAfnB7C,EAAMq9C,WACD,8BAEA,oCCpIEgB,I,OA1BG,SAAC,GAAuB,IAArBr5C,EAAoB,EAApBA,KAAMsiB,EAAc,EAAdA,QACjBzmB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KAYR,OACE,yBAAKa,UAAW4lB,EAAU,yBAA2B,iBAAkBnf,GAAInD,EAAK4iB,MAC9E,kBAAC,GAAD,CAAWlmB,UAAU,eACrB,kBAAC,GAAD,CAAWA,UAAU,cACnB,yBAAKA,UAAU,SACb,yBAAKA,UAAU,QAAQsD,EAAK4iB,MAC5B,yBAAKlmB,UAAU,mBAhBM,WAC3B,GAAK48C,MAAMC,QAAQv5C,EAAKw5C,OAKtB,OAAO39C,EAAK,iBAJZ,IAAK,IAAIuD,KAAQY,EAAKw5C,MACpB,OAAO,oCAAE,2BAAIp6C,GAAN,SAAwBY,EAAKw5C,MAAMp6C,GAAM,8BAaZq6C,SCuI7BC,GAnJU,SAAAx8C,GAAU,IACzBrB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACAT,EAA+BgC,aAAY,SAAApC,GAAK,OAAIA,EAAMqB,uBAA1DjB,2BACAT,EAAmByC,aAAY,SAAApC,GAAK,OAAIA,EAAMmB,kBAA9CxB,eACFqf,EAAWI,cAJe,EAKNhT,mBAAS,CACjCuyC,WAAY,GACZtzC,SAAS,EACT6M,MAAO,IARuB,mBAKzBlY,EALyB,KAKlB4I,EALkB,KAWhCrF,qBAAU,WAMR,OALAyb,EAASzC,GAAiB,kBAC1ByC,EpIhBK,CACL9e,KxCVkC,yBwCWlCC,MAAO,KoIeP6e,EjHjBK,CACL9e,KzDVyC,gCyDWzCC,MAAO,KiHgBPyf,IAEO,WACLZ,EjHrBG,CACL9e,KzDVyC,gCyDWzCC,MAAO,QiHqBN,IAEHoD,qBAAU,WAGR,OAFAmI,OAAOhH,iBAAiB,UAAWinB,GAE5B,WACLjgB,OAAO7G,oBAAoB,UAAW8mB,MAEvC,CAACvrB,EAA4BT,EAAgBK,EAAM2+C,aAEtD,IAAMhzB,EAAyB,SAAA9f,GACP,KAAlBA,EAAMxG,SAAoC,KAAlBwG,EAAMxG,SAC5B1F,GACFqf,EpIpCC,CACL9e,KxCVkC,yBwCWlCC,MAAO,KoIsCe,KAAlB0L,EAAMxG,SACRwG,EAAMuG,iBACNyZ,KAC2B,KAAlBhgB,EAAMxG,UACfwG,EAAMuG,iBACN0Z,MAIEC,EAAqB,SAAA4yB,GACzBA,EAAW,GAAX,QAA2BA,EAAW,GAAX,KAC3B/1C,EAAS,2BAAK5I,GAAN,IAAa2+C,gBACrB3/B,EAAS+E,GAAqC46B,EAAW,GAAX,QAG1C7yB,EAAkB,WACtB,IAAI6yB,EAAU,YAAO3+C,EAAM2+C,YAM3B,GAAmC,KAA/Bv+C,EAAJ,CAKA,IAAI4rB,EAAyB2yB,EAAW1yB,WAAU,SAAA2yB,GAAS,OAAIA,EAAUh3B,OAASxnB,KAElF,GAAI4rB,IAA2B2yB,EAAWx4C,OAAS,EAAG,CACpD,IAAIgmB,EAAqBwyB,EAAW3yB,EAAyB,GAC7D2yB,EAAW3yB,GAAX,QAAgD,GAChDG,EAAkB,QAAcA,EAAkB,KAClD1nB,SAASqM,eAAeqb,EAAkB,MAAUC,eAAe,CAAEC,SAAU,SAAUC,MAAO,WAChG1jB,EAAS,2BAAK5I,GAAN,IAAa2+C,gBACrB3/B,EAAS+E,GAAqCoI,EAAkB,aAZhEJ,EAAmB4yB,IAgBjB9yB,EAAgB,WACpB,IAAI8yB,EAAU,YAAO3+C,EAAM2+C,YAM3B,GAAmC,KAA/Bv+C,EAAJ,CAKA,IAAI4rB,EAAyB2yB,EAAW1yB,WAAU,SAAA2yB,GAAS,OAAIA,EAAUh3B,OAASxnB,KAElF,GAA+B,IAA3B4rB,EAA8B,CAChC,IAAIG,EAAqBwyB,EAAW3yB,EAAyB,GAC7D2yB,EAAW3yB,GAAX,QAAgD,GAChDG,EAAkB,QAAcA,EAAkB,KAClD1nB,SAASqM,eAAeqb,EAAkB,MAAUC,eAAe,CAAEC,SAAU,SAAUC,MAAO,WAChG1jB,EAAS,2BAAK5I,GAAN,IAAa2+C,gBACrB3/B,EAAS+E,GAAqCoI,EAAkB,aAZhEJ,EAAmB4yB,IAgBjB/+B,EAAY,WAChBhX,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KnHpDzBwI,KAAMC,IAAI4I,GAAQ,UAvDC,6CmH8GrBtI,MAAK,SAAAlJ,GACJtC,EAAS,CACP+1C,WAAYhyB,EAAazhB,EAAOlG,KAAKA,MACrCqG,SAAS,OAGZ6O,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,OAG1BwS,EAAe,SAAA3nB,GACnB,IAAI25C,EAAa,GAEjB,IAAK,IAAIn4C,KAAKxB,EACZ25C,EAAWn7C,KAAK,CAAEokB,KAAMphB,EAAGg4C,MAAOx5C,EAAKwB,KAGzC,OAAOm4C,GAOT,OACE,yBAAKj9C,UAAU,mBACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAK6iB,UAE1B,kBAAC,GAAD,CAAS/E,QAAQ,GACf,kBAAC,GAAD,CAAY9C,KAAK,0BAA0BlT,KAAK,SAAS/F,KAAM/B,EAAK+3C,UAAW7vB,cAAc,IAC7F,yBAAKrnB,UAAU,UACb,yBAAKA,UAAU,8BACb,kBAAC,GAAD,CAAa4kB,iBAAkB,SAAAiH,GAAI,OAAIrrB,EAAMsrB,iBAAiBD,SAIpE,yBAAK7rB,UAAU,sBACZ1B,EAAMqL,QAAU,kBAAC,EAAD,MAjBdrL,EAAM2+C,WAAWx6C,KAAI,SAACC,EAAMV,GAAP,OAAiB,kBAAC,GAAD,CAAWsB,KAAMZ,EAAMC,IAAKX,EAAO4jB,QAASlnB,IAA+BgE,EAAKwjB,aClIlH,SAASi3B,GAAY38C,GAAQ,IAIvB6uB,EAAM3W,EAHjBpV,EAAiB9C,EAAjB8C,KAAM2oB,EAAWzrB,EAAXyrB,OACN9sB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACM4H,aAAaC,QAAQ,SA8BnC,OACE,kBAAC,GAAD,CACEP,GAAInD,EAAK4iB,KACTN,QAAStiB,EAAK6iB,QACdvZ,QAAStJ,EAAK8iB,UACdnlB,KAAMqC,EAAK+iB,KACXjB,QAAS9hB,EAAKgjB,QACdN,UA5Bc,SAACZ,GACbA,EACF5kB,EAAMwlB,UAAUxlB,EAAM8C,KAAK4iB,KAAM,OAEjC1lB,EAAMwlB,UAAUxlB,EAAM8C,KAAK4iB,KAAM,WAyBjCV,UArBc,WAChBhlB,EAAMglB,UAAUhlB,EAAM8C,KAAK4iB,OAqBzBR,UAA8B,QAAnBpiB,EAAKkoC,WAEhB,kBAAC,GAAD,CAAWxrC,UAAU,cACnB,yBAAKA,UAAU,QAAf,UAA0BsD,EAAK4iB,KAA/B,YAAuC+F,IACvC,yBAAKjsB,UAAU,SACb,kBAAC,GAAD,CAAWA,UAAU,OACnB,yBAAKA,UAAU,aACZb,EAAKsjB,KACN,8BAAM,0BAAMziB,UAAU,QAAQsD,EAAKooC,QAAnC,OAAwDvsC,EAAKwsC,IAC7D,yBAAK3rC,UAAU,UAAUK,MAAO,CAAEC,MAAO,UAAGgD,EAAKsoC,eAAR,OAA6B,OAG1E,kBAAC,GAAD,CAAW5rC,UAAU,OACnB,6BAAMb,EAAI,MAAV,KAAsB,8BAAM,0BAAMa,UAAU,QAAQsD,EAAK85C,OAAnC,QAAwDj+C,EAAKwsC,KACnF,6BAAMxsC,EAAK,cAAX,KAA2B,0BAAMa,UAAU,cAAcsD,EAAK+5C,OAEhE,kBAAC,GAAD,CAAWr9C,UAAU,QAtDVqvB,EAuDElwB,EAAI,UAtDV,QADUuZ,EAuDepV,EAAKg6C,WArDlC,yBAAKt9C,UAAU,WAAWqvB,GAG5B,6BAAMA,EAAN,KAAa,0BAAMrvB,UAAU,QAAQ0Y,QAsD1C,yBAAK1Y,UAAU,WAEb,6BACE,kBAAC,KAAD,CAAMA,UAAU,YAAY8Q,GAAE,6BAAwBmb,EAAxB,oBAA0C3oB,EAAK4iB,OAC1E/mB,EAAK8nB,KACL3jB,EAAK6iB,QAAU,0BAAMnmB,UAAU,gCAAhB,UAAgE,kBAAC,IAAD,CAAiBiG,KAAK,UAI1G,6BACE,4BACEjG,UAAU,YACVuB,QAAS,kBAnDG,WACpB,IAAI0qC,EAAqC,QAAnB3oC,EAAKkoC,UAAsB,YAAkD,UACnGhrC,EAAM0mB,YAAY5jB,EAAK4oC,aAAvB,kBAAgDD,EAAhD,kCAAyFhgB,EAAzF,oBAA2G3oB,EAAK4iB,OAiDzFimB,KACdhtC,EAAKmE,EAAK8oC,gBACV9oC,EAAK6iB,QAAU,0BAAMnmB,UAAU,mBAAhB,KAA6C,kBAAC,IAAD,CAAiBiG,KAAyB,QAAnB3C,EAAKkoC,UAAsB,SAAW,WAI9H,6BACE,4BAAQxrC,UAAU,cAAcuB,QAAS,WApD/Cf,EAAM0mB,YAAY5jB,EAAK6jB,YAAvB,+CAA4E8E,EAA5E,oBAA8F3oB,EAAK4iB,SAqD1F/mB,EAAKsM,OACLnI,EAAK6iB,QAAU,0BAAMnmB,UAAU,uBAAhB,OAAmD,kBAAC,IAAD,CAAiBiG,KAAK,c,OCtEtF,SAASs3C,GAAa/8C,GAAQ,IACnCrB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACAT,EAA+BgC,aAAY,SAAApC,GAAK,OAAIA,EAAMqB,uBAA1DjB,2BACAT,EAAmByC,aAAY,SAAApC,GAAK,OAAIA,EAAMmB,kBAA9CxB,eACFqf,EAAWI,cAJyB,EAKZhT,oBAAS,GALG,mBAKnCf,EALmC,KAK1B8f,EAL0B,OAMhB/e,mBAAS,CACjCgO,KAAM,GACNgR,SAAS,EACTC,UAAW,KAT6B,mBAMnCxa,EANmC,KAM5Bya,EAN4B,OAWhBlf,mBAAS,CACjCgyB,aAAc,GACd8gB,gBAAiB,GACjBvxB,OAAQzrB,EAAMyrB,OACdlC,YAAY,EACZtpB,QAAStB,EAAKoG,KACd1E,MAAO,aACPoP,UAAW,GACX+Z,YAAa,KAnB2B,mBAWnC1rB,EAXmC,KAW5B4I,EAX4B,KAsB1CrF,qBAAU,WAIR,OAHAyb,EnHlCK,CACL9e,KzDVyC,gCyDWzCC,MAAO,KmHiCPyf,IAAYxL,MAAK,kBAAM+W,GAAW,MAE3B,WACLnM,EnHtCG,CACL9e,KzDVyC,gCyDWzCC,MAAO,QmHsCN,IAEHoD,qBAAU,WAIR,OAHAmI,OAAOhH,iBAAiB,UAAWinB,GACnCjgB,OAAOhH,iBAAiB,UAAWknB,GAE5B,WACLlgB,OAAO7G,oBAAoB,UAAW8mB,GACtCjgB,OAAO7G,oBAAoB,UAAW+mB,MAEvC,CAACxrB,EAA4BT,EAAgBK,EAAMo+B,eAEtD,IAAMzS,EAAyB,SAAA9f,GACP,KAAlBA,EAAMxG,SAAoC,KAAlBwG,EAAMxG,SAC5B1F,GACFqf,EtIvDC,CACL9e,KxCVkC,yBwCWlCC,MAAO,KsIyDe,KAAlB0L,EAAMxG,SACRwG,EAAMuG,iBACNyZ,KAC2B,KAAlBhgB,EAAMxG,UACfwG,EAAMuG,iBACN0Z,MAIEC,EAAqB,SAAAqS,GACzBA,EAAa,GAAb,QAA6BA,EAAa,GAAb,KAC7Bx1B,EAAS,2BAAK5I,GAAN,IAAao+B,kBACrBpf,EAAS+E,GAAqCqa,EAAa,GAAb,QAG1CtS,EAAkB,WACtB,IAAIsS,EAAY,YAAOp+B,EAAMo+B,cAM7B,GAAmC,KAA/Bh+B,EAAJ,CAKA,IAAI4rB,EAAyBoS,EAAanS,WAAU,SAAAkzB,GAAW,OAAIA,EAAYv3B,OAASxnB,KAExF,GAAI4rB,IAA2BoS,EAAaj4B,OAAS,EAAG,CACtD,IAAIgmB,EAAqBiS,EAAapS,EAAyB,GAC/DoS,EAAapS,GAAb,QAAkD,GAClDG,EAAkB,QAAcA,EAAkB,KAClD1nB,SAASqM,eAAeqb,EAAkB,MAAUC,eAAe,CAAEC,SAAU,SAAUC,MAAO,WAChG1jB,EAAS,2BAAK5I,GAAN,IAAao+B,kBACrBpf,EAAS+E,GAAqCoI,EAAkB,aAZhEJ,EAAmBqS,IAgBjBvS,EAAgB,WACpB,IAAIuS,EAAY,YAAOp+B,EAAMo+B,cAM7B,GAAmC,KAA/Bh+B,EAAJ,CAKA,IAAI4rB,EAAyBoS,EAAanS,WAAU,SAAAkzB,GAAW,OAAIA,EAAYv3B,OAASxnB,KAExF,GAA+B,IAA3B4rB,EAA8B,CAChC,IAAIG,EAAqBiS,EAAapS,EAAyB,GAC/DoS,EAAapS,GAAb,QAAkD,GAClDG,EAAkB,QAAcA,EAAkB,KAClD1nB,SAASqM,eAAeqb,EAAkB,MAAUC,eAAe,CAAEC,SAAU,SAAUC,MAAO,WAChG1jB,EAAS,2BAAK5I,GAAN,IAAao+B,kBACrBpf,EAAS+E,GAAqCoI,EAAkB,aAZhEJ,EAAmBqS,IAgBjBxS,EAAgC,SAAA/f,GACpC,IAAIC,EAAuBrH,SAASsH,cAAc,gBAAkBtH,SAASsH,cAAc,kBAE3F,GAAI3L,IAA+B0L,EACjC,OAAQD,EAAMxG,SACZ,KAAK,EAAG,OAAOknB,IACf,KAAK,GAAI,OAAOC,IAChB,KAAK,GAAI,OAAOqhB,MAMhBrhB,EAAa,WACjBtqB,EAAMmB,QAAQG,KAAd,4BAAwCtB,EAAMyrB,OAA9C,oBAAgEvtB,KAG5DytC,EAAgB,WAAO,IAEvBuR,EADqBp/C,EAAjBo+B,aAC2BrzB,QAAO,SAAA6Y,GAAI,OAAIA,EAAKgE,OAASxnB,KAA4B,GACxFutC,EAAgD,QAA9ByR,EAAgBlS,UAAsB,YAAc,UAE1ExgB,EAAa0yB,EAAgBxR,aAAjB,kBAA0CD,EAA1C,kCAAmFzrC,EAAMyrB,OAAzF,oBAA2GvtB,KAGnHmsB,EAAe,WAAO,IAEtB6yB,EADqBp/C,EAAjBo+B,aAC2BrzB,QAAO,SAAA6Y,GAAI,OAAIA,EAAKgE,OAASxnB,KAA4B,GAE5FssB,EAAa0yB,EAAgBv2B,YAAjB,+CAAsE3mB,EAAMyrB,OAA5E,oBAA8FvtB,KAGtGwf,EAAY,WAEhB,OADAuL,GAAW,GACJ,IAAI9W,SAAQ,SAACwB,EAASqJ,G3DzJC,IAAAyO,K2D0JTzrB,EAAMyrB,O3DzJtB9Z,KAAMC,IAAN,UAAa4I,IAAb,OAVS,8BAUT,mBAA4CiR,K2D0J5CvZ,MAAK,SAAAlJ,GACJtC,EAAS,2BACJ5I,GADG,IAENo+B,aAAczR,EAAazhB,EAAOlG,KAAKA,MACvCkhC,QAASh7B,EAAOlG,KAAK2iC,QACrBh2B,UAAW,GACX8Z,YAAY,EACZyzB,gBAAiBh0C,EAAOlG,KAAKk6C,gBAC7BxzB,YAAaxgB,EAAOlG,KAAK0mB,eAE3B7V,OAEDqE,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,UAI5BwS,EAAe,SAAA3nB,GACnB,IAAIo5B,EAAe,GAEnB,IAAK,IAAI53B,KAAKxB,EACZA,EAAKwB,GAAL,KAAkBA,EAClBxB,EAAKwB,GAAL,QAAqBpG,IAA+BoG,EACpD43B,EAAa56B,KAAKwB,EAAKwB,IAGzB,OAAO43B,GAkCHlX,EAAY,SAAAtkB,GAAS,IACjB+O,EAA4B3R,EAA5B2R,UAAWysB,EAAiBp+B,EAAjBo+B,aACfjzB,EAAS,YAAOwG,GAChB0tC,EAAwBjhB,EACxBvR,EAAc1hB,EAAUvB,QAAQhH,GAEhCkqB,EAAeuyB,EAAsBpzB,WAAU,SAAAkzB,GAAW,OAAIA,EAAYv3B,OAAShlB,KACvFy8C,EAAsBvyB,GAAchF,WAAau3B,EAAsBvyB,GAAchF,WAEhE,IAAjB+E,EACF1hB,EAAUpH,OAAO8oB,EAAa,GAE9B1hB,EAAU3H,KAAKZ,GAGjBgG,EAAS,2BAAK5I,GAAN,IAAao+B,aAAcihB,EAAuB1tC,UAAWxG,MAGjE4hB,EAAY,SAAAje,GAAU,IAClBvM,EAAmBvC,EAAnBuC,MAAOJ,EAAYnC,EAAZmC,QACX6qB,EAAgBC,EAAO9qB,GAE3B,MAAc,eAAVI,EACKuM,EAAMrM,MAAK,SAAC8H,EAAGC,GAAJ,OAAWD,EAAEyiB,GAAiBxiB,EAAEwiB,GAAkB,EAAMxiB,EAAEwiB,GAAiBziB,EAAEyiB,IAAmB,EAAI,KAE/Gle,EAAMrM,MAAK,SAAC8H,EAAGC,GAAJ,OAAWD,EAAEyiB,GAAiBxiB,EAAEwiB,GAAkB,EAAMxiB,EAAEwiB,GAAiBziB,EAAEyiB,IAAmB,EAAI,MAIpHC,EAAS,SAAA9qB,GAAY,IACXQ,EAAkC9B,EAAxCoG,KAAY2d,EAA4B/jB,EAA5B+jB,SAAUT,EAAkBtjB,EAAlBsjB,KAAME,EAAYxjB,EAAZwjB,QAEpC,OAAQliB,GACN,KAAKQ,EAAM,MAAO,OAClB,KAAKiiB,EAAU,MAAO,WACtB,KAAKT,EAAM,MAAO,SAClB,KAAKE,EAAS,MAAO,YAKnBqD,EAAY,SAACvnB,EAAOD,GAAU,IAE9Bo/C,EADwBt/C,EAApBk/C,gBAGK,QAATh/C,GACFo/C,EAAyBn/C,GAAS,EAElCsmB,GAAYtmB,EAAO,YAChBiU,MAAK,WACJxL,EAAS,2BAAK5I,GAAN,IAAak/C,gBAAiBI,QAEvCplC,OAAM,SAAAC,GACLtI,QAAQjR,MAAMuZ,QAGlBmlC,EAAyBn/C,QAAS0D,EAElC+iB,GAAezmB,EAAO,YACnBiU,MAAK,WACJxL,EAAS,2BAAK5I,GAAN,IAAak/C,gBAAiBI,QAEvCplC,OAAM,SAAAC,GACLtI,QAAQjR,MAAMuZ,QAKhB8O,EAAY,SAAAC,GAChB,IAAMm2B,EAAqB,YAAOr/C,EAAMo+B,cAExC,GAAIlV,EAAS,CACX,IAAIq2B,EAAmB,GAEnBnhB,EAAeihB,EAAsBl7C,KAAI,SAAAg7C,GAG3C,OAFAI,EAAiB/7C,KAAK27C,EAAYv3B,MAClCu3B,EAAYr3B,WAAY,EACjBq3B,KAGTv2C,EAAS,2BAAK5I,GAAN,IAAao+B,eAAczsB,UAAW4tC,EAAkB9zB,WAAYvC,SACvE,CACL,IAAIkV,EAAeihB,EAAsBl7C,KAAI,SAAAg7C,GAE3C,OADAA,EAAYr3B,WAAY,EACjBq3B,KAGTv2C,EAAS,2BAAK5I,GAAN,IAAao+B,eAAczsB,UAAW,GAAI8Z,WAAYvC,OAmB5DwD,EAAe,SAACtS,EAAMxG,GAC1B0X,EAAS,2BACJza,GADG,IAENua,SAAS,EACThR,KAAMA,EACNiR,UAAWzX,MAsBTyZ,EAAsB,WAC1BrO,EAASD,MAAmB3K,MAAK,kBAAM+W,GAAW,OAG9CmC,EAAqB,WACzBhC,EAAS,2BACJza,GADG,IAENua,SAAS,EACThR,KAAM,GACNiR,UAAW,OAIf,OACE,yBAAK3pB,UAAU,iBACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAKymC,QAE1B,kBAAC,GAAD,CAAS3oB,QAAQ,GACf,kBAAC,GAAD,CAAY/b,KAAM/B,EAAK,oBAAqBgb,KAAI,4BAAuB3Z,EAAMyrB,QAAU5E,cAAc,IACrG,yBAAKrnB,UAAU,UACb,yBAAKA,UAAU,8BACZ1B,EAAMkmC,SAAW,uBAAGrqB,KAAM7b,EAAMkmC,QAASxkC,UAAU,eAAexB,KAAK,UAAUW,EAAK,iBACvF,kBAAC,GAAD,CAAUooB,UAAWA,EAAWC,QAASlpB,EAAMyrB,aAC/C,kBAAC,GAAD,CAAQ9iB,KAAK,WAAW2hB,WAlErB,SAAArqB,GAAW,IACd0R,EAAc3R,EAAd2R,UACJA,EAAUxL,QAAUlG,IACtBkrB,GAAW,G3DhSoB,SAAClrB,EAAQ0tB,GAA2B,IAAnBytB,EAAkB,uDAAP,GACzD3jC,EAAW,IAAIC,SASrB,OARAD,EAASE,OAAO,SAAU1X,GAC1BwX,EAASE,OAAO,QAAS8E,MACzBhF,EAASE,OAAO,SAAUgW,GAE1BytB,EAAStwC,SAAQ,SAAAq8B,GACf1vB,EAASE,OAAO,YAAawvB,MAGxBtzB,KAAM+D,KAAK8E,GAAW,qBAAsBjF,G2DuR/C+nC,CAAsBv/C,EAAQiC,EAAMyrB,OAAQhc,GACzCyC,MAAK,SAAAlJ,GACkB,MAAlBA,EAAOwS,SACTuL,GAAU,GACVrJ,IAAYxL,MAAK,kBAAMiZ,WAG1BnT,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,UAwDxB,kBAAC,GAAD,CAAgB9X,cA7LJ,SAACF,EAASI,GAC9BqG,EAAS,2BACJ5I,GADG,IAENmC,UACAI,YAyLoDJ,QAASnC,EAAMmC,QAASI,MAAOvC,EAAMuC,MAAOoG,KAAK,oBAC/F,kBAAC,GAAD,CAAa2d,iBAAkB,SAAAiH,GAAI,OAAIrrB,EAAMsrB,iBAAiBD,SAInEliB,EACG,kBAAC,EAAD,MAEA,oCACE,yBAAK3J,UAAU,yBACb,yBAAKA,UAAU,YACb,wCAAUb,EAAI,QAAd,aAA8Bb,EAAM2tB,UAhM7B,WAAO,IAClByQ,EAAiBp+B,EAAjBo+B,aACF8gB,EAAe,eAAQl/C,EAAMk/C,iBAC7Bh0C,EAAS,GAef,OAbAkzB,EAAatzB,SAAQ,SAAAq0C,GACnBA,EAAYt3B,QAAUznB,IAA+B++C,EAAYv3B,KAE7Ds3B,EAAgBC,EAAYv3B,MAC9Bu3B,EAAYn3B,QAAUk3B,EAAgBC,EAAYv3B,MAElDu3B,EAAYn3B,QAAU,EAGxB9c,EAAO1H,KAAK27C,MAEKpyB,EAAU7hB,GAET/G,KAAI,SAACC,EAAMV,GAC7B,OAAO,kBAACm7C,GAAD,CAAa75C,KAAMZ,EAAMC,IAAKX,EAAOiqB,OAAQ3tB,EAAM2tB,OAAQjG,UAAWA,EAAWR,UAAWA,EAAW0B,YAAa8D,OA+KlH0R,IAEH,yBAAK18B,UAAU,0BACb,yBAAKA,UAAU,SAAS1B,EAAM0rB,aAC9B,yBAAKhqB,UAAU,QACb,kBAAC,KAAD,CAAM8Q,GAAG,eAAe3R,EAAI,SAMtC,kBAAC,GAAD,CACE2pB,OApEsB,WAC1B,IAAK3Z,EAAMwa,UACT,OAAOiC,IAGTA,IACAnC,GAAW,GACX5J,GAAa1Q,EAAMwa,WAChBjX,MAAK,SAAA4F,GACJ,GAAIA,EAAIhV,KAAKpE,MAEX,OADAuqB,GAAW,GACJuB,EAAa1S,EAAIhV,KAAKpE,MAAO,IAEtCgf,IAAYxL,MAAK,kBAAMiZ,UAExBnT,OAAM,SAAAC,GAASgR,GAAW,GAAQtZ,QAAQjR,MAAMuZ,OAsD/CsQ,SAAU6C,EACV/C,KAAM1Z,EAAMua,QACZhR,KAAMvJ,EAAMuJ,Q,WC3SLqlC,GA1GF,SAAAv9C,GAAU,IACb8C,EAAS9C,EAAT8C,KACAnE,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KAEF6+C,GADQj3C,aAAaC,QAAQ,SACjB,SAACqoB,EAAM3W,GACvB,MAAa,OAATA,EACK,yBAAK1Y,UAAU,WAAWqvB,GAG5B,6BAAMA,EAAN,KAAa,0BAAMrvB,UAAU,QAAQ0Y,MAwB9C,OACE,kBAAC,GAAD,CACEjS,GAAInD,EAAK4iB,KACTN,QAAStiB,EAAK6iB,QACdvZ,QAAStJ,EAAK8iB,UACdnlB,KAAMqC,EAAK+iB,KACXjB,QAAS9hB,EAAKgjB,QACdN,UA5Bc,SAACZ,GACbA,EACF5kB,EAAMwlB,UAAUxlB,EAAM8C,KAAK4iB,KAAM,OAEjC1lB,EAAMwlB,UAAUxlB,EAAM8C,KAAK4iB,KAAM,WAyBjCV,UArBc,WAChBhlB,EAAMglB,UAAUhlB,EAAM8C,KAAK4iB,OAqBzBR,UAA8B,QAAnBpiB,EAAKkoC,WAEhB,kBAAC,GAAD,CAAWxrC,UAAU,cACnB,yBAAKA,UAAU,QAAQsD,EAAK4iB,MAC5B,yBAAKlmB,UAAU,SACb,kBAAC,GAAD,CAAWA,UAAU,OACnB,yBAAKA,UAAU,aACZb,EAAKsjB,KACN,8BAAM,0BAAMziB,UAAU,QAAQsD,EAAKooC,QAAevsC,EAAKwsC,IACvD,yBAAK3rC,UAAU,UAAUK,MAAO,CAAEC,MAAO,UAAGgD,EAAKsoC,eAAR,OAA6B,OAG1E,kBAAC,GAAD,CAAW5rC,UAAU,OAClBg+C,EAAU7+C,EAAK,qBAAsBmE,EAAK26C,WAC1CD,EAAU7+C,EAAK,gBAAiBmE,EAAK46C,OAExC,kBAAC,GAAD,CAAWl+C,UAAU,OAClBg+C,EAAU7+C,EAAK,oBAAqBmE,EAAK66C,UAC1C,6BAAMh/C,EAAK,kBAAX,KAA+B,0BAAMa,UAAU,sBAAsBsD,EAAK86C,cAIhF,yBAAKp+C,UAAU,WACb,6BACE,kBAAC,KAAD,CAAMA,UAAU,YAAY8Q,GAAE,6BAAwBxN,EAAK4iB,OACxD5iB,EAAK+6C,qBACL/6C,EAAK6iB,QAAU,0BAAMnmB,UAAU,mBAAhB,KAA6C,kBAAC,IAAD,CAAiBiG,KAAK,WAIvF,6BACE,kBAAC,KAAD,CAAMjG,UAAU,YAAY8Q,GAAE,4BAAuBxN,EAAK4iB,OACvD/mB,EAAK,eACLmE,EAAK6iB,QAAU,0BAAMnmB,UAAU,mBAAhB,KAA6C,kBAAC,IAAD,CAAiBiG,KAAK,WAIvF,6BACE,kBAAC,KAAD,CAAMjG,UAAU,YAAY8Q,GAAE,6BAAwBxN,EAAK4iB,OACxD/mB,EAAK8nB,KACL3jB,EAAK6iB,QAAU,0BAAMnmB,UAAU,gCAAhB,UAAgE,kBAAC,IAAD,CAAiBiG,KAAK,UAI1G,6BACE,4BACEjG,UAAU,YACVuB,QAAS,kBAjEG,WACpB,IAAI0qC,EAAqC,QAAnB3oC,EAAKkoC,UAAsB,YAAkD,UACnGhrC,EAAM0mB,YAAY5jB,EAAK4oC,aAAvB,kBAAgDD,EAAhD,kCAAyF3oC,EAAK4iB,OA+DvEimB,KACdhtC,EAAKmE,EAAK8oC,gBACV9oC,EAAK6iB,QAAU,0BAAMnmB,UAAU,mBAAhB,KAA6C,kBAAC,IAAD,CAAiBiG,KAAyB,QAAnB3C,EAAKkoC,UAAsB,SAAW,WAI9H,6BACE,4BAAQxrC,UAAU,cAAcuB,QAAS,WAlE/Cf,EAAM0mB,YAAY5jB,EAAK6jB,YAAvB,+CAA4E7jB,EAAK4iB,SAmExE/mB,EAAKsM,OACLnI,EAAK6iB,QAAU,0BAAMnmB,UAAU,uBAAhB,OAAmD,kBAAC,IAAD,CAAiBiG,KAAK,eCkUtFq4C,I,OAtZD,SAAA99C,GAAU,IACdrB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACAT,EAA+BgC,aAAY,SAAApC,GAAK,OAAIA,EAAMqB,uBAA1DjB,2BACAT,EAAmByC,aAAY,SAAApC,GAAK,OAAIA,EAAMmB,kBAA9CxB,eACFqf,EAAWI,cAJI,EAKShT,oBAAS,GALlB,mBAKdf,EALc,KAKL8f,EALK,OAMK/e,mBAAS,CACjCgO,KAAM,GACNgR,SAAS,EACTC,UAAW,KATQ,mBAMdxa,EANc,KAMPya,EANO,OAWKlf,mBAAS,CACjC6zC,MAAO,GACPC,QAAS,GACTz0B,YAAY,EACZkc,QAAS,GACTxlC,QAAStB,EAAKoG,KACd1E,MAAO,aACPoP,UAAW,GACX+Z,YAAa,KAnBM,mBAWd1rB,EAXc,KAWP4I,EAXO,KAsBrBrF,qBAAU,WAMR,OALAyb,EAASzC,GAAiB,gBAC1ByC,ExIpCK,CACL9e,KxCVkC,yBwCWlCC,MAAO,KwImCP6e,ErHrCK,CACL9e,KzDVyC,gCyDWzCC,MAAO,KqHoCPyf,IAAYxL,MAAK,kBAAM+W,GAAW,MAE3B,WACLnM,ErHzCG,CACL9e,KzDVyC,gCyDWzCC,MAAO,QqHyCN,IAEHoD,qBAAU,WAIR,OAHAmI,OAAOhH,iBAAiB,UAAWinB,GACnCjgB,OAAOhH,iBAAiB,UAAWknB,GAE5B,WACLlgB,OAAO7G,oBAAoB,UAAW8mB,GACtCjgB,OAAO7G,oBAAoB,UAAW+mB,MAEvC,CAACxrB,EAA4BT,EAAgBK,EAAMigD,QAEtD,IAAMt0B,EAAyB,SAAA9f,GACP,KAAlBA,EAAMxG,SAAoC,KAAlBwG,EAAMxG,SAC5B1F,GACFqf,ExI1DC,CACL9e,KxCVkC,yBwCWlCC,MAAO,KwI4De,KAAlB0L,EAAMxG,SACRwG,EAAMuG,iBACNyZ,KAC2B,KAAlBhgB,EAAMxG,UACfwG,EAAMuG,iBACN0Z,MAIEC,EAAqB,SAAAk0B,GACzBA,EAAM,GAAN,QAAsBA,EAAM,GAAN,KACtBr3C,EAAS,2BAAK5I,GAAN,IAAaigD,WACrBjhC,EAAS+E,GAAqCk8B,EAAM,GAAN,QAG1Cn0B,EAAkB,WACtB,IAAIm0B,EAAK,YAAOjgD,EAAMigD,OAMtB,GAAmC,KAA/B7/C,EAAJ,CAKA,IAAI4rB,EAAyBi0B,EAAMh0B,WAAU,SAAArI,GAAI,OAAIA,EAAKgE,OAASxnB,KAEnE,GAAI4rB,IAA2Bi0B,EAAM95C,OAAS,EAAG,CAC/C,IAAIgmB,EAAqB8zB,EAAMj0B,EAAyB,GACxDi0B,EAAMj0B,GAAN,QAA2C,GAC3CG,EAAkB,QAAcA,EAAkB,KAClD1nB,SAASqM,eAAeqb,EAAkB,MAAUC,eAAe,CAAEC,SAAU,SAAUC,MAAO,WAChG1jB,EAAS,2BAAK5I,GAAN,IAAaigD,WACrBjhC,EAAS+E,GAAqCoI,EAAkB,aAZhEJ,EAAmBk0B,IAgBjBp0B,EAAgB,WACpB,IAAIo0B,EAAK,YAAOjgD,EAAMigD,OAMtB,GAAmC,KAA/B7/C,EAAJ,CAKA,IAAI4rB,EAAyBi0B,EAAMh0B,WAAU,SAAArI,GAAI,OAAIA,EAAKgE,OAASxnB,KAEnE,GAA+B,IAA3B4rB,EAA8B,CAChC,IAAIG,EAAqB8zB,EAAMj0B,EAAyB,GACxDi0B,EAAMj0B,GAAN,QAA2C,GAC3CG,EAAkB,QAAcA,EAAkB,KAClD1nB,SAASqM,eAAeqb,EAAkB,MAAUC,eAAe,CAAEC,SAAU,SAAUC,MAAO,WAChG1jB,EAAS,2BAAK5I,GAAN,IAAaigD,WACrBjhC,EAAS+E,GAAqCoI,EAAkB,aAZhEJ,EAAmBk0B,IAgBjBr0B,EAAgC,SAAA/f,GACpC,IAAIC,EAAuBrH,SAASsH,cAAc,gBAAkBtH,SAASsH,cAAc,kBAE3F,GAAI3L,IAA+B0L,EACjC,OAAQD,EAAMxG,SACZ,KAAK,EAAG,OAAOknB,IACf,KAAK,GAAI,OAAOC,IAChB,KAAK,GAAI,OAAO2zB,IAChB,KAAK,GAAI,OAAOC,IAChB,KAAK,GAAI,OAAOvS,MAMhBuS,EAAkB,WACtBl+C,EAAMmB,QAAQG,KAAd,4BAAwCpD,KAGpC+/C,EAAa,WACjBj+C,EAAMmB,QAAQG,KAAd,4BAAwCpD,EAAxC,kBAGIosB,EAAa,WACjBtqB,EAAMmB,QAAQG,KAAd,4BAAwCpD,KAGpCytC,EAAgB,WAAO,IAEvBuR,EADcp/C,EAAVigD,MACoBl1C,QAAO,SAAA6Y,GAAI,OAAIA,EAAKgE,OAASxnB,KAA4B,GACjFutC,EAAgD,QAA9ByR,EAAgBlS,UAAsB,YAAc,UAE1ExgB,EAAa0yB,EAAgBxR,aAAjB,kBAA0CD,EAA1C,kCAAmFvtC,KAG3FmsB,EAAe,WAAO,IAEtB6yB,EADcp/C,EAAVigD,MACoBl1C,QAAO,SAAA6Y,GAAI,OAAIA,EAAKgE,OAASxnB,KAA4B,GAErFssB,EAAa0yB,EAAgBv2B,YAAjB,+CAAsEzoB,KAG9Ewf,EAAY,WAEhB,OADAuL,GAAW,GACJ,IAAI9W,SAAQ,SAACwB,EAASqJ,GAC3B8mB,KACG5xB,MAAK,SAAAlJ,GACJtC,EAAS,2BACJ5I,GADG,IAENigD,MAAOtzB,EAAazhB,EAAOlG,KAAKA,MAChC2iC,QAASz8B,EAAOlG,KAAK2iC,QACrBuY,QAASh1C,EAAOlG,KAAKk7C,QACrBvuC,UAAW,GACX8Z,YAAY,EACZC,YAAaxgB,EAAOlG,KAAK0mB,eAE3B7V,OAEDqE,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,UAI5BwS,EAAe,SAAA3nB,GACnB,IAAIi7C,EAAQ,GAEZ,IAAK,IAAIz5C,KAAKxB,EACZA,EAAKwB,GAAL,KAAkBA,EAClBxB,EAAKwB,GAAL,QAAqBpG,IAA+BoG,EACpDy5C,EAAMz8C,KAAKwB,EAAKwB,IAGlB,OAAOy5C,GAkCH/4B,EAAY,SAAAtkB,GAAS,IACjB+O,EAAqB3R,EAArB2R,UAAWsuC,EAAUjgD,EAAVigD,MACf90C,EAAS,YAAOwG,GAChB0uC,EAAiBJ,EACjBpzB,EAAc1hB,EAAUvB,QAAQhH,GAEhCkqB,EAAeuzB,EAAep0B,WAAU,SAAArI,GAAI,OAAIA,EAAKgE,OAAShlB,KAClEy9C,EAAevzB,GAAchF,WAAau4B,EAAevzB,GAAchF,WAElD,IAAjB+E,EACF1hB,EAAUpH,OAAO8oB,EAAa,GAE9B1hB,EAAU3H,KAAKZ,GAGjBgG,EAAS,2BAAK5I,GAAN,IAAaigD,MAAOI,EAAgB1uC,UAAWxG,MAGnD4hB,EAAY,SAAAje,GAAU,IAClBvM,EAAmBvC,EAAnBuC,MAAOJ,EAAYnC,EAAZmC,QACX6qB,EAAgBC,EAAO9qB,GAE3B,MAAc,eAAVI,EACKuM,EAAMrM,MAAK,SAAC8H,EAAGC,GAAJ,OAAWD,EAAEyiB,GAAiBxiB,EAAEwiB,GAAkB,EAAMxiB,EAAEwiB,GAAiBziB,EAAEyiB,IAAmB,EAAI,KAE/Gle,EAAMrM,MAAK,SAAC8H,EAAGC,GAAJ,OAAWD,EAAEyiB,GAAiBxiB,EAAEwiB,GAAkB,EAAMxiB,EAAEwiB,GAAiBziB,EAAEyiB,IAAmB,EAAI,MAIpHC,EAAS,SAAA9qB,GAAY,IACjB8E,EAA2CpG,EAA3CoG,KAAMmhB,EAAqCvnB,EAArCunB,QAASxD,EAA4B/jB,EAA5B+jB,SAAUT,EAAkBtjB,EAAlBsjB,KAAME,EAAYxjB,EAAZwjB,QAEvC,OAAQliB,GACN,KAAK8E,EAAM,MAAO,OAClB,KAAKmhB,EAAS,MAAO,iBACrB,KAAKxD,EAAU,MAAO,WACtB,KAAKT,EAAM,MAAO,SAClB,KAAKE,EAAS,MAAO,YAKnBqD,EAAY,SAACvnB,EAAOD,GAAU,IAE9BogD,EADgBtgD,EAAZkgD,QAGK,QAAThgD,GACFogD,EAAiBngD,GAAS,EAE1BsmB,GAAYtmB,EAAO,QAChBiU,MAAK,WACJxL,EAAS,2BAAK5I,GAAN,IAAakgD,QAASI,QAE/BpmC,OAAM,SAAAC,GACLtI,QAAQjR,MAAMuZ,QAGlBmmC,EAAiBngD,QAAS0D,EAE1B+iB,GAAezmB,EAAO,QACnBiU,MAAK,WACJxL,EAAS,2BAAK5I,GAAN,IAAakgD,QAASI,QAE/BpmC,OAAM,SAAAC,GACLtI,QAAQjR,MAAMuZ,QAKhB8O,EAAY,SAAAC,GAChB,IAAMm3B,EAAc,YAAOrgD,EAAMigD,OAEjC,GAAI/2B,EAAS,CACX,IAAIq3B,EAAY,GAEZN,EAAQI,EAAel8C,KAAI,SAAAyf,GAG7B,OAFA28B,EAAU/8C,KAAKogB,EAAKgE,MACpBhE,EAAKkE,WAAY,EACVlE,KAGThb,EAAS,2BAAK5I,GAAN,IAAaigD,QAAOtuC,UAAW4uC,EAAW90B,WAAYvC,SACzD,CACL,IAAI+2B,EAAQI,EAAel8C,KAAI,SAAAyf,GAE7B,OADAA,EAAKkE,WAAY,EACVlE,KAGThb,EAAS,2BAAK5I,GAAN,IAAaigD,QAAOtuC,UAAW,GAAI8Z,WAAYvC,OAoBrDwD,EAAe,SAACtS,EAAMxG,GAC1B0X,EAAS,2BACJza,GADG,IAENua,SAAS,EACThR,KAAMA,EACNiR,UAAWzX,MAsBTyZ,EAAsB,WAC1BrO,EAASD,MAAmB3K,MAAK,kBAAM+W,GAAW,OAG9CmC,EAAqB,WACzBhC,EAAS,2BACJza,GADG,IAENua,SAAS,EACThR,KAAM,GACNiR,UAAW,OAIf,OACE,yBAAK3pB,UAAU,SACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAKymC,QAE1B,kBAAC,GAAD,CAAS3oB,QAAQ,GACf,kBAAC,GAAD,CAAY/b,KAAK,kBAAkBiZ,KAAK,YAAYkN,cAAc,IAClE,yBAAKrnB,UAAU,UACb,yBAAKA,UAAU,8BACZ1B,EAAM2nC,SAAW,kBAAC,KAAD,CAChBn1B,GAAI,CAAE7M,SAAS,UAAD,OAAY+F,OAAO+H,SAAS6wB,UAA5B,OAAuCtkC,EAAM2nC,UAC3Dl7B,OAAO,SACP/K,UAAU,eACVxB,KAAK,UACJW,EAAK,iBAER,kBAAC,GAAD,CAAUooB,UAAWA,EAAWC,QAASlpB,EAAMyrB,aAC/C,kBAAC,GAAD,CAAQ9iB,KAAK,WAAW2hB,WAzErB,SAAArqB,GAAW,IACd0R,EAAc3R,EAAd2R,UAEJA,EAAUxL,QAAUlG,IACtBkrB,GAAW,G7D3TS,SAAClrB,EAAQ2uC,GACjC,IAAMn3B,EAAW,IAAIC,SAQrB,OAPAD,EAASE,OAAO,SAAU1X,GAC1BwX,EAASE,OAAO,QAAS8E,MAEzBmyB,EAAkB9jC,SAAQ,SAAA+jC,GACxBp3B,EAASE,OAAO,WAAYk3B,MAGvBh7B,KAAM+D,KAAK8E,GAAW,qBAAsBjF,G6DmT/C6S,CAAWrqB,EAAQ0R,GAChByC,MAAK,SAAAlJ,GACkB,MAAlBA,EAAOwS,SACTuL,GAAU,GACVrJ,IAAYxL,MAAK,kBAAMiZ,WAG1BnT,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,UA8DxB,kBAAC,GAAD,CAAgB9X,cArMJ,SAACF,EAASI,GAC9BqG,EAAS,2BACJ5I,GADG,IAENmC,UACAI,YAiMoDJ,QAASnC,EAAMmC,QAASI,MAAOvC,EAAMuC,MAAOoG,KAAK,aAC/F,kBAAC,GAAD,CAAa2d,iBAAkB,SAAAiH,GAAI,OAAIrrB,EAAMsrB,iBAAiBD,SAIpE,yBAAK7rB,UAAU,iBACZ2J,EACG,kBAAC,EAAD,MACC,oCArMG,WAAO,IACX40C,EAAUjgD,EAAVigD,MACFC,EAAO,eAAQlgD,EAAMkgD,SACrBh1C,EAAS,GAef,OAbA+0C,EAAMn1C,SAAQ,SAAA8Y,GACZA,EAAKiE,QAAUznB,IAA+BwjB,EAAKgE,KAE/Cs4B,EAAQt8B,EAAKgE,MACfhE,EAAKoE,QAAUk4B,EAAQt8B,EAAKgE,MAE5BhE,EAAKoE,QAAU,EAGjB9c,EAAO1H,KAAKogB,MAEKmJ,EAAU7hB,GAET/G,KAAI,SAACC,EAAMV,GAC7B,OAAO,kBAAC,GAAD,CAAMsB,KAAMZ,EAAMC,IAAKX,EAAOgkB,UAAWA,EAAWR,UAAWA,EAAW0B,YAAa8D,OAmLvFuzB,GACD,yBAAKv+C,UAAU,SAAS1B,EAAM0rB,eAGpC,kBAAC,GAAD,CACElB,OA/DsB,WAC1B,IAAK3Z,EAAMwa,UACT,OAAOiC,IAGTA,IACAnC,GAAW,GACX5J,GAAa1Q,EAAMwa,WAChBjX,MAAK,SAAA4F,GACJ,GAAIA,EAAIhV,KAAKpE,MAEX,OADAuqB,GAAW,GACJuB,EAAa1S,EAAIhV,KAAKpE,MAAO,IAEtCgf,IAAYxL,MAAK,kBAAMiZ,UAExBnT,OAAM,SAAAC,GAASgR,GAAW,GAAQtZ,QAAQjR,MAAMuZ,OAiD/CsQ,SAAU6C,EACV/C,KAAM1Z,EAAMua,QACZhR,KAAMvJ,EAAMuJ,UC/ZL,SAASomC,GAAYt+C,GAAQ,IAClCrB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KADiC,EAELuL,mBAAS,IAFJ,mBAElCq0C,EAFkC,KAEtBC,EAFsB,KAGnCr9C,EAAUC,cAYhB,OAVAC,qBAAU,WACR,IAAMqR,EAAoBC,KAAYC,MAAMzR,EAAQoQ,SAAS7N,OAAQ,CAAEmP,mBAAmB,IAEtFH,EAAkB+Y,OACpB+yB,EAAc9rC,EAAkB+Y,QAEhC+yB,EAAc,MAEf,CAACr9C,EAAQoQ,WAGV,oCACE,kBAAC6F,GAAA,EAAD,KACE,iDAAmBzY,EAAKymC,QAGxBmZ,EACI,kBAAC,GAAD,iBAAkBv+C,EAAlB,CAAyByrB,OAAQ8yB,EAAYjzB,iBAAkBtrB,EAAMsrB,oBACrE,kBAAC,GAAD,iBAAWtrB,EAAX,CAAkBsrB,iBAAkBtrB,EAAMsrB,qBCxBvC,SAASmzB,GAAT,GAA6D,IAAxC37C,EAAuC,EAAvCA,KAAM2oB,EAAiC,EAAjCA,OAAQ/E,EAAyB,EAAzBA,YAAgB1mB,EAAS,+CACjErB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KAsBR,OACE,kBAAC,GAAD,CACEsH,GAAInD,EAAK4iB,KACTjlB,KAAMqC,EAAK+iB,KACXL,UAxBc,SAACZ,GACbA,EACF5kB,EAAMwlB,UAAU1iB,EAAK4iB,KAAM,OAE3B1lB,EAAMwlB,UAAU1iB,EAAK4iB,KAAM,WAqB3BV,UAjBc,WAChBhlB,EAAMglB,UAAUliB,EAAK4iB,OAiBnBd,QAAS9hB,EAAKgjB,QACdV,QAAStiB,EAAK6iB,QACdvZ,QAAStJ,EAAK8iB,UACdV,UAA8B,QAAnBpiB,EAAKkoC,WAEhB,kBAAC,GAAD,CAAWxrC,UAAU,cACnB,yBAAKA,UAAU,QAAQsD,EAAK47C,WAC5B,6BACA,yBAAKl/C,UAAU,SACb,kBAAC,GAAD,CAAWA,UAAU,OACnB,0BAAMA,UAAU,QAAhB,UAA2BsD,EAAK67C,OAAO7rC,UAAU,EAAG,KAApD,OAA0DhQ,EAAK67C,OAAO16C,OAAS,GAAK,MAAQ,MAE9F,kBAAC,GAAD,CAAWzE,UAAU,OACnB,0BAAMA,UAAU,QAAQsD,EAAK0oC,OAE/B,kBAAC,GAAD,CAAWhsC,UAAU,OACnB,0BAAMA,UAAU,QAAQsD,EAAK87C,WAE/B,kBAAC,GAAD,CAAWp/C,UAAU,kBACnB,0BAAMA,UAAU,QAAQsD,EAAK+7C,UAInC,yBAAKr/C,UAAU,WACb,6BACE,kBAAC,KAAD,CAAMA,UAAU,YAAY8Q,GAAE,4BAAuBmb,EAAvB,sBAA2C3oB,EAAK+3C,KAC3El8C,EAAK8nB,KACL3jB,EAAK6iB,QAAU,0BAAMnmB,UAAU,gCAAhB,UAAgE,kBAAC,IAAD,CAAiBiG,KAAK,UAI1G,6BACE,4BACEjG,UAAU,YACVuB,QA5CY,WACpB2lB,EAAY5jB,EAAK4oC,aAAN,kBAA+B5oC,EAAK8oC,eAApC,wBAAkEngB,EAAlE,sBAAsF3oB,EAAK+3C,OA4C7F/3C,EAAK8oC,eACL9oC,EAAK6iB,QAAU,0BAAMnmB,UAAU,mBAAhB,KAA6C,kBAAC,IAAD,CAAiBiG,KAAyB,QAAnB3C,EAAKkoC,UAAsB,SAAW,WAI9H,6BACE,4BAAQxrC,UAAU,cAAcuB,QAAS,WAtD/C2lB,EAAY5jB,EAAK6jB,YAAN,qCAAiD8E,EAAjD,sBAAqE3oB,EAAK+3C,OAuD5El8C,EAAKsM,OACLnI,EAAK6iB,QAAU,0BAAMnmB,UAAU,uBAAhB,OAAmD,kBAAC,IAAD,CAAiBiG,KAAK,c,OC1DtF,SAASq5C,GAAW9+C,GAAQ,IACjCrB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACAT,EAA+BgC,aAAY,SAAApC,GAAK,OAAIA,EAAMqB,uBAA1DjB,2BACAT,EAAmByC,aAAY,SAAApC,GAAK,OAAIA,EAAMmB,kBAA9CxB,eACFqf,EAAWI,cACX/b,EAAUC,cALwB,EAMV8I,oBAAS,GANC,mBAMjCf,EANiC,KAMxB8f,EANwB,OAOd/e,mBAAS,CACjCgO,KAAM,GACNgR,SAAS,EACTC,UAAW,KAV2B,mBAOjCxa,EAPiC,KAO1Bya,EAP0B,OAYdlf,mBAAS,CACjC8xB,WAAY,GACZ+iB,aAAc,GACdtzB,OAAQ,GACRlC,YAAY,EACZtpB,QAAStB,EAAKoG,KACd1E,MAAO,aACPoP,UAAW,GACX+Z,YAAa,KApByB,mBAYjC1rB,EAZiC,KAY1B4I,EAZ0B,KAuBxCrF,qBAAU,WAIR,OAHAyb,ExHnCK,CACL9e,KzDVyC,gCyDWzCC,MAAO,KwHkCPyf,IAAYxL,MAAK,kBAAM+W,GAAW,MAE3B,WACLnM,ExHvCG,CACL9e,KzDVyC,gCyDWzCC,MAAO,QwHuCN,IAEHoD,qBAAU,WAIR,OAHAmI,OAAOhH,iBAAiB,UAAWinB,GACnCjgB,OAAOhH,iBAAiB,UAAWknB,GAE5B,WACLlgB,OAAO7G,oBAAoB,UAAW8mB,GACtCjgB,OAAO7G,oBAAoB,UAAW+mB,MAEvC,CAACxrB,EAA4BT,EAAgBK,EAAMk+B,aAEtD,IAAMvS,EAAyB,SAAA9f,GACP,KAAlBA,EAAMxG,SAAoC,KAAlBwG,EAAMxG,SAC5B1F,GACFqf,E3IxDC,CACL9e,KxCVkC,yBwCWlCC,MAAO,K2I0De,KAAlB0L,EAAMxG,SACRwG,EAAMuG,iBACNyZ,KAC2B,KAAlBhgB,EAAMxG,UACfwG,EAAMuG,iBACN0Z,MAIEC,EAAqB,SAAAmS,GACzBA,EAAW,GAAX,QAA2BA,EAAW,GAAX,KAC3Bt1B,EAAS,2BAAK5I,GAAN,IAAak+B,gBACrBlf,EAAS+E,GAAqCma,EAAW,GAAX,QAG1CpS,EAAkB,WACtB,IAAIoS,EAAU,YAAOl+B,EAAMk+B,YAM3B,GAAmC,KAA/B99B,EAAJ,CAKA,IAAI4rB,EAAyBkS,EAAWjS,WAAU,SAAA20B,GAAS,OAAIA,EAAUh5B,OAASxnB,KAElF,GAAI4rB,IAA2BkS,EAAW/3B,OAAS,EAAG,CACpD,IAAIgmB,EAAqB+R,EAAWlS,EAAyB,GAC7DkS,EAAWlS,GAAX,QAAgD,GAChDG,EAAkB,QAAcA,EAAkB,KAClD1nB,SAASqM,eAAeqb,EAAkB,MAAUC,eAAe,CAAEC,SAAU,SAAUC,MAAO,WAChG1jB,EAAS,2BAAK5I,GAAN,IAAak+B,gBACrBlf,EAAS+E,GAAqCoI,EAAkB,aAZhEJ,EAAmBmS,IAgBjBrS,EAAgB,WACpB,IAAIqS,EAAU,YAAOl+B,EAAMk+B,YAM3B,GAAmC,KAA/B99B,EAAJ,CAKA,IAAI4rB,EAAyBkS,EAAWjS,WAAU,SAAA20B,GAAS,OAAIA,EAAUh5B,OAASxnB,KAElF,GAA+B,IAA3B4rB,EAA8B,CAChC,IAAIG,EAAqB+R,EAAWlS,EAAyB,GAC7DkS,EAAWlS,GAAX,QAAgD,GAChDG,EAAkB,QAAcA,EAAkB,KAClD1nB,SAASqM,eAAeqb,EAAkB,MAAUC,eAAe,CAAEC,SAAU,SAAUC,MAAO,WAChG1jB,EAAS,2BAAK5I,GAAN,IAAak+B,gBACrBlf,EAAS+E,GAAqCoI,EAAkB,aAZhEJ,EAAmBmS,IAgBjBtS,EAAgC,SAAA/f,GACpC,IAAIC,EAAuBrH,SAASsH,cAAc,gBAAkBtH,SAASsH,cAAc,kBAE3F,GAAI3L,IAA+B0L,EAAsB,CACvD,GAAsB,KAAlBD,EAAMxG,QACR,OAAOmnB,IACF,GAAsB,IAAlB3gB,EAAMxG,QACf,OAAOknB,MAKPC,EAAa,WACjBtqB,EAAMmB,QAAQG,KAAd,4BAAwCpD,KAGpCmsB,EAAe,WAAO,IAEtB8hB,EADkBruC,EAAdy8B,UAC4B1xB,QAAO,SAAAsoB,GAAQ,OAAIA,EAASzL,OAASxnB,KAA4B,GAErGssB,EAAa2hB,EAAoBxlB,YAArB,0CAAqEzoB,KAG7Ewf,EAAY,WAChB,IAAIhL,EAAoBC,KAAYC,MAAMzR,EAAQoQ,SAAS7N,OAAQ,CAAEmP,mBAAmB,IAExF,OADAoW,GAAW,GACJ,IAAI9W,SAAQ,SAACwB,EAASqJ,GvDlJA,IAAAyO,KuDmJT/Y,EAAkB+Y,QAAU,GvDlJ3C9Z,KAAMC,IAAN,UAAa4I,IAAb,OAPS,6BAOT,mBAA4CiR,KuDmJ5CvZ,MAAK,SAAAlJ,GACJtC,EAAS,2BACJ5I,GADG,IAENk+B,WAAYvR,EAAazhB,EAAOlG,KAAKA,MACrCi8C,aAAc/1C,EAAOlG,KAAKk8C,cAC1Bx1B,YAAaxgB,EAAOlG,KAAK0mB,YACzBiC,OAAQ/Y,EAAkB+Y,OAC1BlC,YAAY,EACZ9Z,UAAW,MAEbkE,OAEDqE,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,UAI5BwS,EAAe,SAAA3nB,GACnB,IAAIk5B,EAAa,GAEjB,IAAK,IAAI13B,KAAKxB,EACZA,EAAKwB,GAAL,KAAkBA,EAClBxB,EAAKwB,GAAL,QAAqBpG,IAA+BoG,EACpD03B,EAAW16B,KAAKwB,EAAKwB,IAGvB,OAAO03B,GAyBHhX,EAAY,SAAAtkB,GAAS,IACjB+O,EAA0B3R,EAA1B2R,UAAWusB,EAAel+B,EAAfk+B,WACf/yB,EAAS,YAAOwG,GAChBwvC,EAAejjB,EACfrR,EAAc1hB,EAAUvB,QAAQhH,GAEhCkqB,EAAeq0B,EAAal1B,WAAU,SAAAm1B,GAAG,OAAIA,EAAIx5B,OAAShlB,KAC9Du+C,EAAar0B,GAAchF,WAAaq5B,EAAar0B,GAAchF,WAE9C,IAAjB+E,EACF1hB,EAAUpH,OAAO8oB,EAAa,GAE9B1hB,EAAU3H,KAAKZ,GAGjBgG,EAAS,2BAAK5I,GAAN,IAAak+B,WAAYijB,EAAcxvC,UAAWxG,MAGtDuc,EAAY,SAACvnB,EAAOD,GAAU,IAE9BmhD,EADqBrhD,EAAjBihD,aAGK,QAAT/gD,GACFmhD,EAAmBlhD,GAAS,EAE5BsmB,GAAYtmB,EAAO,WAChBiU,MAAK,WACJxL,EAAS,2BAAK5I,GAAN,IAAaihD,aAAcI,QAEpCnnC,OAAM,SAAAC,GACLtI,QAAQjR,MAAMuZ,QAGlBknC,EAAmBlhD,QAAS0D,EAE5B+iB,GAAezmB,EAAO,WACnBiU,MAAK,WACJxL,EAAS,2BAAK5I,GAAN,IAAaihD,aAAcI,QAEpCnnC,OAAM,SAAAC,GACLtI,QAAQjR,MAAMuZ,QAKhB8O,EAAY,SAAAC,GAChB,IAAMo4B,EAAmB,YAAOthD,EAAMk+B,YAEtC,GAAIhV,EAAS,CACX,IAAIq4B,EAAiB,GAEjBrjB,EAAaojB,EAAoBn9C,KAAI,SAAAy8C,GAGvC,OAFAW,EAAe/9C,KAAKo9C,EAAUh5B,MAC9Bg5B,EAAU94B,WAAY,EACf84B,KAGTh4C,EAAS,2BAAK5I,GAAN,IAAak+B,aAAYvsB,UAAW4vC,EAAgB91B,WAAYvC,SACnE,CACL,IAAIgV,EAAaojB,EAAoBn9C,KAAI,SAAAy8C,GAEvC,OADAA,EAAU94B,WAAY,EACf84B,KAGTh4C,EAAS,2BAAK5I,GAAN,IAAak+B,aAAYvsB,UAAW,GAAI8Z,WAAYvC,OAoB1DwD,EAAe,SAACtS,EAAMxG,GAC1B0X,EAAS,2BACJza,GADG,IAENua,SAAS,EACThR,KAAMA,EACNiR,UAAWzX,MAsBTyZ,EAAsB,WAC1BrO,EAASD,MAAmB3K,MAAK,kBAAM+W,GAAW,OAG9CmC,EAAqB,WACzBhC,EAAS,2BACJza,GADG,IAENua,SAAS,EACThR,KAAM,GACNiR,UAAW,OAIf,OACE,yBAAK3pB,UAAU,eACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAK0oC,OAE1B,kBAAC,GAAD,CAAS5qB,QAAQ,GACf,kBAAC,GAAD,CAAY/b,KAAM/B,EAAK,kBAAmBgb,KAAI,2BAAsB7b,EAAM2tB,QAAU5E,cAAc,IAClG,yBAAKrnB,UAAU,UACb,yBAAKA,UAAU,8BACb,kBAAC,GAAD,CAAUunB,UAAWA,EAAWC,QAASlpB,EAAMyrB,aAC/C,kBAAC,GAAD,CAAQ9iB,KAAK,UAAU2hB,WAlEpB,SAAArqB,GAAW,IACd0R,EAAc3R,EAAd2R,UAEJA,EAAUxL,QAAUlG,IACtBkrB,GAAW,GvD1PS,SAAClrB,EAAQ+6C,EAASrtB,GAC1C,IAAMlW,EAAW,IAAIC,SASrB,OARAD,EAASE,OAAO,SAAU1X,GAC1BwX,EAASE,OAAO,QAAS8E,MACzBhF,EAASE,OAAO,SAAUgW,GAE1BqtB,EAAQlwC,SAAQ,SAAA02C,GACd/pC,EAASE,OAAO,WAAY6pC,MAGvB3tC,KAAM+D,KAAK8E,GAAW,oBAAqBjF,GuDiP9C6S,CAAWrqB,EAAQ0R,EAAW3R,EAAM2tB,QACjCvZ,MAAK,SAAAlJ,GACkB,MAAlBA,EAAOwS,SACTuL,GAAU,GACVrJ,IAAYxL,MAAK,kBAAMiZ,WAG1BnT,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,UAuDxB,kBAAC,GAAD,CAAamM,iBAAkB,SAAAiH,GAAI,OAAIrrB,EAAMsrB,iBAAiBD,SAInEliB,EACG,kBAAC,EAAD,MAEA,oCACE,yBAAK3J,UAAU,uBACb,yBAAKA,UAAU,YACb,wCAAUb,EAAI,QAAd,aAA8Bb,EAAM2tB,UAvK/B,WAAO,IAChBuQ,EAAel+B,EAAfk+B,WACFhzB,EAAS,GACT+1C,EAAY,eAAQjhD,EAAMihD,cAchC,OAZA/iB,EAAWpzB,SAAQ,SAAA81C,GACjBA,EAAU/4B,QAAUznB,IAA+BwgD,EAAUh5B,KAEzDq5B,EAAaL,EAAUh5B,MACzBg5B,EAAU54B,QAAUi5B,EAAaL,EAAUh5B,MAE3Cg5B,EAAU54B,QAAU,EAGtB9c,EAAO1H,KAAKo9C,MAGP11C,EAAO/G,KAAI,SAACC,EAAMV,GACvB,OAAO,kBAACi9C,GAAD,CAAW37C,KAAMZ,EAAMC,IAAKX,EAAOiqB,OAAQ3tB,EAAM2tB,OAAQjG,UAAWA,EAAWR,UAAWA,EAAW0B,YAAa8D,OAuJhHwR,IAEH,yBAAKx8B,UAAU,0BACb,yBAAKA,UAAU,SAAS1B,EAAM0rB,aAC9B,yBAAKhqB,UAAU,QACb,kBAAC,KAAD,CAAM8Q,GAAG,cAAc3R,EAAI,SAMrC,kBAAC,GAAD,CACE2pB,OAlEsB,WAC1B,IAAK3Z,EAAMwa,UACT,OAAOiC,IAGTA,IACAnC,GAAW,GACX5J,GAAa1Q,EAAMwa,WAChBjX,MAAK,SAAA4F,GACJ,GAAIA,EAAIhV,KAAKpE,MAEX,OADAuqB,GAAW,GACJuB,EAAa1S,EAAIhV,KAAKpE,MAAO,IAEtCgf,IAAYxL,MAAK,kBAAMiZ,UAExBnT,OAAM,SAAAC,GAASgR,GAAW,GAAQtZ,QAAQjR,MAAMuZ,OAoD/CsQ,SAAU6C,EACV/C,KAAM1Z,EAAMua,QACZhR,KAAMvJ,EAAMuJ,Q,WC7QLqnC,GAhGU,SAAAv/C,GAAU,IACzB8C,EAAS9C,EAAT8C,KACAnE,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACM4H,aAAaC,QAAQ,SAuBnC,OACE,kBAAC,GAAD,CACEP,GAAInD,EAAK4iB,KACTtZ,QAAStJ,EAAK8iB,UACdhB,QAAS9hB,EAAKgjB,QACdrlB,KAAMqC,EAAK+iB,KACXL,UA3Bc,SAACZ,GACbA,EACF5kB,EAAMwlB,UAAUxlB,EAAM8C,KAAK4iB,KAAM,OAEjC1lB,EAAMwlB,UAAUxlB,EAAM8C,KAAK4iB,KAAM,WAwBjCV,UApBc,WAChBhlB,EAAMglB,UAAUhlB,EAAM8C,KAAK4iB,OAoBzBR,UAA8B,QAAnBpiB,EAAKkoC,UAChB5lB,QAAStiB,EAAK6iB,SACd,kBAAC,GAAD,CAAWnmB,UAAU,cACnB,yBAAKA,UAAU,QAAQsD,EAAK4iB,KAA5B,IAAkC,0BAAMlmB,UAAU,eAAhB,KAAiCsD,EAAK08C,UACxE,6BACA,yBAAKhgD,UAAU,SACb,kBAAC,GAAD,CAAWA,UAAU,YACnB,yBAAKA,UAAU,MAAMsD,EAAKwb,IAC1B,yBAAK9e,UAAU,OAAM,0BAAMA,UAAU,QAAQsD,EAAK28C,OAEpD,kBAAC,GAAD,CAAWjgD,UAAU,YACnB,6BAAMb,EAAK+gD,IAAX,KAAiB,0BAAMlgD,UAAU,QAAQsD,EAAK48C,MAC9C,6BAAM/gD,EAAKghD,OAAX,KAAoB,0BAAMngD,UAAU,QAAQsD,EAAK88C,UAEnD,kBAAC,GAAD,CAAWpgD,UAAU,YACnB,6BAAMb,EAAKkhD,SAAX,KAAsB,0BAAMrgD,UAAU,QAAQsD,EAAKg9C,MACnD,6BAAMnhD,EAAK4jB,OAAX,KAAoB,0BAAM/iB,UAAU,QAAQsD,EAAKi9C,SAIvD,yBAAKvgD,UAAU,WACb,6BACE,kBAAC,KAAD,CAAMA,UAAU,YAAY8Q,GAAE,4BAAuBxN,EAAK4iB,OACvD5iB,EAAKk9C,aACLl9C,EAAK6iB,QAAU,0BAAMnmB,UAAU,mBAAhB,KAA6C,kBAAC,IAAD,CAAiBiG,KAAK,WAIvF,6BACE,kBAAC,KAAD,CAAMjG,UAAU,YAAY8Q,GAAE,2BAAsBxN,EAAK4iB,OACtD/mB,EAAK,cACLmE,EAAK6iB,QAAU,0BAAMnmB,UAAU,mBAAhB,KAA6C,kBAAC,IAAD,CAAiBiG,KAAK,WAIvF,6BACE,kBAAC,KAAD,CAAMjG,UAAU,YAAY8Q,GAAE,4BAAuBxN,EAAK4iB,OACvD/mB,EAAK8nB,KACL3jB,EAAK6iB,QAAU,0BAAMnmB,UAAU,gCAAhB,UAAgE,kBAAC,IAAD,CAAiBiG,KAAK,UAI1G,6BACE,4BACEjG,UAAU,YACVuB,QAAS,kBA9DG,WACpB,IAAI0qC,EAAqC,QAAnB3oC,EAAKkoC,UAAsB,YAAkD,UACnGhrC,EAAM0mB,YAAY5jB,EAAK4oC,aAAvB,kBAAgDD,EAAhD,iCAAwF3oC,EAAK4iB,OA4DtEimB,KACdhtC,EAAKmE,EAAK8oC,gBACV9oC,EAAK6iB,QAAU,0BAAMnmB,UAAU,mBAAhB,KAA6C,kBAAC,IAAD,CAAiBiG,KAAyB,QAAnB3C,EAAKkoC,UAAsB,SAAW,WAI9H,6BACE,4BAAQhtC,KAAK,SAASwB,UAAU,cAAcuB,QAAS,WA/D7Df,EAAM0mB,YAAY5jB,EAAK6jB,YAAvB,8CAA2E7jB,EAAK4iB,SAgEvE/mB,EAAKsM,OACLnI,EAAK6iB,QAAU,0BAAMnmB,UAAU,uBAAhB,OAAmD,kBAAC,IAAD,CAAiBiG,KAAK,eCyUtFw6C,I,OApZW,SAAAjgD,GAAU,IAC1BrB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACAT,EAA+BgC,aAAY,SAAApC,GAAK,OAAIA,EAAMqB,uBAA1DjB,2BACAT,EAAmByC,aAAY,SAAApC,GAAK,OAAIA,EAAMmB,kBAA9CxB,eACFqf,EAAWI,cAJgB,EAKHhT,oBAAS,GALN,mBAK1Bf,EAL0B,KAKjB8f,EALiB,OAMP/e,mBAAS,CACjCgO,KAAM,GACNgR,SAAS,EACTC,UAAW,KAToB,mBAM1Bxa,EAN0B,KAMnBya,EANmB,OAWPlf,mBAAS,CACjCwiC,kBAAmB,GACnBwT,OAAQ,GACR32B,YAAY,EACZtpB,QAAStB,EAAKoG,KACd1E,MAAO,aACPoP,UAAW,GACX+Z,YAAa,KAlBkB,mBAW1B1rB,EAX0B,KAWnB4I,EAXmB,KAqBjCrF,qBAAU,WAMR,OALAyb,EAASzC,GAAiB,eAC1ByC,E7IlCK,CACL9e,KxCVkC,yBwCWlCC,MAAO,K6IiCP6e,E1HnCK,CACL9e,KzDVyC,gCyDWzCC,MAAO,K0HkCPyf,IAAYxL,MAAK,kBAAM+W,GAAW,MAE3B,WACLnM,E1HvCG,CACL9e,KzDVyC,gCyDWzCC,MAAO,Q0HuCN,IAEHoD,qBAAU,WAIR,OAHAmI,OAAOhH,iBAAiB,UAAWinB,GACnCjgB,OAAOhH,iBAAiB,UAAWknB,GAE5B,WACLlgB,OAAO7G,oBAAoB,UAAW8mB,GACtCjgB,OAAO7G,oBAAoB,UAAW+mB,MAEvC,CAACxrB,EAA4BT,EAAgBK,EAAM4uC,oBAEtD,IAAMjjB,EAAyB,SAAA9f,GACP,KAAlBA,EAAMxG,SAAoC,KAAlBwG,EAAMxG,SAC5B1F,GACFqf,E7IxDC,CACL9e,KxCVkC,yBwCWlCC,MAAO,K6I0De,KAAlB0L,EAAMxG,SACRwG,EAAMuG,iBACNyZ,KAC2B,KAAlBhgB,EAAMxG,UACfwG,EAAMuG,iBACN0Z,MAIEC,EAAqB,SAAA6iB,GACzBA,EAAkB,GAAlB,QAAkCA,EAAkB,GAAlB,KAClChmC,EAAS,2BAAK5I,GAAN,IAAa4uC,uBACrB5vB,EAAS+E,GAAqC6qB,EAAkB,GAAlB,QAG1C9iB,EAAkB,WACtB,IAAI8iB,EAAiB,YAAO5uC,EAAM4uC,mBAMlC,GAAmC,KAA/BxuC,EAAJ,CAKA,IAAI4rB,EAAyB4iB,EAAkB3iB,WAAU,SAAA4iB,GAAgB,OAAIA,EAAiBjnB,OAASxnB,KAEvG,GAAI4rB,IAA2B4iB,EAAkBzoC,OAAS,EAAG,CAC3D,IAAIgmB,EAAqByiB,EAAkB5iB,EAAyB,GACpE4iB,EAAkB5iB,GAAlB,QAAuD,GACvDG,EAAkB,QAAcA,EAAkB,KAClD1nB,SAASqM,eAAeqb,EAAkB,MAAUC,eAAe,CAAEC,SAAU,SAAUC,MAAO,WAChG1jB,EAAS,2BAAK5I,GAAN,IAAa4uC,uBACrB5vB,EAAS+E,GAAqCoI,EAAkB,aAZhEJ,EAAmB6iB,IAgBjB/iB,EAAgB,WACpB,IAAI+iB,EAAiB,YAAO5uC,EAAM4uC,mBAMlC,GAAmC,KAA/BxuC,EAAJ,CAKA,IAAI4rB,EAAyB4iB,EAAkB3iB,WAAU,SAAA4iB,GAAgB,OAAIA,EAAiBjnB,OAASxnB,KAEvG,GAA+B,IAA3B4rB,EAA8B,CAChC,IAAIG,EAAqByiB,EAAkB5iB,EAAyB,GACpE4iB,EAAkB5iB,GAAlB,QAAuD,GACvDG,EAAkB,QAAcA,EAAkB,KAClD1nB,SAASqM,eAAeqb,EAAkB,MAAUC,eAAe,CAAEC,SAAU,SAAUC,MAAO,WAChG1jB,EAAS,2BAAK5I,GAAN,IAAa4uC,uBACrB5vB,EAAS+E,GAAqCoI,EAAkB,aAZhEJ,EAAmB6iB,IAgBjBhjB,EAAgC,SAAA/f,GACpC,IAAIC,EAAuBrH,SAASsH,cAAc,gBAAkBtH,SAASsH,cAAc,kBAE3F,GAAI3L,IAA+B0L,EACjC,OAAQD,EAAMxG,SACZ,KAAK,EAAG,OAAOknB,IACf,KAAK,GAAI,OAAOC,IAChB,KAAK,GAAI,OAAO2zB,IAChB,KAAK,GAAI,OAAOC,IAChB,KAAK,GAAI,OAAOvS,MAMhBuS,EAAkB,WACtBl+C,EAAMmB,QAAQG,KAAd,2BAAuCpD,KAGnC+/C,EAAa,WACjBj+C,EAAMmB,QAAQG,KAAd,2BAAuCpD,EAAvC,kBAGIosB,EAAa,WACjBtqB,EAAMmB,QAAQG,KAAd,2BAAuCpD,KAGnCytC,EAAgB,WAAO,IAEvBwU,EAD0BriD,EAAtB4uC,kBAC4C7jC,QAAO,SAAA8jC,GAAgB,OAAIA,EAAiBjnB,OAASxnB,KAA4B,GACjIutC,EAA4D,QAA1C0U,EAA4BnV,UAAsB,YAAc,UAEtFxgB,EAAa21B,EAA4BzU,aAA7B,kBAAsDD,EAAtD,iCAA8FvtC,KAGtGmsB,EAAe,WAAO,IAEtB81B,EAD0BriD,EAAtB4uC,kBAC4C7jC,QAAO,SAAA8jC,GAAgB,OAAIA,EAAiBjnB,OAASxnB,KAA4B,GAErIssB,EAAa21B,EAA4Bx5B,YAA7B,8CAAiFzoB,KAGzFwf,EAAY,WAEhB,OADAuL,GAAW,GACJ,IAAI9W,SAAQ,SAACwB,EAASqJ,GzDvKxBrL,KAAMC,IAAI4I,GAHD,8ByD4KTtI,MAAK,SAAAlJ,GACJtC,EAAS,2BACJ5I,GADG,IAEN4uC,kBAAmBjiB,EAAazhB,EAAOlG,KAAKA,MAC5Co9C,OAAQl3C,EAAOlG,KAAKo9C,OACpBzwC,UAAW,GACX8Z,YAAY,EACZC,YAAaxgB,EAAOlG,KAAK0mB,eAE3B7V,OAEDqE,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,UAI5BwS,EAAe,SAAA3nB,GACnB,IAAI4pC,EAAoB,GAExB,IAAK,IAAIpoC,KAAKxB,EACZA,EAAKwB,GAAL,KAAkBA,EAClBxB,EAAKwB,GAAL,QAAqB87C,OAAOt9C,EAAKwB,GAAL,SAC5BxB,EAAKwB,GAAL,QAAqBpG,IAA+BoG,EACpDooC,EAAkBprC,KAAKwB,EAAKwB,IAG9B,OAAOooC,GAmCH1nB,EAAY,SAAAtkB,GAAS,IACjB+O,EAAiC3R,EAAjC2R,UAAWi9B,EAAsB5uC,EAAtB4uC,kBACfzjC,EAAS,YAAOwG,GAChB4wC,EAA6B3T,EAC7B/hB,EAAc1hB,EAAUvB,QAAQhH,GAEhCkqB,EAAey1B,EAA2Bt2B,WAAU,SAAA4iB,GAAgB,OAAIA,EAAiBjnB,OAAShlB,KACtG2/C,EAA2Bz1B,GAAchF,WAAay6B,EAA2Bz1B,GAAchF,WAE1E,IAAjB+E,EACF1hB,EAAUpH,OAAO8oB,EAAa,GAE9B1hB,EAAU3H,KAAKZ,GAGjBgG,EAAS,2BAAK5I,GAAN,IAAa4uC,kBAAmB2T,EAA4B5wC,UAAWxG,MAG3E4hB,EAAY,SAAAje,GAAU,IAClBvM,EAAmBvC,EAAnBuC,MAAOJ,EAAYnC,EAAZmC,QACX6qB,EAAgBC,EAAO9qB,GAE3B,MAAc,eAAVI,EACKuM,EAAMrM,MAAK,SAAC8H,EAAGC,GACpB,IAAMg4C,EAAQj4C,EAAEyiB,GACVy1B,EAASj4C,EAAEwiB,GACjB,OAAQw1B,EAAQC,EAAU,EAAMA,EAASD,GAAU,EAAI,KAGlD1zC,EAAMrM,MAAK,SAAC8H,EAAGC,GACpB,IAAMg4C,EAAQj4C,EAAEyiB,GACVy1B,EAASj4C,EAAEwiB,GACjB,OAAQw1B,EAAQC,EAAU,EAAMA,EAASD,GAAU,EAAI,MAKvDv1B,EAAS,SAAA9qB,GAAY,IACjB8E,EAA+CpG,EAA/CoG,KAAMwd,EAAyC5jB,EAAzC4jB,OAAQF,EAAiC1jB,EAAjC0jB,OAAQ/D,EAAyB3f,EAAzB2f,GAAIkE,EAAqB7jB,EAArB6jB,QAASL,EAAYxjB,EAAZwjB,QAE3C,OAAQliB,GACN,KAAK8E,EAAM,MAAO,OAClB,KAAKwd,EAAQ,MAAO,MACpB,KAAKF,EAAQ,MAAO,OACpB,KAAK/D,EAAI,MAAO,KAChB,KAAKkE,EAAS,MAAO,UACrB,KAAKL,EAAS,MAAO,YAKnBqD,EAAY,SAACvnB,EAAOD,GAAU,IAE9BwiD,EADe1iD,EAAXoiD,OAGK,QAATliD,GACFwiD,EAAgBviD,GAAS,EAEzBsmB,GAAYtmB,EAAO,OAChBiU,MAAK,WACJxL,EAAS,2BAAK5I,GAAN,IAAaoiD,OAAQM,QAE9BxoC,OAAM,SAAAC,GACLtI,QAAQjR,MAAMuZ,QAGlBuoC,EAAgBviD,QAAS0D,EAEzB+iB,GAAezmB,EAAO,OACnBiU,MAAK,WACJxL,EAAS,2BAAK5I,GAAN,IAAaoiD,OAAQM,QAE9BxoC,OAAM,SAAAC,GACLtI,QAAQjR,MAAMuZ,QAKhB8O,EAAY,SAAAC,GAChB,IAAMq5B,EAA0B,YAAOviD,EAAM4uC,mBAE7C,GAAI1lB,EAAS,CACX,IAAIy5B,EAAyB,GAEzB/T,EAAoB2T,EAA2Bp+C,KAAI,SAAA0qC,GAGrD,OAFA8T,EAAuBn/C,KAAKqrC,EAAiBjnB,MAC7CinB,EAAiB/mB,WAAY,EACtB+mB,KAGTjmC,EAAS,2BAAK5I,GAAN,IAAa4uC,oBAAmBj9B,UAAWgxC,EAAwBl3B,WAAYvC,SAClF,CACL,IAAI0lB,EAAoB2T,EAA2Bp+C,KAAI,SAAA0qC,GAErD,OADAA,EAAiB/mB,WAAY,EACtB+mB,KAGTjmC,EAAS,2BAAK5I,GAAN,IAAa4uC,oBAAmBj9B,UAAW,GAAI8Z,WAAYvC,OAoBjEwD,EAAe,SAACtS,EAAMxG,GAC1B0X,EAAS,2BACJza,GADG,IAENua,SAAS,EACThR,KAAMA,EACNiR,UAAWzX,MAsBTyZ,EAAsB,WAC1BrO,EAASD,MAAmB3K,MAAK,kBAAM+W,GAAW,OAG9CmC,EAAqB,WACzBhC,EAAS,2BACJza,GADG,IAENua,SAAS,EACThR,KAAM,GACNiR,UAAW,OAIf,OACE,yBAAK3pB,UAAU,OACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAK0oC,OAE1B,kBAAC,GAAD,CAAS5qB,QAAQ,GACf,kBAAC,GAAD,CAAY/b,KAAM/B,EAAK,kBAAmBgb,KAAK,WAAWkN,cAAc,IACxE,yBAAKrnB,UAAU,UACb,yBAAKA,UAAU,8BACb,kBAAC,GAAD,CAAUunB,UAAWA,EAAWC,QAASlpB,EAAMyrB,aAC/C,kBAAC,GAAD,CAAQ9iB,KAAK,UAAU2hB,WAlEpB,SAAArqB,GAAW,IACd0R,EAAc3R,EAAd2R,UAEJA,EAAUxL,QAAUlG,IACtBkrB,GAAW,GzDnUe,SAAClrB,EAAQ26C,GACvC,IAAMnjC,EAAW,IAAIC,SAQrB,OAPAD,EAASE,OAAO,SAAU1X,GAC1BwX,EAASE,OAAO,QAAS8E,MAEzBm+B,EAAQ9vC,SAAQ,SAAA02C,GACd/pC,EAASE,OAAO,WAAY6pC,MAGvB3tC,KAAM+D,KAAK8E,GAAW,oBAAqBjF,GyD2T9CmrC,CAAiB3iD,EAAQ0R,GACtByC,MAAK,SAAAlJ,GACkB,MAAlBA,EAAOwS,SACTuL,GAAU,GACVrJ,IAAYxL,MAAK,kBAAMiZ,WAG1BnT,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,UAuDxB,kBAAC,GAAD,CAAgB9X,cAxMJ,SAACF,EAASI,GAC9BqG,EAAS,2BACJ5I,GADG,IAENmC,UACAI,YAoMoDJ,QAASnC,EAAMmC,QAASI,MAAOvC,EAAMuC,MAAOoG,KAAK,YAC/F,kBAAC,GAAD,CAAa2d,iBAAkB,SAAAiH,GAAI,OAAIrrB,EAAMsrB,iBAAiBD,SAIpE,yBAAK7rB,UAAU,eACZ2J,EAAU,kBAAC,EAAD,MAtML,WAAO,IACTujC,EAAsB5uC,EAAtB4uC,kBACFwT,EAAM,eAAQpiD,EAAMoiD,QACpBl3C,EAAS,GAgBf,OAdA0jC,EAAkB9jC,SAAQ,SAAA+jC,GACxBA,EAAiBhnB,QAAUznB,IAA+ByuC,EAAiBjnB,KAEvEw6B,EAAOvT,EAAiBjnB,MAC1BinB,EAAiB7mB,QAAUo6B,EAAOvT,EAAiBjnB,MAEnDinB,EAAiB7mB,QAAU,EAG7B9c,EAAO1H,KAAKqrC,MAGK9hB,EAAU7hB,GAET/G,KAAI,SAACC,EAAMV,GAC7B,OAAO,kBAAC,GAAD,CAAkBsB,KAAMZ,EAAMC,IAAKX,EAAOgkB,UAAWA,EAAWR,UAAWA,EAAW0B,YAAa8D,OAkL/E00B,IAE3B,yBAAK1/C,UAAU,SAAS1B,EAAM0rB,aAC9B,kBAAC,GAAD,CACElB,OApDsB,WAC1B,IAAK3Z,EAAMwa,UACT,OAAOiC,IAGTA,IACAnC,GAAW,GACX5J,GAAa1Q,EAAMwa,WAChBjX,MAAK,SAAA4F,GACJ,GAAIA,EAAIhV,KAAKpE,MAEX,OADAuqB,GAAW,GACJuB,EAAa1S,EAAIhV,KAAKpE,MAAO,IAEtCgf,IAAYxL,MAAK,kBAAMiZ,UAExBnT,OAAM,SAAAC,GAASgR,GAAW,GAAQtZ,QAAQjR,MAAMuZ,OAsC/CsQ,SAAU6C,EACV/C,KAAM1Z,EAAMua,QACZhR,KAAMvJ,EAAMuJ,UC5ZL,SAASyoC,GAAW3gD,GAAQ,IACjCrB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACFwC,EAAUC,cACVsR,EAAoBC,KAAYC,MAAMzR,EAAQoQ,SAAS7N,OAAQ,CAAEmP,mBAAmB,IAHlD,EAIA3I,oBAAS,GAJT,mBAIjC02C,EAJiC,KAInBC,EAJmB,KAcxC,OARAx/C,qBAAU,WACJqR,EAAkB+Y,OACpBo1B,GAAgB,GAEhBA,GAAgB,KAEjB,CAAC1/C,EAAQoQ,WAGV,oCACE,kBAAC6F,GAAA,EAAD,KACE,iDAAmBzY,EAAK0oC,OAGxBuZ,EACI,kBAAC9B,GAAD,iBAAgB9+C,EAAhB,CAAuBsrB,iBAAkBtrB,EAAMsrB,oBAC/C,kBAAC,GAAD,iBAAuBtrB,EAAvB,CAA8BsrB,iBAAkBtrB,EAAMsrB,qBC5BlE,IAAM9Q,GAAWhR,OAAO+H,SAASC,OC2ElBsvC,I,OAxEG,SAAA9gD,GAAU,IAClB8C,EAAS9C,EAAT8C,KACAnE,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KAqBR,OACE,yBAAKa,UAAWsD,EAAK6iB,QAAU,yBAA2B,iBAAkB1f,GAAInD,EAAK4iB,MACnF,kBAAC,GAAD,CAAWlmB,UAAU,cArBP,SAAAiB,GAChB,IAAIgb,EAAU,IAAI1W,KAAKtE,GACnBib,EAAMD,EAAQxW,UACd0W,EAAQF,EAAQvW,WAChBG,EAAOoW,EAAQG,cAGnB,OAAO,yBAAKpc,UAAU,QAAQkc,EAAvB,SAFM,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAEzCC,GAA3C,SAA2DtW,GAe7DigB,CAAUxiB,EAAK+iB,OAElB,kBAAC,GAAD,CAAWrmB,UAAU,cACnB,yBAAKA,UAAU,QAfH,SAAAiB,GAChB,IAAIgb,EAAU,IAAI1W,KAAKtE,GACnBkb,EAAQF,EAAQvW,WAChBG,EAAOoW,EAAQG,cAGnB,OAAO,yBAAKpc,UAAU,QAFT,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAEtDmc,GAA9B,SAA8CtW,GAS1B07C,CAAUj+C,EAAK+iB,OACtC,yBAAKrmB,UAAU,SACb,kBAAC,GAAD,CAAWA,UAAU,OACnB,yBAAKA,UAAU,aACZb,EAAKujB,UACN,8BAAM,0BAAM1iB,UAAU,QAAQsD,EAAKk+C,aAAoBriD,EAAKwsC,IAC5D,yBAAK3rC,UAAU,UAAUK,MAAO,CAAEC,MAAO,UAAGgD,EAAKm+C,oBAAR,OAAkC,MAE7E,yBAAKzhD,UAAU,QACZb,EAAKsjB,KADR,KACe,8BAAM,0BAAMziB,UAAU,QAAQsD,EAAKooC,QAAevsC,EAAKwsC,IACpE,yBAAK3rC,UAAU,UAAUK,MAAO,CAAEC,MAAO,UAAGgD,EAAKsoC,eAAR,OAA6B,MAExE,yBAAK5rC,UAAU,kBACb,6BACE,6BAAMb,EAAKuiD,IAAX,KAAiB,8BAAM,0BAAM1hD,UAAU,QAAQsD,EAAKq+C,YAAmBxiD,EAAKwsC,KAC5E,6BAAMxsC,EAAK4+C,KAAX,KAAkB,8BAAM,0BAAM/9C,UAAU,QAAQsD,EAAKs+C,aAAoBziD,EAAKwsC,MAEhF,6BACE,6BAAMxsC,EAAKktC,UAAX,KAAuB,8BAAM,0BAAMrsC,UAAU,QAAQsD,EAAKu2C,aAAoB16C,EAAKwsC,KACnF,6BAAMxsC,EAAK,oBAAX,KAAiC,8BAAM,0BAAMa,UAAU,QAAQsD,EAAKu+C,aAAoB1iD,EAAKwsC,QAInG,kBAAC,GAAD,CAAW3rC,UAAU,OACnB,6BAAK,8BAAOb,EAAK,eAAZ,KAAL,IAAyC,0BAAMa,UAAU,QAAQsD,EAAKqjB,gBACtE,6BAAK,8BAAOxnB,EAAK,eAAZ,KAAL,IAAyC,0BAAMa,UAAU,QAAQsD,EAAKw+C,YACtE,6BAAK,8BAAO3iD,EAAK,eAAZ,KAAL,IAAyC,0BAAMa,UAAU,QAAQsD,EAAK61C,gBACtE,6BAAK,8BAAOh6C,EAAK,eAAZ,KAAL,IAAyC,0BAAMa,UAAU,QAAQsD,EAAK+1C,gBACtE,6BAAK,8BAAOl6C,EAAK,eAAZ,KAAL,IAAyC,0BAAMa,UAAU,QAAQsD,EAAKi2C,iBAExE,kBAAC,GAAD,CAAWv5C,UAAU,OACnB,6BAAK,8BAAOb,EAAK,gBAAZ,KAAL,IAA0C,0BAAMa,UAAU,QAAQsD,EAAKm2C,iBACvE,6BAAK,8BAAOt6C,EAAK,iBAAZ,KAAL,IAA2C,0BAAMa,UAAU,QAAQsD,EAAKq2C,kBACxE,6BAAK,8BAAOx6C,EAAI,UAAX,KAAL,IAAuC,0BAAMa,UAAU,QAAQsD,EAAKu2C,cACpE,6BAAK,8BAAO16C,EAAK,aAAZ,KAAL,IAAuC,0BAAMa,UAAU,QAAQsD,EAAK02C,cACpE,6BAAK,8BAAO76C,EAAK,gBAAZ,KAAL,IAA0C,0BAAMa,UAAU,QAAQsD,EAAKy+C,iBCwHpEzH,I,OA9KI,SAAA95C,GAAU,IACnBrB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACAT,EAA+BgC,aAAY,SAAApC,GAAK,OAAIA,EAAMqB,uBAA1DjB,2BACAT,EAAmByC,aAAY,SAAApC,GAAK,OAAIA,EAAMmB,kBAA9CxB,eACFqf,EAAWI,cAJS,EAKAhT,mBAAS,CACjCs3C,WAAY,GACZ7iC,MAAO,GACP6K,YAAa,GACbrgB,SAAS,IATe,mBAKnBrL,EALmB,KAKZ4I,EALY,KAY1BrF,qBAAU,WAMR,OALAyb,EAASzC,GAAiB,iBAC1ByC,EjJnBK,CACL9e,KxCVkC,yBwCWlCC,MAAO,KiJkBP6e,E9HpBK,CACL9e,KzDVyC,gCyDWzCC,MAAO,K8HmBPyf,IAEO,WACLZ,E9HxBG,CACL9e,KzDVyC,gCyDWzCC,MAAO,Q8HwBN,IAEHoD,qBAAU,WAGR,OAFAmI,OAAOhH,iBAAiB,UAAWinB,GAE5B,WACLjgB,OAAO7G,oBAAoB,UAAW8mB,MAEvC,CAACvrB,EAA4BT,EAAgBK,EAAM0jD,aAEtD,IAAM/3B,EAAyB,SAAA9f,GACP,KAAlBA,EAAMxG,SAAoC,KAAlBwG,EAAMxG,SAC5B1F,GACFqf,EjJvCC,CACL9e,KxCVkC,yBwCWlCC,MAAO,KiJyCe,KAAlB0L,EAAMxG,SACRwG,EAAMuG,iBACNyZ,KAC2B,KAAlBhgB,EAAMxG,UACfwG,EAAMuG,iBACN0Z,MAIEC,EAAqB,SAAA23B,GACzBA,EAAW,GAAX,QAA2BA,EAAW,GAAX,KAC3B96C,EAAS,2BAAK5I,GAAN,IAAa0jD,gBACrB1kC,EAAS+E,GAAqC2/B,EAAW,GAAX,QAG1C53B,EAAkB,WACtB,IAAI43B,EAAU,YAAO1jD,EAAM0jD,YAM3B,GAAmC,KAA/BtjD,EAAJ,CAKA,IAAI4rB,EAAyB03B,EAAWz3B,WAAU,SAAA03B,GAAS,OAAIA,EAAU/7B,OAASxnB,KAElF,GAAI4rB,IAA2B03B,EAAWv9C,OAAS,EAAG,CACpD,IAAIgmB,EAAqBu3B,EAAW13B,EAAyB,GAC7D03B,EAAW13B,GAAX,QAAgD,GAChDG,EAAkB,QAAcA,EAAkB,KAClD1nB,SAASqM,eAAeqb,EAAkB,MAAUC,eAAe,CAAEC,SAAU,SAAUC,MAAO,WAChG1jB,EAAS,2BAAK5I,GAAN,IAAa0jD,gBACrB1kC,EAAS+E,GAAqCoI,EAAkB,aAZhEJ,EAAmB23B,IAgBjB73B,EAAgB,WACpB,IAAI63B,EAAU,YAAO1jD,EAAM0jD,YAM3B,GAAmC,KAA/BtjD,EAAJ,CAKA,IAAI4rB,EAAyB03B,EAAWz3B,WAAU,SAAA03B,GAAS,OAAIA,EAAU/7B,OAASxnB,KAElF,GAA+B,IAA3B4rB,EAA8B,CAChC,IAAIG,EAAqBu3B,EAAW13B,EAAyB,GAC7D03B,EAAW13B,GAAX,QAAgD,GAChDG,EAAkB,QAAcA,EAAkB,KAClD1nB,SAASqM,eAAeqb,EAAkB,MAAUC,eAAe,CAAEC,SAAU,SAAUC,MAAO,WAChG1jB,EAAS,2BAAK5I,GAAN,IAAa0jD,gBACrB1kC,EAAS+E,GAAqCoI,EAAkB,aAZhEJ,EAAmB23B,IAgBjB9jC,EAAY,WAChBZ,E9H3GK,CACL9e,KzDVyC,gCyDWzCC,MAAO,K8H0GPyI,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KAE9B,IAAIzF,EAAS8F,OAAO+H,SAAS7N,QFnHA,SAAArF,GAC/B,OAAOsT,KAAMC,IAAI4I,wCAAkCnc,IEqHjDqjD,CAFWh+C,EAASA,EAAOhC,MAAM,KAAK,GAAK,IAGxCwQ,MAAK,SAAAlJ,GACJtC,EAAS,2BACJ5I,GADG,IAEN0jD,WAAY/2B,EAAazhB,EAAOlG,KAAKA,MACrC6b,MAAO3V,EAAOlG,KAAK6b,OAAS,GAC5B6K,YAAaxgB,EAAOlG,KAAK0mB,YACzBrgB,SAAS,QAGZ6O,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,OAG1BwS,EAAe,SAAA3nB,GACnB,IAAI0+C,EAAa,GAEjB,IAAK,IAAIl9C,KAAKxB,EACZA,EAAKwB,GAAL,KAAkBA,EAClBxB,EAAKwB,GAAL,KAAkBA,EAClBxB,EAAKwB,GAAL,QAAqBpG,IAA+BoG,EACpDk9C,EAAWlgD,KAAKwB,EAAKwB,IAGvB,OAAOk9C,GAqBT,OACE,yBAAKhiD,UAAU,mBACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAKgjD,SAE1B,kBAAC,GAAD,CAASllC,QAAQ,EAAOjd,UAAU,iBAChC,yBAAKA,UAAU,UACb,yBAAKA,UAAU,8BACb,kBAAC,KAAD,CAAM8Q,GAAG,eAAe9Q,UAAU,eAAexB,KAAK,UAAUW,EAAK,uBACrE,kBAAC,GAAD,CAAQ8H,KAAK,iBAAiBkY,MAAO7gB,EAAM6gB,MAAOyJ,WAfzC,SAAAnqB,GACjB,IAAII,EAAiB,KAAVJ,EAAA,gBAAwBA,GAAU,GAC7C+B,EAAMmB,QAAQG,KAAK,CAAEoC,OAAQrF,IAC7Bqf,OAaQ,kBAAC,GAAD,CAAa0G,iBAAkB,SAAAiH,GAAI,OAAIrrB,EAAMsrB,iBAAiBD,SAIpE,yBAAK7rB,UAAU,sBACZ1B,EAAMqL,QAAU,kBAAC,EAAD,MAjCJ,WACjB,IAAIq4C,EAAU,YAAO1jD,EAAM0jD,YAM3B,OAJAA,EAAW54C,SAAQ,SAAA64C,GACjBA,EAAU97B,QAAUznB,IAA+BujD,EAAU/7B,QAGxD87B,EAAWv/C,KAAI,SAACC,EAAMV,GAC3B,OAAO,kBAAC,GAAD,CAAWsB,KAAMZ,EAAMC,IAAKX,OAyBFggD,IAEjC,yBAAKhiD,UAAU,SAAS1B,EAAM0rB,gBC3CrB1G,I,OApIF,SAAC,GAAkE,IAW/CzkB,EAXjByE,EAA+D,EAA/DA,KAAM0iB,EAAyD,EAAzDA,UAAWkB,EAA8C,EAA9CA,YAAa1B,EAAiC,EAAjCA,UAAW48B,EAAsB,EAAtBA,OAAQC,EAAc,EAAdA,QAAc,EAClD3hD,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAA9CI,EADqE,EACrEA,KAAMC,EAD+D,EAC/DA,SAoDd,OACE,kBAAC,GAAD,CACEqH,GAAInD,EAAK4iB,KACTjlB,KAAMqC,EAAK+iB,KACXzZ,QAAStJ,EAAK8iB,UACdhB,QAAS9hB,EAAKgjB,QACdN,UA3BmB,SAACZ,GAEpBY,EAAU1iB,EAAK4iB,KADbd,EACmB,MAEA,WAwBrBI,UApBkB,WACpBA,EAAUliB,EAAK4iB,OAoBbN,QAAStiB,EAAK6iB,QACdT,UAA8B,QAAnBpiB,EAAKkoC,WAEhB,kBAAC,GAAD,CAAWxrC,UAAU,cACnB,yBAAKA,UAAU,QAAQsD,EAAK4iB,MAC5B,6BAAM5iB,EAAKswC,MAAX,IAAmBtwC,EAAKuwC,OACxB,yBAAK7zC,UAAU,SACb,kBAAC,GAAD,CAAWA,UAAU,OACnB,yBAAKA,UAAU,aACZb,EAAKujB,UACN,8BAAM,0BAAM1iB,UAAU,QAAQsD,EAAKk+C,aAAnC,IAAwDl+C,EAAKg/C,qBAC7D,yBAAKtiD,UAAU,UAAUK,MAAO,CAAEC,MAAO,UAAGgD,EAAKm+C,oBAAR,OAAkC,MAE7E,yBAAKzhD,UAAU,QACZb,EAAKsjB,KADR,KACe,8BAAM,0BAAMziB,UAAU,QAAQsD,EAAKooC,QAAnC,IAAmDpoC,EAAKi/C,gBACrE,yBAAKviD,UAAU,UAAUK,MAAO,CAAEC,MAAO,UAAGgD,EAAKsoC,eAAR,OAA6B,MAExE,yBAAK5rC,UAAU,kBACb,6BACE,6BAAK,8BAAOb,EAAKuiD,IAAZ,KAAL,IAA8B,8BAAM,2BAAIp+C,EAAKq+C,YAAf,IAAgCr+C,EAAKk/C,qBACnE,6BAAK,8BAAOrjD,EAAK4+C,KAAZ,KAAL,IAA+B,8BAAM,2BAAIz6C,EAAKs+C,aAAf,IAAiCt+C,EAAKm/C,uBAEvE,6BACE,6BAAK,8BAAOtjD,EAAKktC,UAAZ,KAAL,IAAoC,8BAAM,2BAAI/oC,EAAKu2C,aAAf,IAAiCv2C,EAAKo/C,sBAC1E,6BAAK,8BAAOvjD,EAAK,oBAAZ,KAAL,IAA8C,8BAAM,2BAAImE,EAAKu+C,aAAf,IAAiCv+C,EAAKq/C,yBAI1F,kBAAC,GAAD,CAAW3iD,UAAU,OACnB,6BAAK,8BAAOb,EAAK,eAAZ,KAAL,IAAyC,8BAAM,2BAAImE,EAAKqjB,eAAf,MAAqCrjB,EAAK4wC,cACnF,6BAAK,8BAAO/0C,EAAK,eAAZ,KAAL,IAAyC,8BAAM,2BAAImE,EAAK+1C,eAAf,MAAqC/1C,EAAK8wC,cACnF,6BAAK,8BAAOj1C,EAAK,gBAAZ,KAAL,IAA0C,8BAAM,2BAAImE,EAAKm2C,gBAAf,MAAsCn2C,EAAKgxC,eACrF,6BAAK,8BAAOn1C,EAAKktC,UAAZ,KAAL,IAAoC,8BAAM,2BAAI/oC,EAAKu2C,aAAf,MAAmCv2C,EAAKkxC,YAC5E,6BAAK,8BAAOr1C,EAAK,aAAZ,KAAL,IAAuC,8BAAM,2BAAImE,EAAK02C,aAAf,MAAmC12C,EAAKmxC,YAC/E,6BAAK,8BAAOt1C,EAAKgyC,QAAZ,KAAL,IAAkC,8BAAM,2BAAI7tC,EAAK42C,WAAf,MAAiC52C,EAAKoxC,WAE1E,kBAAC,GAAD,CAAW10C,UAAU,OACnB,6BAAK,8BAAOb,EAAKw2C,MAAZ,KAAL,IAAgC,0BAAM31C,UAAU,cAAcsD,EAAKs/C,UACnE,6BAAK,8BAAOzjD,EAAKw0C,QAAZ,KAAL,IAAkC,0BAAM3zC,UAAU,QAAQsD,EAAKk2B,UAC/D,6BAAK,8BAAOr6B,EAAK,cAAZ,KAAL,IAAwC,0BAAMa,UAAU,QAAQsD,EAAK2wC,QACrE,6BAAK,8BAAO90C,EAAK,gBAAZ,KAAL,IAA0C,0BAAMa,UAAU,QAAQsD,EAAKy+C,WACvE,yBAAK/hD,UAAU,MAAK,8BAAOb,EAAK,gBAAZ,KAApB,IAAyD,0BAAMa,UAAU,QAAyBsD,EAAKuxC,GAlGpF3yC,MAAM,KAEbO,KAClB,SAACqP,EAAQ9P,GAAT,OAAmB,yBAAKW,IAAKX,GAAQ8P,WAmGrC,yBAAK9R,UAAU,YA/FYnB,EAgGDyE,EAAK4iB,KA/Ff9mB,IACEP,EAEhB,6BACE,4BAAQ0C,QAAS6gD,GAASjjD,EAAK,WAC5BmE,EAAK6iB,QAAU,0BAAMnmB,UAAU,mBAAhB,KAA6C,kBAAC,IAAD,CAAiBiG,KAAK,gBAMvF,6BACE,4BAAQ1E,QAAS,kBAAM8gD,EAAQxjD,KAAQM,EAAK,YAA5C,IAA0DN,EACvDyE,EAAK6iB,QAAU,0BAAMnmB,UAAU,mBAAhB,KAA6C,kBAAC,IAAD,CAAiBiG,KAAK,iBAmFvF,6BACE,kBAAC,KAAD,CAAM6K,GAAE,0BAAqBxN,EAAK4iB,OAAS/mB,EAAK8nB,KAC7C3jB,EAAK6iB,QAAU,0BAAMnmB,UAAU,gCAAhB,UAAgE,kBAAC,IAAD,CAAiBiG,KAAK,UAG1G,6BACE,4BACEjG,UAAU,YACVuB,QAxEY,WACpB,IAAI0qC,EAAqC,QAAnB3oC,EAAKkoC,UAAsB,YAAc,UAC/DtkB,EAAY5jB,EAAKu/C,UAAN,kBAA4B5W,EAA5B,gCAAmE3oC,EAAK4iB,SAuE1E5iB,EAAKw/C,YACLx/C,EAAK6iB,QAAU,0BAAMnmB,UAAU,mBAAhB,KAA6C,kBAAC,IAAD,CAAiBiG,KAAyB,QAAnB3C,EAAKkoC,UAAsB,SAAW,WAG9H,6BACE,4BAAQxrC,UAAU,cAAcuB,QAzEnB,WACnB2lB,EAAY5jB,EAAK6jB,YAAN,6CAAyD7jB,EAAK4iB,SAyEhE/mB,EAAKsM,OACLnI,EAAK6iB,QAAU,0BAAMnmB,UAAU,uBAAhB,OAAmD,kBAAC,IAAD,CAAiBiG,KAAK,gBCwTtF8gB,I,OAvaD,SAAAvmB,GAAU,IAAD,EACME,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAA9CK,EADa,EACbA,SAAUD,EADG,EACHA,KACVJ,EAAY2B,aAAY,SAAApC,GAAK,OAAIA,EAAMwB,eAAvCf,QACAL,EAA+BgC,aAAY,SAAApC,GAAK,OAAIA,EAAMqB,uBAA1DjB,2BACAT,EAAmByC,aAAY,SAAApC,GAAK,OAAIA,EAAMmB,kBAA9CxB,eACFqf,EAAWI,cACX/b,EAAUC,cANK,EAOS8I,oBAAS,GAPlB,mBAOdf,EAPc,KAOL8f,EAPK,OAQK/e,mBAAS,CACjCgO,KAAM,GACNgR,SAAS,EACTC,UAAW,KAXQ,mBAQdxa,EARc,KAQPya,EARO,OAaKlf,mBAAS,CACjCyU,MAAO,GACP4jC,QAAS,GACTh5B,YAAY,EACZtpB,QAAStB,EAAKoG,KACd1E,MAAO,aACPoP,UAAW,GACX+Z,YAAa,KApBM,mBAad1rB,EAbc,KAaP4I,EAbO,KAuBrBrF,qBAAU,WAMR,OALAyb,EAASzC,GAAiB,gBAC1ByC,EnJrCK,CACL9e,KxCVkC,yBwCWlCC,MAAO,KmJoCP6e,EhItCK,CACL9e,KzDVyC,gCyDWzCC,MAAO,KgIqCPyf,IAAYxL,MAAK,kBAAM+W,GAAW,MAE3B,WACLnM,EhI1CG,CACL9e,KzDVyC,gCyDWzCC,MAAO,QgI0CN,IAEHoD,qBAAU,WAKR,OAJAmI,OAAOhH,iBAAiB,UAAWinB,GACnCjgB,OAAOhH,iBAAiB,UAAWknB,GACnClgB,OAAOhH,iBAAiB,QAASggD,GAE1B,WACLh5C,OAAO7G,oBAAoB,UAAW8mB,GACtCjgB,OAAO7G,oBAAoB,UAAW+mB,GACtClgB,OAAO7G,oBAAoB,QAAS6/C,MAErC,CAACtkD,EAA4BT,EAAgBK,EAAM6gB,QAEtD,IAAM6jC,EAAe,SAAA74C,GAGnB,KAF2BpH,SAASsH,cAAc,gBAAkBtH,SAASsH,cAAc,oBAMrE,KAAlBF,EAAMxG,QACR,OAAQhC,EAAQoQ,SAAS9N,UACvB,IAAK,cAAe,OAAOlF,EAAQ+5C,KAAOn3C,EAAQG,KAAK,aAAeH,EAAQG,KAAK,gBAMnFoc,EAAY,WAEhB,OADAuL,GAAW,GACJ,IAAI9W,SAAQ,SAACwB,EAASqJ,GpD3ExBrL,KAAMC,IAAI4I,GANF,8BAMuB,CACpCmD,OAAQ,CACNlf,MAAO8b,QoD2EJrI,MAAK,SAAAlJ,GACJtC,EAAS,2BACJ5I,GADG,IAEN6gB,MAAO8L,EAAazhB,EAAOlG,KAAKA,MAChCy/C,QAASv5C,EAAOlG,KAAKy/C,QACrB/4B,YAAaxgB,EAAOlG,KAAK0mB,YACzBD,YAAY,EACZ9Z,UAAW,MAEbkE,OAEDqE,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,UAI5ByR,EAAgC,SAAA/f,GACpC,IAAIC,EAAuBrH,SAASsH,cAAc,gBAAkBtH,SAASsH,cAAc,kBAE3F,GAAI3L,IAA+B0L,EACjC,OAAQD,EAAMxG,SACZ,KAAK,GAAI,OAAOs/C,IAChB,KAAK,GAAI,OAAO9W,IAChB,KAAK,EAAG,OAAOthB,IACf,KAAK,GAAI,OAAOC,MAMhBm4B,EAAc,WACd7jD,IAAaV,EACf8B,EAAMmB,QAAQG,KAAK,WAEnBtB,EAAMmB,QAAQG,KAAd,0BAAsCpD,KAIpCosB,EAAa,WACjBtqB,EAAMmB,QAAQG,KAAd,0BAAsCpD,KAGlCytC,EAAgB,WAAO,IAEvB+W,EADc5kD,EAAV6gB,MACoB9V,QAAO,SAAAxK,GAAI,OAAIA,EAAKqnB,OAASxnB,KAA4B,GACjFutC,EAAgD,QAA9BiX,EAAgB1X,UAAsB,YAAc,UAE1ExgB,EAAak4B,EAAgBL,UAAjB,kBAAuC5W,EAAvC,gCAA8EvtC,KAGtFmsB,EAAe,WAAO,IAEtBq4B,EADc5kD,EAAV6gB,MACoB9V,QAAO,SAAAxK,GAAI,OAAIA,EAAKqnB,OAASxnB,KAA4B,GAErFssB,EAAak4B,EAAgB/7B,YAAjB,6CAAoEzoB,KAG5EurB,EAAyB,SAAA9f,GACP,KAAlBA,EAAMxG,SAAoC,KAAlBwG,EAAMxG,SAC5B1F,GACFqf,EnJxIC,CACL9e,KxCVkC,yBwCWlCC,MAAO,KmJ0Ie,KAAlB0L,EAAMxG,SACRwG,EAAMuG,iBACNyZ,KAC2B,KAAlBhgB,EAAMxG,UACfwG,EAAMuG,iBACN0Z,MAIEC,EAAqB,SAAAlL,GACzBA,EAAM,GAAN,QAAsBA,EAAM,GAAN,KACtBjY,EAAS,2BAAK5I,GAAN,IAAa6gB,WACrB7B,EAAS+E,GAAqClD,EAAM,GAAN,QAG1CiL,EAAkB,WACtB,IAAIjL,EAAK,YAAO7gB,EAAM6gB,OAMtB,GAAmC,KAA/BzgB,EAAJ,CAKA,IAAI4rB,EAAyBnL,EAAMoL,WAAU,SAAA1rB,GAAI,OAAIA,EAAKqnB,OAASxnB,KAEnE,GAAI4rB,IAA2BnL,EAAM1a,OAAS,EAAG,CAC/C,IAAIgmB,EAAqBtL,EAAMmL,EAAyB,GACxDnL,EAAMmL,GAAN,QAA2C,GAC3CG,EAAkB,QAAcA,EAAkB,KAClD1nB,SAASqM,eAAeqb,EAAkB,MAAUC,eAAe,CAAEC,SAAU,SAAUC,MAAO,WAChG1jB,EAAS,2BAAK5I,GAAN,IAAa6gB,WACrB7B,EAAS+E,GAAqCoI,EAAkB,aAZhEJ,EAAmBlL,IAgBjBgL,EAAgB,WACpB,IAAIhL,EAAK,YAAO7gB,EAAM6gB,OAMtB,GAAmC,KAA/BzgB,EAAJ,CAKA,IAAI4rB,EAAyBnL,EAAMoL,WAAU,SAAA1rB,GAAI,OAAIA,EAAKqnB,OAASxnB,KAEnE,GAA+B,IAA3B4rB,EAA8B,CAChC,IAAIG,EAAqBtL,EAAMmL,EAAyB,GACxDnL,EAAMmL,GAAN,QAA2C,GAC3CG,EAAkB,QAAcA,EAAkB,KAClD1nB,SAASqM,eAAeqb,EAAkB,MAAUC,eAAe,CAAEC,SAAU,SAAUC,MAAO,WAChG1jB,EAAS,2BAAK5I,GAAN,IAAa6gB,WACrB7B,EAAS+E,GAAqCoI,EAAkB,aAZhEJ,EAAmBlL,IAwBjB8L,EAAe,SAAA3nB,GACnB,IAAI6b,EAAQ,GAEZ,IAAK,IAAIra,KAAKxB,EACZA,EAAKwB,GAAL,KAAkBA,EAClBxB,EAAKwB,GAAL,WAAuB,EACvBxB,EAAKwB,GAAL,QAAqBpG,IAA+BoG,EACpDqa,EAAMrd,KAAKwB,EAAKwB,IAGlB,OAAOqa,GAwBHgkC,EAAgB,WACpB15B,GAAW,GACXnM,EAASwkB,MAAUpvB,MAAK,kBAAM+W,GAAW,OAGrC25B,EAAiB,SAAAn2B,GACrBxD,GAAW,GACXnM,EAASqkB,GAAQ1U,IAAWva,MAAK,kBAAM+W,GAAW,OAG9CjE,EAAY,SAAAtkB,GAAS,IACjB+O,EAAqB3R,EAArB2R,UAAWkP,EAAU7gB,EAAV6gB,MACf1V,EAAS,YAAOwG,GAChBozC,EAAa,YAAOlkC,GACpBgM,EAAc1hB,EAAUvB,QAAQhH,GAEhCkqB,EAAei4B,EAAc94B,WAAU,SAAA1rB,GAAI,OAAIA,EAAKqnB,OAAShlB,KACjEmiD,EAAcj4B,GAAchF,WAAai9B,EAAcj4B,GAAchF,WAEhD,IAAjB+E,EACF1hB,EAAUpH,OAAO8oB,EAAa,GAE9B1hB,EAAU3H,KAAKZ,GAGjBgG,EAAS,2BAAK5I,GAAN,IAAa6gB,MAAOkkC,EAAepzC,UAAWxG,MAGlD4hB,EAAY,SAAAje,GAChB,IAAIke,EAAgBC,EAAOjtB,EAAMmC,SAEjC,MAAoB,eAAhBnC,EAAMuC,MACDuM,EAAMrM,MAAK,SAAC8H,EAAGC,GAAJ,OAAWD,EAAEyiB,GAAiBxiB,EAAEwiB,GAAkB,EAAMxiB,EAAEwiB,GAAiBziB,EAAEyiB,IAAmB,EAAI,KAE/Gle,EAAMrM,MAAK,SAAC8H,EAAGC,GAAJ,OAAWD,EAAEyiB,GAAiBxiB,EAAEwiB,GAAkB,EAAMxiB,EAAEwiB,GAAiBziB,EAAEyiB,IAAmB,EAAI,MAIpHC,EAAS,SAAA9qB,GAAY,IACXQ,EAA6C9B,EAAnDoG,KAAYid,EAAuCrjB,EAAvCqjB,SAAUC,EAA6BtjB,EAA7BsjB,KAAMC,EAAuBvjB,EAAvBujB,UAAWC,EAAYxjB,EAAZwjB,QAE/C,OAAQliB,GACN,KAAKQ,EAAM,MAAO,OAClB,KAAKuhB,EAAU,MAAO,OACtB,KAAKC,EAAM,MAAO,SAClB,KAAKC,EAAW,MAAO,cACvB,KAAKC,EAAS,MAAO,YAKnBqD,EAAY,SAACvnB,EAAOD,GACxB,IAAI8kD,EAAmBhlD,EAAMykD,QAEhB,QAATvkD,GACF8kD,EAAiB7kD,GAAS,EAE1BsmB,GAAYtmB,EAAO,QAChBiU,MAAK,WACJxL,EAAS,2BAAK5I,GAAN,IAAaykD,QAASO,QAE/B9qC,OAAM,SAAAC,GACLtI,QAAQjR,MAAMuZ,QAGlB6qC,EAAiB7kD,QAAS0D,EAE1B+iB,GAAezmB,EAAO,QACnBiU,MAAK,WACJxL,EAAS,2BAAK5I,GAAN,IAAaykD,QAASO,QAE/B9qC,OAAM,SAAAC,GACLtI,QAAQjR,MAAMuZ,QAKhB8O,EAAY,SAAAC,GAChB,IAAM+7B,EAAc,YAAOjlD,EAAM6gB,OAEjC,GAAIqI,EAAS,CACX,IAAIg8B,EAAY,GAEZrkC,EAAQokC,EAAe9gD,KAAI,SAAA5D,GAG7B,OAFA2kD,EAAU1hD,KAAKjD,EAAKqnB,MACpBrnB,EAAKunB,WAAY,EACVvnB,KAGTqI,EAAS,2BAAK5I,GAAN,IAAa6gB,QAAOlP,UAAWuzC,EAAWz5B,WAAYvC,SACzD,CACL,IAAIrI,EAAQokC,EAAe9gD,KAAI,SAAA5D,GAE7B,OADAA,EAAKunB,WAAY,EACVvnB,KAGTqI,EAAS,2BAAK5I,GAAN,IAAa6gB,QAAOlP,UAAW,GAAI8Z,WAAYvC,OAkBrDwD,EAAe,SAACtS,EAAMxG,GAC1B0X,EAAS,2BACJza,GADG,IAENua,SAAS,EACThR,KAAMA,EACNiR,UAAWzX,MAsBTyZ,EAAsB,WAC1BrO,EAASD,MAAmB3K,MAAK,kBAAM+W,GAAW,OAG9CmC,EAAqB,WACzBhC,EAAS,2BACJza,GADG,IAENua,SAAS,EACThR,KAAM,GACNiR,UAAW,OAIf,OACE,6BACE,kBAAC/R,GAAA,EAAD,KACE,iDAAmBzY,EAAKmvC,QAE1B,kBAAC,GAAD,CAASrxB,QAAQ,GACf,kBAAC,GAAD,CACE/b,KAAMnC,EAAQ+5C,KAAO35C,EAAK,kBAAoBA,EAAK,YACnDgb,KAAMpb,EAAQ+5C,KAAO,YAAc,aACnCzxB,cAAc,IAChB,yBAAKrnB,UAAU,UACb,yBAAKA,UAAU,8BACb,kBAAC,GAAD,CAAUunB,UAAWA,EAAWC,QAASlpB,EAAMyrB,aAC/C,kBAAC,GAAD,CAAQ9iB,KAAK,YAAY2hB,WAnEtB,SAAArqB,GACPD,EAAM2R,UAAUxL,QAAUlG,IAC5BkrB,GAAW,GpDpVS,SAAClrB,EAAQklD,GACjC,IAAM1tC,EAAW,IAAIC,SAQrB,OAPAD,EAASE,OAAO,QAAS8E,MACzBhF,EAASE,OAAO,SAAU1X,GAE1BklD,EAAcr6C,SAAQ,SAAAvK,GACpBkX,EAASE,OAAO,SAAUpX,MAGrBsT,KAAM+D,KAAK8E,GAAW,qBAAsBjF,GoD4U/C6S,CAAWrqB,EAAQD,EAAM2R,WACtByC,MAAK,SAAAlJ,GACkB,MAAlBA,EAAOwS,SACTuL,GAAU,GACVrJ,IAAYxL,MAAK,kBAAMiZ,WAG1BnT,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,UA0DxB,kBAAC,GAAD,CAAgB9X,cAlNJ,SAACF,EAASI,GAC9BqG,EAAS,2BACJ5I,GADG,IAENmC,UACAI,YA8MoDJ,QAASnC,EAAMmC,QAASI,MAAOvC,EAAMuC,MAAOoG,KAAK,cAC/F,kBAAC,GAAD,CAAa2d,iBAAkB,SAAAiH,GAAI,OAAIrrB,EAAMsrB,iBAAiBD,SAIpE,yBAAK7rB,UAAU,iBACZ2J,EACG,kBAAC,EAAD,MACC,oCArMG,WACZ,IAAMo5C,EAAO,eAAQzkD,EAAMykD,SACvB5jC,EAAK,YAAO7gB,EAAM6gB,OActB,OAZAA,EAAM/V,SAAQ,SAAAvK,GACZA,EAAKsnB,QAAUznB,IAA+BG,EAAKqnB,KAE/C68B,EAAQlkD,EAAKqnB,MACfrnB,EAAKynB,QAAUy8B,EAAQlkD,EAAKqnB,MAE5BrnB,EAAKynB,QAAU,KAIA+E,EAAUlM,GAET1c,KAAI,SAACC,EAAMV,GAC7B,OAAO,kBAAC,GAAD,CAAMsB,KAAMZ,EAAMC,IAAKX,EAAOgkB,UAAWA,EAAWR,UAAWA,EAAW0B,YAAa8D,EAAco3B,OAAQe,EAAed,QAASe,OAqLrIjkC,GACD,yBAAKnf,UAAU,SAAS1B,EAAM0rB,eAGpC,kBAAC,GAAD,CACElB,OA3DsB,WAC1B,IAAK3Z,EAAMwa,UACT,OAAOiC,IpD/Ve,IAAAxO,EoDkWxBwO,IACAnC,GAAW,IpDnWarM,EoDoWXjO,EAAMwa,UpDnWdxX,KAAMC,IAAI4I,GAAWoC,EAAK,CAC/Be,OAAQ,CACNlf,MAAO8b,SoDkWNrI,MAAK,SAAA4F,GACJ,GAAIA,EAAIhV,KAAKpE,MAEX,OADAuqB,GAAW,GACJuB,EAAa1S,EAAIhV,KAAKpE,MAAO,IAEtCgf,IAAYxL,MAAK,kBAAMiZ,UAExBnT,OAAM,SAAAC,GAASgR,GAAW,GAAQtZ,QAAQjR,MAAMuZ,OA6C/CsQ,SAAU6C,EACV/C,KAAM1Z,EAAMua,QACZhR,KAAMvJ,EAAMuJ,UCtbdsC,GAAWhR,OAAO+H,SAASC,OAO1B,SAAS0xC,GAAkBC,EAAQnlD,EAAMolD,GAC9C,MAAM,mCAAN,OAA0CplD,EAA1C,YAAkDmlD,EAAlD,YAA4DC,EAA5D,Q,WC4BaC,GAlCD,SAAArjD,GAAU,IAAD,EACWkK,oBAAS,GADpB,mBACd5J,EADc,KACJgjD,EADI,KAGrBjiD,qBAAU,WACR,IAAIkiD,EAAW,KAQf,OANIjjD,EACFijD,EAAWC,YAAYxjD,EAAMyjD,UAAW,KAC9BnjD,GAA2B,IAAfN,EAAMoF,MAC5Bs+C,cAAcH,GAGT,kBAAMG,cAAcH,MAC1B,CAACjjD,EAAUN,EAAMoF,OAMpB,OACE,yBAAK5F,UAAU,iBACb,4BAAQuB,QAAS,WALnBuiD,GAAahjD,KAMPA,EAA6C,kBAAC,IAAD,CAAiBmF,KAAK,UAAxD,kBAAC,IAAD,CAAiBA,KAAK,UAErC,yBAAKjG,UAAU,kBAIb,0BAAMA,UAAU,WAAWQ,EAAMoF,SCe1Bu+C,I,OAvCH,SAAA3jD,GAAU,IACZ8C,EAAS9C,EAAT8C,KACAnE,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KAYR,OACE,yBAAKa,UAAWsD,EAAK6iB,QAAU,mBAAqB,WAAY1f,GAAInD,EAAK4iB,MACvE,kBAAC,GAAD,CAAWlmB,UAAU,cAZP,SAAAiB,GAChB,IAAIgb,EAAU,IAAI1W,KAAKtE,GACnBib,EAAMD,EAAQxW,UACd0W,EAAQF,EAAQvW,WAChBG,EAAOoW,EAAQG,cAGnB,OAAO,yBAAKpc,UAAU,QAAQkc,EAAvB,SAFM,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAEzCC,GAA3C,SAA2DtW,GAM7DigB,CAAUxiB,EAAK+iB,OAElB,kBAAC,GAAD,CAAWrmB,UAAU,cACnB,yBAAKA,UAAU,QAAQb,EAAKmE,EAAK4iB,OACjC,yBAAKlmB,UAAU,SACb,kBAAC,GAAD,CAAWA,UAAU,SACnB,6BAAK,yBAAK+Q,IAAK2yC,GAAkBljD,EAAMmjD,OAAQrgD,EAAK0oC,KAAM1oC,EAAK6gD,KAAMnzC,IAAI,YAI/E,yBAAKhR,UAAU,WACb,6BACE,uBAAGA,UAAU,gBAAgBma,KAAMupC,GAAkBljD,EAAMmjD,OAAQrgD,EAAK0oC,KAAM1oC,EAAK6gD,MAChFhlD,EAAKuE,SACN,kBAAC,IAAD,CAAiBuC,KAAMirC,aCkKpBkT,I,OA3LF,SAAA5jD,GAAU,IACbrB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACAT,EAA+BgC,aAAY,SAAApC,GAAK,OAAIA,EAAMqB,uBAA1DjB,2BACAT,EAAmByC,aAAY,SAAApC,GAAK,OAAIA,EAAMmB,kBAA9CxB,eACFqf,EAAWI,cAJG,EAKIhT,mBAAS,IALb,mBAKbpH,EALa,KAKP+gD,EALO,OAMM35C,mBAAS,CACjCi5C,OAAQ,QACRW,WAAYnlD,EAAK43B,MACjBnxB,KAAM,GACN+D,SAAS,EACT6M,MAAO,IAXW,mBAMblY,EANa,KAMN4I,EANM,KAcpBrF,qBAAU,WAMR,OALAyb,EAASzC,GAAiB,eAC1ByC,EvJpBK,CACL9e,KxCVkC,yBwCWlCC,MAAO,KuJmBP6e,EpIrBK,CACL9e,KzDVyC,gCyDWzCC,MAAO,KoIoBPyf,IAEO,WACLZ,EpIzBG,CACL9e,KzDVyC,gCyDWzCC,MAAO,QoIyBN,IAEHoD,qBAAU,WAGR,OAFAmI,OAAOhH,iBAAiB,UAAWinB,GAE5B,WACLjgB,OAAO7G,oBAAoB,UAAW8mB,MAEvC,CAACvrB,EAA4BT,EAAgBqF,IAEhD,IAAM2mB,EAAyB,SAAA9f,GACP,KAAlBA,EAAMxG,SAAoC,KAAlBwG,EAAMxG,SAC5B1F,GACFqf,EvJxCC,CACL9e,KxCVkC,yBwCWlCC,MAAO,KuJ0Ce,KAAlB0L,EAAMxG,SACRwG,EAAMuG,iBACNyZ,KAC2B,KAAlBhgB,EAAMxG,UACfwG,EAAMuG,iBACN0Z,MAIEC,EAAqB,SAAA/mB,GACzBA,EAAK,GAAL,QAAqBA,EAAK,GAAL,KACrB+gD,EAAQ/gD,GACRga,EAAS+E,GAAqC/e,EAAK,GAAL,QAG1C8mB,EAAkB,WAKtB,GAAmC,KAA/B1rB,EAAJ,CAKA,IAAI4rB,EAAyBhnB,EAAKinB,WAAU,SAAAC,GAAI,OAAIA,EAAKtE,OAASxnB,KAElE,GAAI4rB,IAA2BhnB,EAAKmB,OAAS,EAAG,CAC9C,IAAIgmB,EAAqBnnB,EAAKgnB,EAAyB,GACvDhnB,EAAKgnB,GAAL,QAA0C,GAC1CG,EAAkB,QAAcA,EAAkB,KAClD1nB,SAASqM,eAAeqb,EAAkB,MAAUC,eAAe,CAAEC,SAAU,SAAUC,MAAO,WAChGy5B,EAAQ/gD,GACRga,EAAS+E,GAAqCoI,EAAkB,aAZhEJ,EAAmB/mB,IAgBjB6mB,EAAgB,WAKpB,GAAmC,KAA/BzrB,EAAJ,CAKA,IAAI4rB,EAAyBhnB,EAAKinB,WAAU,SAAAC,GAAI,OAAIA,EAAKtE,OAASxnB,KAElE,GAA+B,IAA3B4rB,EAA8B,CAChC,IAAIG,EAAqBnnB,EAAKgnB,EAAyB,GACvDhnB,EAAKgnB,GAAL,QAA0C,GAC1CG,EAAkB,QAAcA,EAAkB,KAClD1nB,SAASqM,eAAeqb,EAAkB,MAAUC,eAAe,CAAEC,SAAU,SAAUC,MAAO,WAChGy5B,EAAQ/gD,GACRga,EAAS+E,GAAqCoI,EAAkB,aAZhEJ,EAAmB/mB,IAwBjB4a,EAAY,WAChBZ,EpIhHK,CACL9e,KzDVyC,gCyDWzCC,MAAO,KoIgHPyI,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KHtHzBwI,KAAMC,IAAI4I,GAHD,8BG4HXtI,MAAK,SAAAlJ,GACJ66C,EAAQp5B,EAAazhB,EAAOlG,KAAKA,OACjC4D,EAAS,2BAAK5I,GAAN,IAAasH,KAAM,GAAI+D,SAAS,QAEzC6O,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,OAG1BwS,EAAe,SAAA3nB,GACnB,IAAIihD,EAAO,GAEX,IAAK,IAAIz/C,KAAKxB,EACZA,EAAKwB,GAAL,KAAkBxB,EAAKwB,GAAL,MAClBxB,EAAKwB,GAAL,QAAqBpG,IAA+BoG,EACpDy/C,EAAKziD,KAAKwB,EAAKwB,IAGjB,OAAOy/C,GAqBHC,EAAc,SAAAb,GAClB,OAAIrlD,EAAMgmD,aAAeX,EAChB,gBAEA,UAILc,EAAe,SAAAd,GACnB,OAAQA,GACN,KAAKxkD,EAAK43B,MAAO7vB,EAAS,2BAAK5I,GAAN,IAAaqlD,OAAQ,QAASW,WAAYnlD,EAAK43B,MAAOnxB,KAAM,MAAO,MAC5F,KAAKzG,EAAK63B,OAAQ9vB,EAAS,2BAAK5I,GAAN,IAAaqlD,OAAQ,SAAUW,WAAYnlD,EAAK63B,OAAQpxB,KAAM,MAAO,MAC/F,KAAKzG,EAAK83B,QAAS/vB,EAAS,2BAAK5I,GAAN,IAAaqlD,OAAQ,UAAWW,WAAYnlD,EAAK83B,QAASrxB,KAAM,MAAO,MAClG,KAAKzG,EAAKulD,OAAQx9C,EAAS,2BAAK5I,GAAN,IAAaqlD,OAAQ,SAAUW,WAAYnlD,EAAKulD,OAAQ9+C,KAAM,QAK5F,OACE,yBAAK5F,UAAU,YACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAKglD,OAE1B,kBAAC,GAAD,CAASlnC,QAAQ,GACf,yBAAKjd,UAAU,mBA7BH,CAACb,EAAK43B,MAAO53B,EAAK63B,OAAQ73B,EAAK83B,QAAS93B,EAAKulD,QAE9CjiD,KAAI,SAAAkhD,GAAM,OAAK,yBAAK3jD,UAAWwkD,EAAYb,GAASpiD,QAAS,kBAAMkjD,EAAad,KAAUA,MA6BnG,kBAAC,GAAD,CAAO/9C,KAAMtH,EAAMsH,KAAMq+C,UA7Ef,WACG,IAAf3lD,EAAMsH,KACRsY,IAEAhX,EAAS,2BAAK5I,GAAN,IAAasH,KAAMtH,EAAMsH,KAAO,MAyEWtC,KAAMhF,EAAMimD,QAE7D,kBAAC,GAAD,CAAa3/B,iBAAkB,SAAAiH,GAAI,OAAIrrB,EAAMsrB,iBAAiBD,OAEhE,yBAAK7rB,UAAU,eACZ1B,EAAMqL,QAAU,kBAAC,EAAD,MAjDV,WACX,IAAIg7C,EAAa,YAAOrhD,GAMxB,OAJAqhD,EAAcv7C,SAAQ,SAAAw6C,GACpBA,EAAIz9B,QAAUznB,IAA+BklD,EAAI19B,QAG5Cy+B,EAAcliD,KAAI,SAACC,EAAMV,GAC9B,OAAO,kBAAC,GAAD,CAAK2hD,OAAQrlD,EAAMqlD,OAAQrgD,KAAMZ,EAAMC,IAAKX,OAyClBuiD,OC/IxBK,GA9CH,SAAC,GAAwB,IAAtBthD,EAAqB,EAArBA,KAAS9C,EAAY,wBAC1BrB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KAUR,OACE,kBAAC,GAAD,CACEsH,GAAInD,EAAK4iB,KACTN,QAAStiB,EAAK6iB,QACdvZ,QAAStJ,EAAK8iB,UACdnlB,KAAMqC,EAAK+iB,KACXb,UAdc,WAChBhlB,EAAMglB,UAAUliB,EAAK4iB,QAcnB,kBAAC,GAAD,CAAWlmB,UAAU,cACnB,yBAAKA,UAAU,SACb,kBAAC,GAAD,CAAWA,UAAU,YACnB,6BAAK,2BAAIsD,EAAK+iB,MAAd,SAAgC/iB,EAAKuhD,OAEvC,kBAAC,GAAD,CAAW7kD,UAAU,YACnB,+BAEF,kBAAC,GAAD,CAAWA,UAAU,YACnB,6BAAK,2BAAIsD,EAAKwhD,SAEhB,kBAAC,GAAD,CAAW9kD,UAAU,YACnB,6BAAK,2BAAIsD,EAAK4iB,UAIpB,yBAAKlmB,UAAU,WACb,6BACE,4BAAQA,UAAU,cAAcuB,QAAS,WA5B/Cf,EAAM0mB,YAAY5jB,EAAKyhD,oBAAvB,8CAAmFzhD,EAAK4iB,KAAxF,kBAAsG5iB,EAAKwhD,UA6BlG3lD,EAAKsM,OACLnI,EAAK6iB,QAAU,0BAAMnmB,UAAU,uBAAhB,OAAmD,kBAAC,IAAD,CAAiBiG,KAAK,eCuQtF++C,I,OAhSE,SAAAxkD,GAAU,IACjBrB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACFwC,EAAUC,cACRlD,EAA+BgC,aAAY,SAAApC,GAAK,OAAIA,EAAMqB,uBAA1DjB,2BACAT,EAAmByC,aAAY,SAAApC,GAAK,OAAIA,EAAMmB,kBAA9CxB,eACFqf,EAAWI,cALO,EAMMhT,oBAAS,GANf,mBAMjBf,EANiB,KAMR8f,EANQ,OAOE/e,mBAAS,CACjCgO,KAAM,GACNgR,SAAS,EACTC,UAAW,KAVW,mBAOjBxa,EAPiB,KAOVya,EAPU,OAYElf,mBAAS,CACjCwnC,OAAQ,GACRjiC,UAAW,GACX8Z,YAAY,EACZtpB,QAAStB,EAAK6kB,OACdnjB,MAAO,aACPmpB,YAAa,KAlBS,mBAYjB1rB,EAZiB,KAYV4I,EAZU,KAqBxBrF,qBAAU,WAMR,OALAyb,EAASzC,GAAiB,oBAC1ByC,EzJhCK,CACL9e,KxCVkC,yBwCWlCC,MAAO,KyJ+BP6e,EtIjCK,CACL9e,KzDVyC,gCyDWzCC,MAAO,KsIgCPyf,IAAYxL,MAAK,kBAAM+W,GAAW,MAE3B,WACLnM,EtIrCG,CACL9e,KzDVyC,gCyDWzCC,MAAO,QsIqCN,IAEHoD,qBAAU,WAIR,OAHAmI,OAAOhH,iBAAiB,UAAWinB,GACnCjgB,OAAOhH,iBAAiB,UAAWknB,GAE5B,WACLlgB,OAAO7G,oBAAoB,UAAW8mB,GACtCjgB,OAAO7G,oBAAoB,UAAW+mB,MAEvC,CAACxrB,EAA4BT,EAAgBK,EAAM4zC,SAEtD,IAAMjoB,EAAyB,SAAA9f,GACP,KAAlBA,EAAMxG,SAAoC,KAAlBwG,EAAMxG,SAC5B1F,GACFqf,EzJtDC,CACL9e,KxCVkC,yBwCWlCC,MAAO,KyJwDe,KAAlB0L,EAAMxG,SACRwG,EAAMuG,iBACNyZ,KAC2B,KAAlBhgB,EAAMxG,UACfwG,EAAMuG,iBACN0Z,MAIEC,EAAqB,SAAA6nB,GACzBA,EAAO,GAAP,QAAuBA,EAAO,GAAP,KACvBhrC,EAAS,2BAAK5I,GAAN,IAAa4zC,YACrB50B,EAAS+E,GAAqC6vB,EAAO,GAAP,QAG1C9nB,EAAkB,WACtB,IAAI8nB,EAAM,YAAO5zC,EAAM4zC,QAMvB,GAAwC,KAApCxzC,EAA2BwnB,KAA/B,CAKA,IAAIoE,EAAyB4nB,EAAO3nB,WAAU,SAAA06B,GAAK,OAAIA,EAAM/+B,OAASxnB,EAA2BwnB,QAEjG,GAAIoE,IAA2B4nB,EAAOztC,OAAS,EAAG,CAChD,IAAIgmB,EAAqBynB,EAAO5nB,EAAyB,GACzD4nB,EAAO5nB,GAAP,QAA4C,GAC5CG,EAAkB,QAAcA,EAAkB,KAClD1nB,SAASqM,eAAeqb,EAAkB,MAAUC,eAAe,CAAEC,SAAU,SAAUC,MAAO,WAChG1jB,EAAS,2BAAK5I,GAAN,IAAa4zC,YACrB50B,EAAS+E,GAAqCoI,EAAkB,aAZhEJ,EAAmB6nB,IAgBjB/nB,EAAgB,WACpB,IAAI+nB,EAAM,YAAO5zC,EAAM4zC,QAMvB,GAAwC,KAApCxzC,EAA2BwnB,KAA/B,CAKA,IAAIoE,EAAyB4nB,EAAO3nB,WAAU,SAAA06B,GAAK,OAAIA,EAAM/+B,OAASxnB,EAA2BwnB,QAEjG,GAA+B,IAA3BoE,EAA8B,CAChC,IAAIG,EAAqBynB,EAAO5nB,EAAyB,GACzD4nB,EAAO5nB,GAAP,QAA4C,GAC5CG,EAAkB,QAAcA,EAAkB,KAClD1nB,SAASqM,eAAeqb,EAAkB,MAAUC,eAAe,CAAEC,SAAU,SAAUC,MAAO,WAChG1jB,EAAS,2BAAK5I,GAAN,IAAa4zC,YACrB50B,EAAS+E,GAAqCoI,EAAkB,aAZhEJ,EAAmB6nB,IAgBjBhoB,EAAgC,SAAA/f,GACpC,IAAIC,EAAuBrH,SAASsH,cAAc,gBAAkBtH,SAASsH,cAAc,kBAE3F,GAAI3L,IAA+B0L,EACjC,OAAQD,EAAMxG,SACZ,KAAK,EAAG,OAAOknB,MAMfA,EAAe,WAAO,IAEtBq6B,EADe5mD,EAAX4zC,OACsB7oC,QAAO,SAAA47C,GAAK,OAAIA,EAAM/+B,OAASxnB,EAA2BwnB,QAAM,GAE9F8E,EAAak6B,EAAiB/9B,YAAazoB,EAA2BymD,aAGlEjnC,EAAY,WAEhB,OADAuL,GAAW,GACJ,IAAI9W,SAAQ,SAACwB,EAASqJ,G/GvIxBrL,KAAMC,IAAI4I,GAPA,2C+GgJVtI,MAAK,SAAAlJ,GACJtC,EAAS,2BACJ5I,GADG,IAEN4zC,OAAQjnB,EAAazhB,EAAOlG,KAAKA,MACjC0mB,YAAaxgB,EAAOlG,KAAK8hD,aACzBr7B,YAAY,EACZ9Z,UAAW,MAEbkE,OAEDqE,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,UAI5BwS,EAAe,SAAA3nB,GACnB,IAAI4uC,EAAS,GAEb,IAAK,IAAIptC,KAAKxB,EACZA,EAAKwB,GAAL,KAAkBA,EAClBxB,EAAKwB,GAAL,QAAqBpG,EAA2BwnB,OAASphB,EACzDotC,EAAOpwC,KAAKwB,EAAKwB,IAGnB,OAAOotC,GAeH1sB,EAAY,SAAAtkB,GAAS,IACjB+O,EAAsB3R,EAAtB2R,UAAWiiC,EAAW5zC,EAAX4zC,OACfzoC,EAAS,YAAOwG,GAChBo1C,EAAkBnT,EAClB/mB,EAAc1hB,EAAUvB,QAAQhH,GAEhCkqB,EAAei6B,EAAgB96B,WAAU,SAAA06B,GAAK,OAAIA,EAAM/+B,OAAShlB,KACrEmkD,EAAgBj6B,GAAchF,WAAai/B,EAAgBj6B,GAAchF,WAEpD,IAAjB+E,EACF1hB,EAAUpH,OAAO8oB,EAAa,GAE9B1hB,EAAU3H,KAAKZ,GAGjBgG,EAAS,2BAAK5I,GAAN,IAAa4zC,OAAQmT,EAAiBp1C,UAAWxG,MAGrD8d,EAAY,SAAAC,GAChB,GAAIA,EAAS,CACX,IAAI89B,EAAa,GAEbpT,EAAS5zC,EAAM4zC,OAAOzvC,KAAI,SAAAwiD,GAG5B,OAFAK,EAAWxjD,KAAKmjD,EAAM/+B,MACtB++B,EAAM7+B,WAAY,EACX6+B,KAGT/9C,EAAS,2BAAK5I,GAAN,IAAa4zC,SAAQjiC,UAAWq1C,EAAYv7B,WAAYvC,SAC3D,CACL,IAAI0qB,EAAS5zC,EAAM4zC,OAAOzvC,KAAI,SAAAwiD,GAE5B,OADAA,EAAM7+B,WAAY,EACX6+B,KAGT/9C,EAAS,2BAAK5I,GAAN,IAAa4zC,SAAQjiC,UAAW,GAAI8Z,WAAYvC,OAmBtDwD,EAAe,SAACtS,EAAMiR,GAC1BC,EAAS,2BAAKza,GAAN,IAAaua,SAAUva,EAAMua,QAAShR,OAAMiR,gBAqBhDiC,EAAqB,WACzBhC,EAAS,2BAAKza,GAAN,IAAaua,SAAUva,EAAMua,QAAShR,KAAM,GAAIiR,UAAW,OAGrE,OACE,yBAAK3pB,UAAU,aACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAKqzB,YAE1B,kBAAC,GAAD,CAASvV,QAAQ,GACf,kBAAC,GAAD,CAAY9C,KAAK,wBAAwBjZ,KAAM/B,EAAK,kBAAmBkoB,cAAc,IACrF,yBAAKrnB,UAAU,UACb,yBAAKA,UAAU,8BACb,kBAAC,GAAD,CAAUunB,UAAWA,EAAWC,QAASlpB,EAAMyrB,aAC/C,kBAAC,GAAD,CAAQ9iB,KAAK,UAAU2hB,WAnDpB,SAAArqB,GAAW,IACd0R,EAAc3R,EAAd2R,UAEJA,EAAUxL,QAAUlG,G/G1MF,SAACA,EAAQmyB,EAAKwhB,GACtC,IAAMn8B,EAAW,IAAIC,SASrB,OARAD,EAASE,OAAO,SAAU1X,GAC1BwX,EAASE,OAAO,QAAS8E,MAEzB2V,EAAItnB,SAAQ,SAAA4U,GACV,IAAMinC,EAAQ/S,EAAO5kC,MAAK,SAAA23C,GAAK,OAAIA,EAAM/+B,OAASlI,KAClDjI,EAASE,OAAO,YAAhB,UAAgC+H,EAAhC,YAAsCinC,EAAK,WAGtC9yC,KAAM+D,KAAK8E,GAAW,iCAAkCjF,G+GiM3D6S,CAAWrqB,EAAQ0R,EAAW3R,EAAM4zC,QACjCx/B,MAAK,SAAAlJ,GACkB,MAAlBA,EAAOwS,SACTuL,GAAU,GACVrJ,IAAYxL,MAAK,kBAAM+W,GAAW,UAGrCjR,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,SAyCxB,kBAAC,GAAD,CAAamM,iBAAkB,SAAAiH,GAAI,OAAIrrB,EAAMsrB,iBAAiBD,SAInEliB,EACG,kBAAC,EAAD,MACC,oCACD,yBAAK3J,UAAU,mBA9GR,WACb,IAAIkyC,EAAM,YAAO5zC,EAAM4zC,QAMvB,OAJAA,EAAO9oC,SAAQ,SAAA67C,GACbA,EAAM9+B,QAAUznB,EAA2BwnB,OAAS++B,EAAM/+B,QAGrDgsB,EAAOzvC,KAAI,SAACC,EAAMV,GACvB,OAAO,kBAAC,GAAD,CAAKsB,KAAMZ,EAAMC,IAAKX,EAAOwjB,UAAWA,EAAW0B,YAAa8D,OAuGhEknB,GACD,yBAAKlyC,UAAU,mBACb,yBAAKA,UAAU,SAAS1B,EAAM0rB,aAC9B,4BAAQxrB,KAAK,SAASwB,UAAU,OAAOuB,QAAS,kBAAMI,EAAQG,KAAK,qBAAqB3C,EAAKkgB,SAKrG,kBAAC,GAAD,CACEyJ,OAlDsB,WAC1B,IAAK3Z,EAAMwa,UACT,OAAOiC,IAGTA,IACAnC,GAAW,GACX5J,GAAa1Q,EAAMwa,WAChBjX,MAAK,SAAA4F,GACJ,GAAIA,EAAIhV,KAAKpE,MAEX,OADAuqB,GAAW,GACJuB,EAAa1S,EAAIhV,KAAKpE,MAAO,IAEtCgf,IAAYxL,MAAK,kBAAM+W,GAAW,SAEnCjR,OAAM,SAAAC,GAASgR,GAAW,GAAQtZ,QAAQjR,MAAMuZ,OAoC/CsQ,SAAU6C,EACV/C,KAAM1Z,EAAMua,QACZhR,KAAMvJ,EAAMuJ,U,OCtSL,SAAS6sC,GAAU/kD,GAAQ,IAAD,IAC/B8C,EAAS9C,EAAT8C,KACAnE,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KAEF6+C,EAAY,SAAC3uB,EAAM3W,GACvB,MAAa,OAATA,GAA0B,KAATA,EACZ,yBAAK1Y,UAAU,WAAWqvB,GAG5B,6BAAMA,EAAN,KAAa,0BAAMrvB,UAAU,QAAQ0Y,KA4C9C,OACE,kBAAC,GAAD,CACEjS,GAAInD,EAAK4iB,KACTtZ,QAAStJ,EAAK8iB,UACdhB,QAAS9hB,EAAKgjB,QACdrlB,KAAMqC,EAAK+iB,KACXL,UA/Cc,SAACZ,GACbA,EACF5kB,EAAMwlB,UAAU1iB,EAAK4iB,KAAM,OAE3B1lB,EAAMwlB,UAAU1iB,EAAK4iB,KAAM,WA4C3BV,UAxCc,WAChBhlB,EAAMglB,UAAUliB,EAAK4iB,OAwCnBR,UAA8B,QAAnBpiB,EAAKkoC,UAChB5lB,QAAStiB,EAAK6iB,SACd,kBAAC,GAAD,CAAWnmB,UAAU,cACnB,yBAAKA,UAAU,QACb,6BAAMsD,EAAK4iB,MACX,6BAAK,0BAAMlmB,UAAU,iBAAiBsD,EAAKkiD,MAAM92C,QAAQ,KAAM,SAEjE,6BAAMpL,EAAKwb,IACX,yBAAK9e,UAAU,SACb,kBAAC,GAAD,CAAWA,UAAU,YACnB,yBAAKA,UAAU,aACZb,EAAKujB,UACN,8BAAM,0BAAM1iB,UAAU,QAAQsD,EAAKmiD,kBAAyBniD,EAAKg/C,qBACjE,yBAAKtiD,UAAU,UAAUK,MAAO,CAAEC,MAAO,UAAGgD,EAAKm+C,oBAAR,OAAkC,MAE7E,yBAAKzhD,UAAU,QACZb,EAAKsjB,KADR,KACe,8BAAM,0BAAMziB,UAAU,QAAQsD,EAAKoiD,aAAoBpiD,EAAKi/C,gBACzE,yBAAKviD,UAAU,UAAUK,MAAO,CAAEC,MAAO,UAAGgD,EAAKsoC,eAAR,OAA6B,OAG1E,kBAAC,GAAD,CAAW5rC,UAAU,YACnB,6BAAMb,EAAK,gBAAX,KAA6B,0BAAMa,UAAU,QAAQsD,EAAKg9C,MAC5C,OAAbh9C,EAAKqiD,IACF3H,EAAU7+C,EAAK,eAAgB,IAC/B6+C,EAAU7+C,EAAK,eAAqC,QAArBmE,EAAKsiD,YAAwBzmD,EAAK,gBAAkBA,EAAKmE,EAAKqiD,MAChG3H,EAAU7+C,EAAK,kBAAmBmE,EAAKuiD,YAE1C,kBAAC,GAAD,CAAW7lD,UAAU,iBA/DtBsD,EAAK+tB,eAEiB,OAAvB/tB,EAAKwiD,cACP9H,EAAU7+C,EAAK,iBAAkB,IAEjC6+C,EAAU7+C,EAAK,iBAAkBmE,EAAKwiD,iBA4D/BxiD,EAAK+tB,cAAgB2sB,EAAS,UAAC7+C,EAAK,yBAAN,QAA2B,iBAAkBmE,EAAKyiD,OAxD/D,WAGU,IAAD,EAE5B,EAJFziD,EAAK6mC,cAEmB,OAAzB7mC,EAAK0iD,gBACPhI,EAAS,UAAC7+C,EAAK,0BAAN,QAA4B,kBAAmB,IAExD6+C,EAAS,UAAC7+C,EAAK,0BAAN,QAA4B,kBAAmBmE,EAAK0iD,kBAmDtDC,GACA3iD,EAAK6mC,aAAe6T,EAAS,UAAC7+C,EAAK,2BAAN,QAA6B,mBAAoBmE,EAAK4iD,SACnFlI,EAAU7+C,EAAK,0BAA2BmE,EAAKiqB,QAItD,yBAAKvtB,UAAU,WACb,6BACE,kBAAC,KAAD,CAAMA,UAAU,YAAY8Q,GAAE,2BAAsBxN,EAAK4iB,OACtD/mB,EAAK8nB,KACL3jB,EAAK6iB,QAAU,0BAAMnmB,UAAU,gCAAhB,UAAgE,kBAAC,IAAD,CAAiBiG,KAAK,UAG1G,6BACE,kBAAC,KAAD,CAAMjG,UAAU,YAAY8Q,GAAE,+BAA0BxN,EAAK4iB,KAA/B,iBAC3B/mB,EAAK,aACLmE,EAAK6iB,QAAU,0BAAMnmB,UAAU,mBAAhB,KAA6C,kBAAC,IAAD,CAAiBiG,KAAK,WAIrF3C,EAAK6+C,OACH,6BACE,uBAAGniD,UAAU,YAAYma,KAAI,iBAAY7W,EAAK4iB,KAAjB,YAAiCnb,OAAO,SAASwzB,IAAI,uBAC/Ep/B,EAAK,iBACLmE,EAAK6iB,QAAU,0BAAMnmB,UAAU,mBAAhB,KAA6C,kBAAC,IAAD,CAAiBiG,KAAK,WAK3F,6BACE,4BACEjG,UAAU,YACVuB,QA/EY,WACpB,IAAI0qC,EAAqC,QAAnB3oC,EAAKkoC,UAAsB,YAAc,UAC/DhrC,EAAM0mB,YAAY5jB,EAAK6iD,kBAAvB,kBAAqDla,EAArD,iCAA6F3oC,EAAK4iB,SA8EzF/mB,EAAKmE,EAAKw/C,aACVx/C,EAAK6iB,QAAU,0BAAMnmB,UAAU,mBAAhB,KAA6C,kBAAC,IAAD,CAAiBiG,KAAyB,QAAnB3C,EAAKkoC,UAAsB,SAAW,WAG9H,6BACE,4BAAQxrC,UAAU,cAAcuB,QAhFnB,WACnBf,EAAM0mB,YAAY5jB,EAAKyhD,oBAAvB,8CAAmFzhD,EAAK4iB,SAgF/E/mB,EAAKsM,OACLnI,EAAK6iB,QAAU,0BAAMnmB,UAAU,uBAAhB,OAAmD,kBAAC,IAAD,CAAiBiG,KAAK,c,WCoRtFy7C,GA1YH,SAAAlhD,GAAU,IACZrB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACAT,EAA+BgC,aAAY,SAAApC,GAAK,OAAIA,EAAMqB,uBAA1DjB,2BACAT,EAAmByC,aAAY,SAAApC,GAAK,OAAIA,EAAMmB,kBAA9CxB,eACAqB,EAAUoB,aAAY,SAAApC,GAAK,OAAIA,EAAMgB,SAArCA,MACAF,EAAasB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAAxCK,SACFke,EAAWI,cACX/b,EAAUC,cAPG,EAQW8I,oBAAS,GARpB,mBAQZf,EARY,KAQH8f,EARG,OASO/e,mBAAS,CACjCgO,KAAM,GACNgR,SAAS,EACTC,UAAW,KAZM,mBASZxa,EATY,KASLya,EATK,OAcOlf,mBAAS,CACjC2xB,WAAY,GACZ+pB,OAAQ,GACRr8B,YAAY,EACZtpB,QAAStB,EAAKoG,KACd1E,MAAO,aACPoP,UAAW,GACX+Z,YAAa,KArBI,mBAcZ1rB,EAdY,KAcL4I,EAdK,KAwBnBrF,qBAAU,WACR,MAAuC,MAAnCvC,EAAMF,GAAN,YACKuC,EAAQG,KAAK,MAGtBwb,EAASzC,GAAiB,eAC1ByC,E3JzCK,CACL9e,KxCVkC,yBwCWlCC,MAAO,K2JwCP6e,ExI1CK,CACL9e,KzDVyC,gCyDWzCC,MAAO,KwIyCPyf,IAAYxL,MAAK,kBAAM+W,GAAW,MAE3B,WACLnM,ExI9CG,CACL9e,KzDVyC,gCyDWzCC,MAAO,SwI8CN,IAEHoD,qBAAU,WAIR,OAHAmI,OAAOhH,iBAAiB,UAAWinB,GACnCjgB,OAAOhH,iBAAiB,UAAWknB,GAE5B,WACLlgB,OAAO7G,oBAAoB,UAAW8mB,GACtCjgB,OAAO7G,oBAAoB,UAAW+mB,MAEvC,CAACxrB,EAA4BT,EAAgBK,EAAM+9B,aAEtD,IAAMpS,EAAyB,SAAA9f,GACP,KAAlBA,EAAMxG,SAAoC,KAAlBwG,EAAMxG,SAC5B1F,GACFqf,E3J/DC,CACL9e,KxCVkC,yBwCWlCC,MAAO,K2JiEe,KAAlB0L,EAAMxG,SACRwG,EAAMuG,iBACNyZ,KAC2B,KAAlBhgB,EAAMxG,UACfwG,EAAMuG,iBACN0Z,MAIEC,EAAqB,SAAAgS,GACzBA,EAAW,GAAX,QAA2BA,EAAW,GAAX,KAC3Bn1B,EAAS,2BAAK5I,GAAN,IAAa+9B,gBACrB/e,EAAS+E,GAAqCga,EAAW,GAAX,QAG1CjS,EAAkB,WACtB,IAAIiS,EAAU,YAAO/9B,EAAM+9B,YAM3B,GAAmC,KAA/B39B,EAAJ,CAKA,IAAI4rB,EAAyB+R,EAAW9R,WAAU,SAAA87B,GAAS,OAAIA,EAAUngC,OAASxnB,KAElF,GAAI4rB,IAA2B+R,EAAW53B,OAAS,EAAG,CACpD,IAAIgmB,EAAqB4R,EAAW/R,EAAyB,GAC7D+R,EAAW/R,GAAX,QAAgD,GAChDG,EAAkB,QAAcA,EAAkB,KAClD1nB,SAASqM,eAAeqb,EAAkB,MAAUC,eAAe,CAAEC,SAAU,SAAUC,MAAO,WAChG1jB,EAAS,2BAAK5I,GAAN,IAAa+9B,gBACrB/e,EAAS+E,GAAqCoI,EAAkB,aAZhEJ,EAAmBgS,IAgBjBlS,EAAgB,WACpB,IAAIkS,EAAU,YAAO/9B,EAAM+9B,YAM3B,GAAmC,KAA/B39B,EAAJ,CAKA,IAAI4rB,EAAyB+R,EAAW9R,WAAU,SAAA87B,GAAS,OAAIA,EAAUngC,OAASxnB,KAElF,GAA+B,IAA3B4rB,EAA8B,CAChC,IAAIG,EAAqB4R,EAAW/R,EAAyB,GAC7D+R,EAAW/R,GAAX,QAAgD,GAChDG,EAAkB,QAAcA,EAAkB,KAClD1nB,SAASqM,eAAeqb,EAAkB,MAAUC,eAAe,CAAEC,SAAU,SAAUC,MAAO,WAChG1jB,EAAS,2BAAK5I,GAAN,IAAa+9B,gBACrB/e,EAAS+E,GAAqCoI,EAAkB,aAZhEJ,EAAmBgS,IAgBjBnS,EAAgC,SAAA/f,GACpC,IAAIC,EAAuBrH,SAASsH,cAAc,gBAAkBtH,SAASsH,cAAc,kBAE3F,GAAI3L,IAA+B0L,EACjC,OAAQD,EAAMxG,SACZ,KAAK,GAAI,OAAO86C,IAChB,KAAK,GAAI,OAAOtS,IAChB,KAAK,EAAG,OAAOthB,IACf,KAAK,GAAI,OAAOC,MAMhB2zB,EAAa,WACjBj+C,EAAMmB,QAAQG,KAAd,+BAA2CpD,EAA3C,kBAGIosB,EAAa,WACjBtqB,EAAMmB,QAAQG,KAAd,2BAAuCpD,KAGnCytC,EAAgB,WAAO,IAEvBma,EADmBhoD,EAAf+9B,WAC8BhzB,QAAO,SAAAg9C,GAAS,OAAIA,EAAUngC,OAASxnB,KAA4B,GACrGutC,EAAqD,QAAnCqa,EAAqB9a,UAAsB,YAAc,UAE/ExgB,EAAas7B,EAAqBH,kBAAtB,kBAAoDla,EAApD,iCAA4FvtC,KAGpGmsB,EAAe,WAAO,IAEtBy7B,EADmBhoD,EAAf+9B,WAC8BhzB,QAAO,SAAAg9C,GAAS,OAAIA,EAAUngC,OAASxnB,KAA4B,GAEzGssB,EAAas7B,EAAqBvB,oBAAtB,uCAA2ErmD,KAGnFwf,EAAY,WAEhB,OADAuL,GAAW,GACJ,IAAI9W,SAAQ,SAACwB,EAASqJ,G5HvKxBrL,KAAMC,IAAI4I,GAPD,8B4HgLTtI,MAAK,SAAAlJ,GACJtC,EAAS,2BACJ5I,GADG,IAEN+9B,WAAYpR,EAAazhB,EAAOlG,KAAKA,MACrC8iD,OAAQ58C,EAAOlG,KAAK8iD,OACpBp8B,YAAaxgB,EAAOlG,KAAK0mB,YACzBD,YAAY,EACZ9Z,UAAW,MAEbkE,OAEDqE,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,UAY5BwS,EAAe,SAAA3nB,GACnB,IAAI+4B,EAAa,GAEjB,IAAK,IAAIv3B,KAAKxB,EACZA,EAAKwB,GAAL,KAAkBA,EAClBxB,EAAKwB,GAAL,QAAqBpG,IAA+BoG,EACpDu3B,EAAWv6B,KAAKwB,EAAKwB,IAGvB,OAAOu3B,GAwBH7W,EAAY,SAAAtkB,GAChB,IAAIuI,EAAS,YAAOnL,EAAM2R,WACtBs2C,EAAsBjoD,EAAM+9B,WAC5BlR,EAAc1hB,EAAUvB,QAAQhH,GAEhCkqB,EAAem7B,EAAoBh8B,WAAU,SAAA87B,GAAS,OAAIA,EAAUngC,OAAShlB,KACjFqlD,EAAoBn7B,GAAchF,WAAamgC,EAAoBn7B,GAAchF,WAE5D,IAAjB+E,EACF1hB,EAAUpH,OAAO8oB,EAAa,GAE9B1hB,EAAU3H,KAAKZ,GAGjBgG,EAAS,2BAAK5I,GAAN,IAAa+9B,WAAYkqB,EAAqBt2C,UAAWxG,MAG7D4hB,EAAY,SAAAje,GAChB,IAAIke,EAAgBC,EAAOjtB,EAAMmC,SAEjC,MAAoB,eAAhBnC,EAAMuC,MACDuM,EAAMrM,MAAK,SAAC8H,EAAGC,GAAJ,OAAWD,EAAEyiB,GAAiBxiB,EAAEwiB,GAAkB,EAAMxiB,EAAEwiB,GAAiBziB,EAAEyiB,IAAmB,EAAI,KAE/Gle,EAAMrM,MAAK,SAAC8H,EAAGC,GAAJ,OAAWD,EAAEyiB,GAAiBxiB,EAAEwiB,GAAkB,EAAMxiB,EAAEwiB,GAAiBziB,EAAEyiB,IAAmB,EAAI,MAIpHC,EAAS,SAAA9qB,GAAY,IACXQ,EAA2C9B,EAAjDoG,KAAYsd,EAAqC1jB,EAArC0jB,OAAQJ,EAA6BtjB,EAA7BsjB,KAAMC,EAAuBvjB,EAAvBujB,UAAWC,EAAYxjB,EAAZwjB,QAE7C,OAAQliB,GACN,KAAKQ,EAAM,MAAO,OAClB,KAAK4hB,EAAQ,MAAO,QACpB,KAAK1jB,EAAK,gBAAiB,MAAO,KAClC,KAAKsjB,EAAM,MAAO,SAClB,KAAKC,EAAW,MAAO,cACvB,KAAKC,EAAS,MAAO,YAKnBqD,EAAY,SAACvnB,EAAOD,GACxB,IAAIgoD,EAAkBloD,EAAM8nD,OAEf,QAAT5nD,GACFgoD,EAAgB/nD,GAAS,EAEzBsmB,GAAYtmB,EAAO,OAChBiU,MAAK,WACJxL,EAAS,2BAAK5I,GAAN,IAAa8nD,OAAQI,QAE9BhuC,OAAM,SAAAC,GACLtI,QAAQjR,MAAMuZ,QAGlB+tC,EAAgB/nD,QAAS0D,EAEzB+iB,GAAezmB,EAAO,OACnBiU,MAAK,WACJxL,EAAS,2BAAK5I,GAAN,IAAa8nD,OAAQI,QAE9BhuC,OAAM,SAAAC,GACLtI,QAAQjR,MAAMuZ,QAKhB8O,EAAY,SAAAC,GAChB,IAAM++B,EAAmB,YAAOjoD,EAAM+9B,YAEtC,GAAI7U,EAAS,CACX,IAAIi/B,EAAiB,GAEjBpqB,EAAakqB,EAAoB9jD,KAAI,SAAA4jD,GAGvC,OAFAI,EAAe3kD,KAAKukD,EAAUngC,MAC9BmgC,EAAUjgC,WAAY,EACfigC,KAGTn/C,EAAS,2BAAK5I,GAAN,IAAa+9B,aAAYpsB,UAAWw2C,EAAgB18B,WAAYvC,SACnE,CACL,IAAI6U,EAAakqB,EAAoB9jD,KAAI,SAAA4jD,GAEvC,OADAA,EAAUjgC,WAAY,EACfigC,KAGTn/C,EAAS,2BAAK5I,GAAN,IAAa+9B,aAAYpsB,UAAW,GAAI8Z,WAAYvC,OAgB1DwD,EAAe,SAACtS,EAAMxG,GAC1B0X,EAAS,2BACJza,GADG,IAENua,SAAS,EACThR,OACAiR,UAAWzX,MAsBTyZ,EAAsB,WAC1BrO,EAASD,MAAmB3K,MAAK,kBAAM+W,GAAW,OAG9CmC,EAAqB,WACzBhC,EAAS,2BACJza,GADG,IAENua,SAAS,EACThR,KAAM,GACNiR,UAAW,OAIf,OACE,yBAAK3pB,UAAU,OACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAK+xB,OAE1B,kBAAC,GAAD,CAASjU,QAAQ,GACf,kBAAC,GAAD,CAAY/b,KAAM/B,EAAK,kBAAmBgb,KAAK,YAAYkN,cAAc,IACzE,yBAAKrnB,UAAU,UACb,yBAAKA,UAAU,8BACb,kBAAC,GAAD,CAAUunB,UAAWA,EAAWC,QAASlpB,EAAMyrB,aAC/C,kBAAC,GAAD,CAAQ9iB,KAAK,UAAU2hB,WA9DpB,SAAArqB,GACPD,EAAM2R,UAAUxL,QAAUlG,IAC5BkrB,GAAW,G5H1TS,SAAClrB,EAAQ89B,GACjC,IAAMtmB,EAAW,IAAIC,SAQrB,OAPAD,EAASE,OAAO,SAAU1X,GAC1BwX,EAASE,OAAO,QAAS8E,MAEzBshB,EAAWjzB,SAAQ,SAAAi9C,GACjBtwC,EAASE,OAAO,WAAYowC,MAGvBl0C,KAAM+D,KAAK8E,GAAW,oBAAqBjF,G4HkT9C6S,CAAWrqB,EAAQD,EAAM2R,WACtByC,MAAK,SAAAlJ,GACJ+d,GAAU,GACVrJ,IAAYxL,MAAK,kBAAMiZ,UAExBnT,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,UAuDxB,kBAAC,GAAD,CAAgB9X,cAlMJ,SAACF,EAASI,GAC9BqG,EAAS,2BACJ5I,GADG,IAENmC,UACAI,YA8LoDJ,QAASnC,EAAMmC,QAASI,MAAOvC,EAAMuC,MAAOoG,KAAK,YAC/F,kBAAC,GAAD,CAAa2d,iBAAkB,SAAAiH,GAAI,OAAIrrB,EAAMsrB,iBAAiBD,SAIpE,yBAAK7rB,UAAU,uBACZ2J,EACG,kBAAC,EAAD,MAEA,oCAvLS,WACjB,IAAMy8C,EAAM,eAAQ9nD,EAAM8nD,QACtB/pB,EAAU,YAAO/9B,EAAM+9B,YAc3B,OAZAA,EAAWjzB,SAAQ,SAAAi9C,GACjBA,EAAUlgC,QAAUznB,IAA+B2nD,EAAUngC,KAEzDkgC,EAAOC,EAAUngC,MACnBmgC,EAAU//B,QAAU8/B,EAAOC,EAAUngC,MAErCmgC,EAAU//B,QAAU,KAIL+E,EAAUgR,GAET55B,KAAI,SAACC,EAAMV,GAC7B,OAAO,kBAAC,GAAD,CAAWsB,KAAMZ,EAAMC,IAAKX,EAAOgkB,UAAWA,EAAWR,UAAWA,EAAW0B,YAAa8D,OAuK1FqR,GACD,yBAAKr8B,UAAU,SAAS1B,EAAM0rB,eAKtC,kBAAC,GAAD,CACElB,OA3DsB,WAC1B,IAAK3Z,EAAMwa,UACT,OAAOiC,I5HnUe,IAAAxO,E4HsUxBwO,IACAnC,GAAW,I5HvUarM,E4HwUXjO,EAAMwa,U5HvUdxX,KAAMC,IAAI4I,GAAWoC,EAAK,CAC/Be,OAAQ,CACNlf,MAAO8b,S4HsUNrI,MAAK,SAAA4F,GACJ,GAAIA,EAAIhV,KAAKpE,MAEX,OADAuqB,GAAW,GACJuB,EAAa1S,EAAIhV,KAAKpE,MAAO,IAEtCgf,IAAYxL,MAAK,kBAAMiZ,UAExBnT,OAAM,SAAAC,GAASgR,GAAW,GAAQtZ,QAAQjR,MAAMuZ,OA6C/CsQ,SAAU6C,EACV/C,KAAM1Z,EAAMua,QACZhR,KAAMvJ,EAAMuJ,SCvZdsC,GAAWhR,OAAO+H,SAASC,OCyFlB00C,I,OAnFI,SAAC,GAA2B,IAAzBpjD,EAAwB,EAAxBA,KAAM4jB,EAAkB,EAAlBA,YAAkB,EACjBxmB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAA9CI,EADoC,EACpCA,KAAMC,EAD8B,EAC9BA,SACRke,EAAWI,cACX/b,EAAUC,cAMVg6C,EAAU,WACdt+B,EAASwkB,MAAUpvB,MAAK,kBAAM/Q,EAAQG,KAAK,SAiC7C,OACE,kBAAC,GAAD,CAAUb,KAAMqC,EAAK+iB,KAAMX,UAA8B,QAAnBpiB,EAAKkoC,WACzC,kBAAC,GAAD,CAAWxrC,UAAU,0BACnB,yBAAKA,UAAU,QAAQsD,EAAKqjD,QAC5B,yBAAK3mD,UAAU,SACb,kBAAC,GAAD,CAAWA,UAAU,OACnB,yBAAKA,UAAU,UAAwB,SAAdsD,EAAK0oC,KAAkB7sC,EAAI,KAAWA,EAAKmE,EAAK2mC,UAE3E,kBAAC,GAAD,CAAWjqC,UAAU,OACnB,yBAAKA,UAAU,SAASb,EAAK2kB,MAA7B,KAAqC,8BAAOxgB,EAAKgrC,QAEnD,kBAAC,GAAD,CAAWtuC,UAAU,OACnB,yBAAKA,UAAU,UAAUb,EAAKynB,OAA9B,KAAuC,8BAAOtjB,EAAK0Y,YAIzD,yBAAKhc,UAAU,WAtCY,WAC7B,GAAkB,SAAdsD,EAAK0oC,KAET,OAAI5sC,IAAakE,EAAKgrC,KAElB,6BACE,4BAAQ/sC,QAASq6C,GAAUz8C,EAAK,WAC7BmE,EAAK6iB,QAAU,0BAAMnmB,UAAU,mBAAhB,KAA6C,kBAAC,IAAD,CAAiBiG,KAAK,gBAMvF,6BACE,4BAAQ1E,QAAS,kBA9BR1C,EA8BuByE,EAAKgrC,UA7B3ChxB,EAASqkB,GAAQ9iC,IAAO6T,MAAK,kBAAM/Q,EAAQG,KAAK,QADjC,IAAAjD,IA8BoCM,EAAK,YAAlD,IAAgEmE,EAAKgrC,KAClEhrC,EAAK6iB,QAAU,0BAAMnmB,UAAU,mBAAhB,KAA6C,kBAAC,IAAD,CAAiBiG,KAAK,gBAwBtF2gD,GACD,6BAAK,kBAAC,KAAD,CAAM5mD,UAAU,YAAY8Q,GAAIxN,EAAKujD,WAAY1nD,EAAK8nB,KAAtD,IAA4D,kBAAC,IAAD,CAAiBhhB,KAAK,UACvF,6BACE,4BACEjG,UAAU,YACVuB,QAhDY,WACpB2lB,EAAY5jB,EAAK6iD,kBAAN,kBAAkD,SAAd7iD,EAAK0oC,KAAL,UAA0B1oC,EAAKw/C,YAA/B,gCAAkEx/C,EAAKgrC,MAAShrC,EAAKwjD,cAgD3HxjD,EAAKw/C,YACN,kBAAC,IAAD,CAAiB78C,KAAyB,QAAnB3C,EAAKkoC,UAAsB,SAAW,WAGjE,6BACE,4BACExrC,UAAU,cACVuB,QA5DW,WACnB2lB,EAAY5jB,EAAKyhD,oBAAN,kBAAoD,SAAdzhD,EAAK0oC,KAAL,6CAA6D1oC,EAAKgrC,MAAShrC,EAAKyjD,gBA4DxH5nD,EAAKsM,OACN,kBAAC,IAAD,CAAiBxF,KAAK,gBC2FnB+gD,I,OAlKA,SAAAxmD,GAAU,IACfrB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACFwC,EAAUC,cACV0b,EAAWI,cAHK,EAIQhT,oBAAS,GAJjB,mBAIff,EAJe,KAIN8f,EAJM,OAKI/e,mBAAS,CACjCu8C,cAAe,GACfj9B,YAAa,GACbvpB,QAAStB,EAAKoG,KACd1E,MAAO,aACP2V,MAAO,IAVa,mBAKflY,EALe,KAKR4I,EALQ,OAYIwD,mBAAS,CACjCgf,SAAS,EACThR,KAAM,GACNiR,UAAW,KAfS,mBAYfxa,EAZe,KAYRya,EAZQ,KAkBtB/nB,qBAAU,WAAO,IACPqC,EAAWvC,EAAQoQ,SAAnB7N,OAER,GAAIA,EAAQ,CACV,IAAIugB,EAAavgB,EAAOhC,MAAM,KAAK,GAEnC,GAAmB,KAAfuiB,EAGF,OAAO9iB,EAAQG,KAAK,CAAEmC,SAAU,cAAeC,OAAQ,KAFvDga,EAAUuG,GAAY/R,MAAK,kBAAM+W,GAAW,UAIzC,IAAyB,KAArBjpB,EAAMikB,WAGf,OAAO9iB,EAAQG,KAAK,CAAEmC,SAAU,cAAeC,OAAQ,KAFvDga,EAAU1d,EAAMikB,YAAY/R,MAAK,kBAAM+W,GAAW,SAInD,IAEH,IAAMvL,EAAY,SAAAuG,GAEhB,OADAgF,GAAW,GACJ,IAAI9W,SAAQ,SAACwB,EAASqJ,GF7CG,IAAAqO,KE8CTpH,EF7ClBtS,KAAMC,IAAI4I,wBAA+B6Q,IE8CzCnZ,MAAK,SAAAlJ,GACJtC,EAAS,2BACJ5I,GADG,IAEN2oD,cAAez9C,EAAOlG,KAAKA,KAC3B0mB,YAAaxgB,EAAOlG,KAAKkT,SAE3BrC,OAEDqE,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,UA2B5B4S,EAAY,SAAAje,GAAU,IAClBvM,EAAmBvC,EAAnBuC,MAAOJ,EAAYnC,EAAZmC,QACX8qB,EAAS27B,EAAczmD,GAE3B,MAAc,eAAVI,EACKuM,EAAMrM,MAAK,SAAC8H,EAAGC,GAAJ,OAAWD,EAAE0iB,GAAUziB,EAAEyiB,GAAW,EAAMziB,EAAEyiB,GAAU1iB,EAAE0iB,IAAY,EAAI,KAEnFne,EAAMrM,MAAK,SAAC8H,EAAGC,GAAJ,OAAWD,EAAE0iB,GAAUziB,EAAEyiB,GAAW,EAAMziB,EAAEyiB,GAAU1iB,EAAE0iB,IAAY,EAAI,MAIxF27B,EAAgB,SAAAzmD,GAAY,IACxB8E,EAAwBpG,EAAxBoG,KAAM8e,EAAkBllB,EAAlBklB,KAAkBllB,EAAZwjB,QAEpB,OAAQliB,GACN,KAAK8E,EAAM,MAAO,OAClB,KAAK8e,EAAM,MAAO,WAKhB2G,EAAe,SAACtS,EAAMxG,GAC1B0X,EAAS,2BACJza,GADG,IAENua,SAAUva,EAAMua,QAChBhR,OACAiR,UAAWzX,MAsBTyZ,EAAsB,WAC1BrO,EAASD,MAAmB3K,MAAK,kBAAM+W,GAAW,OAG9CmC,EAAqB,WACzBhC,EAAS,2BACJza,GADG,IAENua,SAAS,EACThR,KAAM,GACNiR,UAAW,OAIf,OACE,yBAAK3pB,UAAU,aACb,kBAAC,GAAD,CAASid,QAAQ,GACf,yBAAKjd,UAAU,uBAAuBb,EAAK,mBAC3C,yBAAKa,UAAU,wBACb,kBAAC,GAAD,CAAgBW,cA1EF,SAACF,EAASI,GAC9BqG,EAAS,2BACJ5I,GADG,IAENmC,UACAI,YAsEkDJ,QAASnC,EAAMmC,QAASI,MAAOvC,EAAMuC,MAAOoG,KAAK,eAC/F,kBAAC,GAAD,CAAa2d,iBAAkB,SAAAiH,GAAI,OAAIrrB,EAAMsrB,iBAAiBD,QAGlE,yBAAK7rB,UAAU,sBACZ2J,EACG,kBAAC,EAAD,MACC,oCAhGW,WAAO,IACnBs9C,EAAkB3oD,EAAlB2oD,cACFz9C,EAAS,GAEf,IAAK,IAAI1E,KAAKmiD,EACZz9C,EAAO1H,KAAKmlD,EAAcniD,IAK5B,OAFmBumB,EAAU7hB,GAET/G,KAAI,SAACC,EAAMV,GAC7B,OAAO,kBAAC,GAAD,CAAYsB,KAAMZ,EAAMC,IAAKX,EAAOklB,YAAa8D,OAsFjDi8B,GACD,yBAAKjnD,UAAU,SAAS1B,EAAM0rB,eAGpC,kBAAC,GAAD,CACElB,OAjDsB,WAC1B,IAAK3Z,EAAMwa,UACT,OAAOiC,IF9Ge,IAAAxO,EEiHxBwO,IACAnC,GAAW,IFlHarM,EEmHXjO,EAAMwa,UFlHdxX,KAAMC,IAAI4I,GAAWoC,EAAK,CAC/Be,OAAQ,CACNlf,MAAO8b,SEiHNrI,MAAK,SAAA4F,GACJ,GAAIA,EAAIhV,KAAKpE,MAEX,OADAuqB,GAAW,GACJuB,EAAa1S,EAAIhV,KAAKpE,MAAO,IAEtCgf,IAAYxL,MAAK,kBAAMiZ,UAExBnT,OAAM,SAAAC,GAASgR,GAAW,GAAQtZ,QAAQjR,MAAMuZ,OAmC/CsQ,SAAU6C,EACV/C,KAAM1Z,EAAMua,QACZhR,KAAMvJ,EAAMuJ,UCxKdsC,GAAWhR,OAAO+H,SAASC,OC4BlBuoC,I,OA1BH,SAAA/5C,GAAU,IACZ8C,EAAS9C,EAAT8C,KAYR,OACE,yBAAKtD,UAAWsD,EAAK6iB,QAAU,yBAA2B,iBAAkB1f,GAAInD,EAAK4iB,MACnF,kBAAC,GAAD,CAAWlmB,UAAU,cAZP,SAAAiB,GAChB,IAAIgb,EAAU,IAAI1W,KAAKtE,GACnBib,EAAMD,EAAQxW,UACd0W,EAAQF,EAAQvW,WAChBG,EAAOoW,EAAQG,cAGnB,OAAO,yBAAKpc,UAAU,QAAQkc,EAAvB,SAFM,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAEzCC,GAA3C,SAA2DtW,GAM7DigB,CAAUxiB,EAAK+iB,MACf/iB,EAAKuhD,MAER,kBAAC,GAAD,CAAW7kD,UAAU,cACnB,yBAAKA,UAAU,QAAQsD,EAAKmvC,SCsJrB0U,I,OAhKF,SAAA3mD,GAAU,IACbrB,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACAT,EAA+BgC,aAAY,SAAApC,GAAK,OAAIA,EAAMqB,uBAA1DjB,2BACAT,EAAmByC,aAAY,SAAApC,GAAK,OAAIA,EAAMmB,kBAA9CxB,eACFqf,EAAWI,cAJG,EAKMhT,mBAAS,CACjC08C,KAAM,GACNp9B,YAAa,GACbrgB,SAAS,EACT6M,MAAO,IATW,mBAKblY,EALa,KAKN4I,EALM,KAYpBrF,qBAAU,WAMR,OALAyb,EAASzC,GAAiB,eAC1ByC,EjKlBK,CACL9e,KxCVkC,yBwCWlCC,MAAO,KiKiBP6e,E9InBK,CACL9e,KzDVyC,gCyDWzCC,MAAO,K8IkBPyf,IAEO,WACLZ,E9IvBG,CACL9e,KzDVyC,gCyDWzCC,MAAO,Q8IuBN,IAEHoD,qBAAU,WAGR,OAFAmI,OAAOhH,iBAAiB,UAAWinB,GAE5B,WACLjgB,OAAO7G,oBAAoB,UAAW8mB,MAEvC,CAACvrB,EAA4BT,EAAgBK,EAAM8oD,OAEtD,IAAMn9B,EAAyB,SAAA9f,GACP,KAAlBA,EAAMxG,SAAoC,KAAlBwG,EAAMxG,SAC5B1F,GACFqf,EjKtCC,CACL9e,KxCVkC,yBwCWlCC,MAAO,KiKwCe,KAAlB0L,EAAMxG,SACRwG,EAAMuG,iBACNyZ,KAC2B,KAAlBhgB,EAAMxG,UACfwG,EAAMuG,iBACN0Z,MAIEC,EAAqB,SAAA+8B,GACzBA,EAAK,GAAL,QAAqBA,EAAK,GAAL,KACrBlgD,EAAS,2BAAK5I,GAAN,IAAa8oD,UACrB9pC,EAAS+E,GAAqC+kC,EAAK,GAAL,QAG1Ch9B,EAAkB,WACtB,IAAIg9B,EAAI,YAAO9oD,EAAM8oD,MAMrB,GAAmC,KAA/B1oD,EAAJ,CAKA,IAAI4rB,EAAyB88B,EAAK78B,WAAU,SAAAtlB,GAAG,OAAIA,EAAIihB,OAASxnB,KAEhE,GAAI4rB,IAA2B88B,EAAK3iD,OAAS,EAAG,CAC9C,IAAIgmB,EAAqB28B,EAAK98B,EAAyB,GACvD88B,EAAK98B,GAAL,QAA0C,GAC1CG,EAAkB,QAAcA,EAAkB,KAClD1nB,SAASqM,eAAeqb,EAAkB,MAAUC,eAAe,CAAEC,SAAU,SAAUC,MAAO,WAChG1jB,EAAS,2BAAK5I,GAAN,IAAa8oD,UACrB9pC,EAAS+E,GAAqCoI,EAAkB,aAZhEJ,EAAmB+8B,IAgBjBj9B,EAAgB,WACpB,IAAIi9B,EAAI,YAAO9oD,EAAM8oD,MAMrB,GAAmC,KAA/B1oD,EAAJ,CAKA,IAAI4rB,EAAyB88B,EAAK78B,WAAU,SAAAtlB,GAAG,OAAIA,EAAIihB,OAASxnB,KAEhE,GAA+B,IAA3B4rB,EAA8B,CAChC,IAAIG,EAAqB28B,EAAK98B,EAAyB,GACvD88B,EAAK98B,GAAL,QAA0C,GAC1CG,EAAkB,QAAcA,EAAkB,KAClD1nB,SAASqM,eAAeqb,EAAkB,MAAUC,eAAe,CAAEC,SAAU,SAAUC,MAAO,WAChG1jB,EAAS,2BAAK5I,GAAN,IAAa8oD,UACrB9pC,EAAS+E,GAAqCoI,EAAkB,aAZhEJ,EAAmB+8B,IAgBjBlpC,EAAY,WAChBhX,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,KF9GzBwI,KAAMC,IAAI4I,GAHD,8BEoHXtI,MAAK,SAAAlJ,GACJtC,EAAS,CACPkgD,KAAMn8B,EAAazhB,EAAOlG,KAAKA,MAC/B0mB,YAAaxgB,EAAOlG,KAAK0mB,YACzBrgB,SAAS,OAGZ6O,OAAM,SAAAC,GAAG,OAAItI,QAAQjR,MAAMuZ,OAG1BwS,EAAe,SAAA3nB,GACnB,IAAI8jD,EAAO,GAEX,IAAK,IAAItiD,KAAKxB,EACZA,EAAKwB,GAAL,KAAkBA,EAClBxB,EAAKwB,GAAL,QAAqBpG,IAA+BoG,EACpDsiD,EAAKtlD,KAAKwB,EAAKwB,IAGjB,OAAOsiD,GAeT,OACE,yBAAKpnD,UAAU,aACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAKkoD,OAE1B,kBAAC,GAAD,CAASpqC,QAAQ,EAAOjd,UAAU,iBAChC,kBAAC,GAAD,CAAYkB,KAAK,eAAemmB,cAAc,IAC9C,yBAAKrnB,UAAU,UACb,yBAAKA,UAAU,8BACb,kBAAC,GAAD,CAAa4kB,iBAAkB,SAAAiH,GAAI,OAAIrrB,EAAMsrB,iBAAiBD,SAIpE,yBAAK7rB,UAAU,gBACZ1B,EAAMqL,QAAU,kBAAC,EAAD,MA1BV,WACX,IAAIy9C,EAAI,YAAO9oD,EAAM8oD,MAMrB,OAJAA,EAAKh+C,SAAQ,SAAAnE,GACXA,EAAIkhB,QAAUznB,IAA+BuG,EAAIihB,QAG5CkhC,EAAK3kD,KAAI,SAACC,EAAMV,GACrB,OAAO,kBAAC,GAAD,CAAKsB,KAAMZ,EAAMC,IAAKX,OAkBIolD,IAEjC,yBAAKpnD,UAAU,SAAS1B,EAAM0rB,gBC8DrBs9B,I,OA5Ka,SAAA9mD,GAAU,IAC5BpB,EAAasB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAAxCK,SACFuC,EAAUC,cAFmB,EAGC8I,mBAAS,IAHV,mBAG5B+Z,EAH4B,KAGhBC,EAHgB,OAIGha,mBAAS,MAJZ,mBAI5BqN,EAJ4B,KAIfwvC,EAJe,OAKL78C,oBAAS,GALJ,mBAK5Bf,EAL4B,KAKnB8f,EALmB,KAM7BnM,EAAWI,cAEjB7b,qBAAU,WACR,IAAKzC,EACH,OAAOuC,EAAQG,KAAK,UAEpB2nB,GAAW,KAEZ,CAACrqB,IAEJyC,qBAAU,WAKR,OAJAyb,ElKlEK,CACL9e,KxCVkC,yBwCWlCC,MAAO,KkKiEPuL,OAAOhH,iBAAiB,QAASwkD,GACjCx9C,OAAOhH,iBAAiB,QAASggD,GAE1B,WACLh5C,OAAO7G,oBAAoB,QAASqkD,GACpCx9C,OAAO7G,oBAAoB,QAAS6/C,MAErC,IAEH,IAAMwE,EAAiB,SAAAr9C,GAGrB,KAF2BpH,SAASsH,cAAc,gBAAkBtH,SAASsH,cAAc,mBAM3F,OAAQF,EAAMxG,SACZ,KAAK,GAAI,OAAOhC,EAAQG,KAAK,eAC7B,KAAK,GAAI,OAAOH,EAAQG,KAAK,cAC7B,KAAK,GAAI,OAAOH,EAAQG,KAAK,cAC7B,KAAK,GAAI,OAAOH,EAAQG,KAAK,eAC7B,KAAK,GAAI,OAAOH,EAAQG,KAAK,aAC7B,KAAK,GAAI,OAAOH,EAAQG,KAAK,eAC7B,KAAK,GAAI,OAAOH,EAAQG,KAAK,mBAK3BkhD,EAAe,SAAA74C,GAGnB,KAF2BpH,SAASsH,cAAc,gBAAkBtH,SAASsH,cAAc,oBAMrE,KAAlBF,EAAMxG,QACR,OAAQhC,EAAQoQ,SAAS9N,UACvB,IAAK,aAAc,OAAOtC,EAAQG,KAAK,aACvC,IAAK,aAAc,OAAOH,EAAQG,KAAK,aACvC,IAAK,cAAe,OAAOH,EAAQG,KAAK,cACxC,IAAK,YAAa,OAAOH,EAAQG,KAAK,YACtC,IAAK,cAAe,OAAOH,EAAQG,KAAK,cACxC,IAAK,0BAA2B,OAAOH,EAAQG,KAAK,4BACpD,IAAK,iBAAkB,OAAOH,EAAQG,KAAK,iBAC3C,IAAK,YAAa,OAAOH,EAAQG,KAAK,YACtC,IAAK,kBAAmB,OAAOH,EAAQG,KAAK,oBAM5C8iB,EAAmB,SAAAH,GACvBC,EAAcD,GACd9iB,EAAQG,KAAK,CACXmC,SAAU,WACVC,OAAO,MAAD,OAAQugB,MAQlB,OACE,6BACE,kBAAC,GAAD,MACA,yBAAKzkB,UAAU,WAEX2J,EACI,kBAAC,EAAD,MAEA,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAU89C,KAAK,IAAIC,OAAK,EAAC52C,GAAG,gBAC5B,kBAAC,IAAD,CAAOrP,KAAK,gBAAgBkmD,UAAW,SAAAnnD,GAAK,OAAI,kBAAC,GAAD,iBAAcA,EAAd,CAAqBsrB,iBAAkBlH,QACvF,kBAAC,IAAD,CAAOnjB,KAAK,eAAekmD,UAAW,kBAAM,kBAAC,GAAD,SAC5C,kBAAC,IAAD,CAAOlmD,KAAK,gBAAgBkmD,UAAW,kBAAM,kBAAC,GAAD,SAC7C,kBAAC,IAAD,CAAOlmD,KAAK,WAAWkmD,UAAW,SAAAnnD,GAAK,OAAI,kBAAC,GAAD,iBAAuBA,EAAvB,CAA8BsrB,iBAAkBlH,QAC3F,kBAAC,IAAD,CAAOnjB,KAAK,UAAUkmD,UAAW,kBAAM,kBAAC,GAAD,SACvC,kBAAC,IAAD,CAAOlmD,KAAK,WAAWkmD,UAAW,kBAAM,kBAAC,GAAD,SACxC,kBAAC,IAAD,CAAOlmD,KAAK,YAAYkmD,UAAW,SAAAnnD,GAAK,OAAI,kBAAC,GAAD,iBAAUA,EAAV,CAAiBsrB,iBAAkBlH,QAC/E,kBAAC,IAAD,CAAOnjB,KAAK,cAAckmD,UAAW,SAAAnnD,GAAK,OAAI,kBAAC,GAAD,iBAAgBA,EAAhB,CAAuBsrB,iBAAkBlH,QACvF,kBAAC,IAAD,CAAOnjB,KAAK,YAAYkmD,UAAW,SAAAnnD,GAAK,OAAI,kBAAC,GAAD,iBAAUA,EAAV,CAAiBsrB,iBAAkBlH,QAC/E,kBAAC,IAAD,CAAOnjB,KAAK,gBAAgBkmD,UAAW,SAAAnnD,GAAK,OAAI,kBAAC,GAAD,iBAAaA,EAAb,CAAoBsrB,iBAAkBlH,QACtF,kBAAC,IAAD,CAAOnjB,KAAK,iBAAiBimD,OAAK,EAACC,UAAW,SAAAnnD,GAAK,OAAI,kBAAC,GAAD,iBAAeA,EAAf,CAAsBsrB,iBAAkBlH,QAC/F,kBAAC,IAAD,CAAOnjB,KAAK,yBAAyBimD,OAAK,EAACC,UAAW,SAAAnnD,GAAK,OAAI,kBAAC,GAAD,iBAAaA,EAAb,CAAoBsrB,iBAAkBlH,QACrG,kBAAC,IAAD,CAAOnjB,KAAK,wBAAwBkmD,UAAW3V,KAC/C,kBAAC,IAAD,CAAOvwC,KAAK,gBAAgBkmD,UAAW,kBAAM,kBAAC,GAAD,SAC7C,kBAAC,IAAD,CAAOlmD,KAAK,iBAAiBkmD,UAAW,kBAAM,kBAAC,GAAD,SAC9C,kBAAC,IAAD,CAAOlmD,KAAK,gBAAgBimD,OAAK,EAACC,UAAW,SAAAnnD,GAAK,OAAI,kBAAC,GAAD,iBAAaA,EAAb,CAAoBsrB,iBAAkBlH,QAC5F,kBAAC,IAAD,CAAOnjB,KAAK,gBAAgBimD,OAAK,EAACC,UAAW,kBAAM,kBAAC,GAAD,SACnD,kBAAC,IAAD,CAAOlmD,KAAK,qBAAqBimD,OAAK,EAACC,UAAW,kBAAM,kBAAC,GAAD,SACxD,kBAAC,IAAD,CAAOlmD,KAAK,mBAAmBimD,OAAK,EAACC,UAAW,kBAAM,kBAAC,GAAD,CAAS/gB,YAAY,WAC3E,kBAAC,IAAD,CAAOnlC,KAAK,uBAAuBimD,OAAK,EAACC,UAAW,kBAAM,kBAAC,GAAD,CAAS/gB,YAAY,eAC/E,kBAAC,IAAD,CAAOnlC,KAAK,wBAAwBimD,OAAK,EAACC,UAAW,kBAAM,kBAAC,GAAD,CAAS/gB,YAAY,gBAChF,kBAAC,IAAD,CAAOnlC,KAAK,qBAAqBimD,OAAK,EAACC,UAAW,kBAAM,kBAAC,GAAD,SACxD,kBAAC,IAAD,CAAOlmD,KAAK,uBAAuBimD,OAAK,EAACC,UAAW,kBAAM,kBAAC,GAAD,SAC1D,kBAAC,IAAD,CAAOlmD,KAAK,qBAAqBimD,OAAK,EAACC,UAAW,kBAAM,kBAAC,GAAD,SACxD,kBAAC,IAAD,CAAOlmD,KAAK,0BAA0BimD,OAAK,EAACC,UAAW,kBAAM,kBAAC,GAAD,SAC7D,kBAAC,IAAD,CAAOlmD,KAAK,qBAAqBimD,OAAK,EAACC,UAAW,kBAAM,kBAAC,GAAD,CAAO/gB,YAAY,aAC3E,kBAAC,IAAD,CAAOnlC,KAAK,uBAAuBimD,OAAK,EAACC,UAAW,kBAAM,kBAAC,GAAD,CAAO/gB,YAAY,eAC7E,kBAAC,IAAD,CAAOnlC,KAAK,sBAAsBimD,OAAK,EAACC,UAAW,kBAAM,kBAAC,GAAD,CAAO/gB,YAAY,gBAGxE3mB,GAASxb,QAAUwb,GAASxd,KAAI,SAACud,EAAShe,GAC1C,MAAgB,aAAZge,EACK,kBAAC,IAAD,CAAUrd,IAAKX,EAAOylD,KAAK,wBAAwBC,OAAK,EAAC52C,GAAG,mBAE5D,kBAAC,IAAD,CAAOnO,IAAKX,EAAOP,KAAI,uBAAkBue,GAAW0nC,OAAK,EAACC,UAAW,kBAAM,kBAAC,GAAD,CAAS/gB,YAAa5mB,UAK9G,kBAAC,IAAD,CAAOve,KAAK,aAAakmD,UAAW,SAAAnnD,GAAK,OAAI,kBAAC,GAAD,eAAOsrB,iBAAkBlH,GAAsBpkB,OAC5F,kBAAC,IAAD,CAAOiB,KAAK,YAAYkmD,UAAW,kBAAM,kBAAC,GAAD,SACzC,kBAAC,IAAD,CAAOlmD,KAAK,aAAakmD,UAAW,kBAAM,kBAAC,GAAD,SAC1C,kBAAC,IAAD,CAAOlmD,KAAK,YAAYkmD,UAAW,SAAAnnD,GAAK,OAAI,kBAAC,GAAD,iBAASA,EAAT,CAAgBsrB,iBAAkBlH,QAC9E,kBAAC,IAAD,CAAOnjB,KAAK,WAAWkmD,UAAW,kBAAM,kBAAC,GAAD,SACxC,kBAAC,IAAD,CAAOlmD,KAAK,YAAYkmD,UAAW,kBAAM,kBAAC,GAAD,SACzC,kBAAC,IAAD,CAAOlmD,KAAK,YAAYkmD,UAAW,SAAAnnD,GAAK,OAAI,kBAAC2gD,GAAD,iBAAgB3gD,EAAhB,CAAuBsrB,iBAAkBlH,QACrF,kBAAC,IAAD,CAAOnjB,KAAK,WAAWkmD,UAAW,kBAAM,kBAAClY,GAAD,SACxC,kBAAC,IAAD,CAAOhuC,KAAK,YAAYkmD,UAAW,kBAAM,kBAACjf,GAAD,SACzC,kBAAC,IAAD,CAAOjnC,KAAK,aAAakmD,UAAW,SAAAnnD,GAAK,OAAI,kBAACs+C,GAAD,iBAAiBt+C,EAAjB,CAAwBsrB,iBAAkBlH,QACvF,kBAAC,IAAD,CAAOnjB,KAAK,YAAYkmD,UAAW,kBAAM,kBAACrgB,GAAD,SACzC,kBAAC,IAAD,CAAO7lC,KAAK,aAAakmD,UAAW,kBAAM,kBAACnhB,GAAD,SAC1C,kBAAC,IAAD,CAAO/kC,KAAK,WAAWkmD,UAAW,SAAAnnD,GAAK,OAAI,kBAAC,GAAD,iBAAeA,EAAf,CAAsBsrB,iBAAkBlH,QACnF,kBAAC,IAAD,CAAOnjB,KAAK,UAAUkmD,UAAW,kBAAM,kBAAC,GAAD,SACvC,kBAAC,IAAD,CAAOlmD,KAAK,WAAWkmD,UAAW,kBAAM,kBAAC,GAAD,SACxC,kBAAC,IAAD,CAAOlmD,KAAK,aAAakmD,UAAW,SAAAnnD,GAAK,OAAI,kBAAC,GAAD,iBAAcA,EAAd,CAAqBsrB,iBAAkBlH,QACpF,kBAAC,IAAD,CAAOnjB,KAAK,YAAYkmD,UAAW,kBAAM,kBAAC,GAAD,SACzC,kBAAC,IAAD,CAAOlmD,KAAK,aAAakmD,UAAW,kBAAM,kBAAC,GAAD,SAC1C,kBAAC,IAAD,CAAOD,OAAK,EAACjmD,KAAK,eAAekmD,UAAW,SAAAnnD,GAAK,OAAI,kBAACqxC,GAAD,iBAAmBrxC,EAAnB,CAA0BsrB,iBAAkBlH,QACjG,kBAAC,IAAD,CAAO8iC,OAAK,EAACjmD,KAAK,0BAA0BkmD,UAAW,SAAAnnD,GAAK,OAAI,kBAAC,GAAD,iBAAsBA,EAAtB,CAA6BsrB,iBAAkBlH,QAC/G,kBAAC,IAAD,CAAO8iC,OAAK,EAACjmD,KAAK,0BAA0BkmD,UAAW9lC,KACvD,kBAAC,IAAD,CAAOpgB,KAAK,WAAWkmD,UAAW,SAAAnnD,GAAK,OAAI,kBAAC,GAAD,iBAAYA,EAAZ,CAAmBsrB,iBAAkBlH,EAAkBH,WAAYA,UAIxH,yBAAKzkB,UAAU,iBACb,yBAAKA,UAAU,iBACb,4BAAQuB,QAAS,kBAAMwW,EAAYC,UAAUC,OAAO,UAClD,kBAAC,IAAD,CAAiBhS,KAAK,iBAG1B,yBAAKjG,UAAU,iBACb,4BAAQuB,QAAS,WApFvByI,OAAO49C,SAAS,CAAEC,IAAK,EAAGl9B,SAAU,aAqF5B,kBAAC,IAAD,CAAiB1kB,KAAK,yBAI5B,kBAAC,GAAD,CAASiE,UAAW,SAACyN,GAAD,OAAS4vC,EAAe5vC,IAAMrN,cAAe,kBAAMyN,EAAYC,UAAUC,OAAO,c,oBC9H3F6vC,I,OA1FE,SAAC,GAA6C,IAAD,IAA1CC,iBAA0C,MAA9B,GAA8B,MAA1BC,sBAA0B,MAAT,GAAS,EACtDvoD,EAAiBiB,aAAY,SAAApC,GAAK,OAAIA,EAAMmB,kBADU,EAE9BiL,oBAAS,GAFqB,mBAErDf,EAFqD,KAE5C8f,EAF4C,OAGjC/oB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAA9CI,EAHoD,EAGpDA,KAAMC,EAH8C,EAG9CA,SACRke,EAAWI,cACX/b,EAAUC,cAEV5B,EAAY,SAAAioD,GAChB,IAAIjoD,EAAY,WAEhB,OAAIP,EAAevB,gBAAkB+pD,EAC5BjoD,EAAa,UAGfA,GA2BH04C,EAAc,SAACvuC,EAAO+9C,GAC1B/9C,EAAMuG,iBACN/O,EAAQG,KAAKomD,GACb5qC,EAASzC,GAAiBqtC,KAiB5B,OACE,yBAAKloD,UAAU,iBACZ2J,GAAW,kBAAC,EAAD,MAEZ,yBAAK3J,UAAU,aACb,yBAAKA,UAAU,uBACb,yBAAKA,UAAU,QACb,kBAAC,KAAD,CAAM8Q,GAAG,eACP,yBAAK9Q,UAAU,YACb,yBAAK+Q,IAAI,yBAAyBC,IAAI,YAK5C,kBAAC,KAAD,KA1DgB,WACtB,GAAK+2C,EAAUtjD,OAEf,OAAOsjD,EAAUtlD,KAAI,gBAAGylD,EAAH,EAAGA,MAAOhnD,EAAV,EAAUA,KAAV,OACnB,yBAAKlB,UAAWA,EAAUkoD,GAAQvlD,IAAKzB,GACrC,4BAAQK,QAAS,SAAA4I,GAAK,OAAIuuC,EAAYvuC,EAAO+9C,KAAShnD,OAsDjDinD,GAjDkB,WAC3B,GAAKH,EAAevjD,OAEpB,OAAOujD,EAAevlD,KAAI,WAAuBT,GAAvB,IAAGomD,EAAH,EAAGA,KAAM1vC,EAAT,EAASA,KAAMla,EAAf,EAAeA,KAAf,OACxB,yBAAKwB,UAAU,WAAW2C,IAAKX,GAElB,aAATxD,EACI,uBAAG2b,KAAI,iBAAYiuC,GAAQr9C,OAAO,SAASwzB,IAAI,uBAAuB7lB,GACtE,kBAAC,KAAD,CAAM5H,GAAIs3C,EAAMr9C,OAAO,UAAU2N,OA0ClC2vC,KAIL,yBAAKroD,UAAU,0BACb,6BAAK,kBAAC,KAAD,CAAM8Q,GAAE,0BAAqB1R,IAAaA,IAC/C,6BAAK,4BAAQY,UAAU,UAAUuB,QApCzB,WACdkoB,GAAW,GAEXnM,EAASwkB,MACNpvB,MAAK,WACJ/Q,EAAQG,KAAK,WACb2nB,GAAW,MAEX,SAAAvqB,GACEuqB,GAAW,GACXtZ,QAAQjR,MAAMA,QA0BsCC,EAAK,kBC3F7D6b,I,OAAWhR,OAAO+H,SAASC,QCYlB,SAASs2C,KAAW,IAAD,EACL5nD,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAA9CI,EADwB,EACxBA,KAAMC,EADkB,EAClBA,SACRuC,EAAUC,cACV0b,EAAWI,cACXje,EAAiBiB,aAAY,SAAApC,GAAK,OAAIA,EAAMmB,kBAJlB,EAKJiL,qBALI,mBAKzBuhB,EALyB,KAKjBsb,EALiB,OAMN78B,mBAAS,CACjCpH,KAAM,GACNstB,OAAQ,GACRjnB,SAAS,IATqB,mBAMzBrL,EANyB,KAMlB4I,EANkB,KAYhCrF,qBAAU,WACHzC,GACHuC,EAAQG,KAAK,aAEd,IAEHD,qBAAU,WACR,IAAIqR,EAAoBC,KAAYC,MAAMzR,EAAQoQ,SAAS7N,OAAQ,CAAEmP,mBAAmB,IAChF4Y,EAAiB/Y,EAAjB+Y,OAAQztB,EAAS0U,EAAT1U,KAEhB,IAAK0U,IAAsB+Y,IAAWztB,EACpC,OAAOmD,EAAQ4mD,SAGjBhhB,EAAUtb,GACV,IAAI7O,EAAG,gCAA4B6O,EAA5B,iBAA2CztB,GAClD0f,EAAUd,GAEVE,EAASzC,GAAiB,yBAAD,OAA0BoR,EAA1B,iBAAyCztB,OACjE,CAACiB,EAAevB,gBAEnB,IAAMggB,EAAY,SAAAd,GAChBlW,EAAS,2BACJ5I,GADG,IAENqL,SAAS,KD9CW,SAAAyT,GACxB,OAAOjL,KAAMC,IAAI4I,GAAW,UAAWoC,GCgDrCorC,CAAWprC,GACR1K,MAAK,SAAAlJ,GACAA,EAAOlG,MACT4D,EAAS,2BAAK5I,GAAN,IAAagF,KAAMkG,EAAOlG,KAAKA,KAAMstB,OAAQpnB,EAAOlG,KAAKstB,OAAQjnB,SAAS,QAGrF6O,OAAM,SAAAtZ,GACLiR,QAAQjR,MAAMA,GACdgI,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,SAI9Bo+C,EAAY,CAChB,CACEG,MAAM,yBAAD,OAA2Bj8B,EAA3B,gBACL/qB,KAAM/B,EAAI,WAEZ,CACE+oD,MAAM,yBAAD,OAA2Bj8B,EAA3B,eACL/qB,KAAM/B,EAAI,WAIR6oD,EAAiB,CACrB,CACEI,KAAK,6BAAD,cAA+Bn8B,QAA/B,IAA+BA,IAAU,GAAzC,gBACJztB,KAAM,WACNka,KAAMvZ,EAAK,uBAEb,CACEipD,KAAK,6BAAD,cAA+Bn8B,QAA/B,IAA+BA,IAAU,GAAzC,eACJztB,KAAM,WACNka,KAAMvZ,EAAK,uBAIf,OACE,yBAAKa,UAAU,YACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAK+xB,OAE1B,kBAAC,GAAD,CAAU62B,UAAWA,EAAWC,eAAgBA,IAChD,yBAAKhoD,UAAU,WACb,4BAAI,2BAAI1B,EAAMsyB,SACd,6BAEEtyB,EAAMqL,QACF,kBAAC,EAAD,MAEA,6BACGoV,KAAWzgB,EAAMgF,S,WC1FnBmlD,GARK,SAAC,GAAkB,IAAhB3sC,EAAe,EAAfA,SACrB,OACE,yBAAK9b,UAAU,gBACZ8b,I,OCIQ,SAAS4sC,KAAa,IAAD,UAC1BvpD,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACFme,EAAWI,cACX/b,EAAUC,cAHkB,EAIJ8I,oBAAS,GAJL,mBAI3Bf,EAJ2B,KAIlB8f,EAJkB,OAKE/e,mBAAS,CAC3C7L,KAAM,GACNozB,SAAU,KAPsB,mBAK3B02B,EAL2B,KAKfC,EALe,KAS5B7pD,EAAU2B,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WATT,EAUM2L,mBAAS,IAVf,mBAU3BiT,EAV2B,KAUbC,EAVa,KAYlC/b,qBAAU,WACJ9C,EAAQG,MACV0e,EAAgB7e,EAAQG,OAItBH,EAAQE,OAASF,EAAQK,UAC3BuC,EAAQG,KAAK,iBAEd,CAAC/C,IAEJ,IAYM8pD,EAAqB,SAAA1+C,GAAU,IAAD,EACVA,EAAMY,OAAtBtM,EAD0B,EAC1BA,MAAOyC,EADmB,EACnBA,KAEf0nD,EAAc,2BACTD,GADQ,kBAEVznD,EAAOzC,MAIZ,OACE,yBAAKuB,UAAU,cACb,kBAAC4X,GAAA,EAAD,KACE,2DAAmBzY,EAAK2pD,aAAxB,QAAiC,WAElCn/C,GAAW,kBAAC,EAAD,MACZ,yBAAK3J,UAAU,sBACb,kBAAC,GAAD,KACE,0BAAMgf,SA7BQ,SAAA7U,GACpBA,EAAMuG,iBADuB,IAErB7R,EAAmB8pD,EAAnB9pD,KAAMozB,EAAa02B,EAAb12B,SAEdxI,GAAW,GAEXnM,EAASmkB,GAAM5iC,EAAMozB,IAClBvf,MAAK,SAAC4F,GACLmR,GAAW,QAsBP,yBAAKzpB,UAAU,MACb,kBAAC,KAAD,CAAM8Q,GAAG,KACP,yBAAKC,IAAI,mBAAmBC,IAAI,WAGpC,yBAAKhR,UAAU,MACb,kBAAC,GAAD,CACE8K,SAAU+9C,EACVx3C,MAAK,UAAElS,EAAI,gBAAN,QAAsB,WAC3BV,MAAOkqD,EAAW9pD,KAClBqC,KAAK,OACLuF,GAAG,SAEL,kBAAC,GAAD,CACEqE,SAAU+9C,EACVx3C,MAAK,UAAElS,EAAI,gBAAN,QAAsB,WAC3BV,MAAOkqD,EAAW12B,SAClB/W,cACE,kBAAC,KAAD,CAAMlb,UAAU,kBAAkB+oD,SAAS,KAAKj4C,GAAG,UAAnD,UACG3R,EAAK,0BADR,QAC8B,mBAGhC+B,KAAK,WACL1C,KAAK,WACLiI,GAAG,aAEL,4BAAQjI,KAAK,SAASyP,SAAUtE,EAAS3J,UAAW2J,EAAU,WAAa,IAA3E,UACGxK,EAAK,iBADR,QACqB,UAGrB,yBAAKa,UAAU,iBAAiB2d,KAIpC,8BACE,uBAAGxD,KAAK,uBAAR,mB,WCwBG6uC,GA7GK,WAAO,IAAD,EACGtoD,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAA9CI,EADgB,EAChBA,KAAMC,EADU,EACVA,SACRke,EAAWI,cACX/b,EAAUC,cAHQ,EAIE8I,mBAAS,CACjCpH,KAAM,GACNqG,SAAS,IANa,mBAIjBrL,EAJiB,KAIV4I,EAJU,KASxBrF,qBAAU,WACHzC,GACHuC,EAAQG,KAAK,aAEd,CAAC1C,IAEJyC,qBAAU,WACR,IAAIq3B,EAAc/lB,KAAYC,MAAMzR,EAAQoQ,SAAS7N,OAAQ,CAAEmP,mBAAmB,IAElF,OAAK6lB,EAAY+vB,IAMZlB,EAAUz6C,MAAK,SAAA5K,GAAI,OAAIA,EAAKsd,UAAYkZ,EAAY+vB,QAMzD/qC,EAAUgb,EAAY+vB,UACtB3rC,EAASzC,GAAiB,6BAAD,OAA8Bqe,EAAY+vB,SANjE3rC,EAASzC,GAAiB,uCAC1BlZ,EAAQG,KAAK,mCAPboc,EAAU,YACVZ,EAASzC,GAAiB,qCAY3B,CAAClZ,EAAQoQ,SAAS7N,SAErB,IAAMga,EAAY,SAAA0oB,G1JQU,IAAA5mB,E0JP1B9Y,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,M1JOJqW,E0JLX4mB,E1JMVz0B,KAAMC,IAAN,UAAa4I,IAAb,OAtDS,gCAsDT,YAAqCgF,K0JLvCtN,MAAK,SAAAlJ,GACJtC,EAAS,2BAAK5I,GAAN,IAAagF,KAAMkG,EAAOlG,KAAK4lD,YAAav/C,SAAS,QAE9D6O,OAAM,SAAAtZ,GACLiR,QAAQjR,MAAMA,GACdgI,EAAS,2BAAK5I,GAAN,IAAaqL,SAAS,SAI9Bo+C,EAAY,CAChB,CACEG,MAAO,gCACPloC,QAAS,MACT9e,KAAM/B,EAAI,KAEZ,CACE+oD,MAAO,gCACPloC,QAAS,MACT9e,KAAM/B,EAAI,QAEZ,CACE+oD,MAAO,iCACPloC,QAAS,OACT9e,KAAM/B,EAAI,MAEZ,CACE+oD,MAAO,gCACPloC,QAAS,MACT9e,KAAM/B,EAAI,SAEZ,CACE+oD,MAAO,gCACPloC,QAAS,MACT9e,KAAM/B,EAAI,KAEZ,CACE+oD,MAAO,gCACPloC,QAAS,MACT9e,KAAM/B,EAAI,KAEZ,CACE+oD,MAAO,iCACPloC,QAAS,OACT9e,KAAM/B,EAAI,MAEZ,CACE+oD,MAAO,+BACPloC,QAAS,KACT9e,KAAM/B,EAAI,KAId,OACE,yBAAKa,UAAU,gBACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAK0hB,UAE1B,kBAAC,GAAD,CAAUknC,UAAWA,IACrB,yBAAK/nD,UAAU,WAEX1B,EAAMqL,QACF,kBAAC,EAAD,MACC,6BACArL,EAAMgF,MAAQ6lD,KAAgB7qD,EAAMgF,UCtGpC,SAAS8lD,KAAkB,IAChCjqD,EAASuB,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAApCI,KACFme,EAAWI,cACX/b,EAAUC,cAHuB,EAIT8I,oBAAS,GAJA,mBAIhCf,EAJgC,KAIvB8f,EAJuB,OAKb/e,mBAAS,CACjCnM,OAAQ,GACRM,KAAM,GACNsZ,KAAM,KAR+B,mBAKhC7Z,EALgC,KAKzB4I,EALyB,KAUjCnI,EAAU2B,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WACrCgT,EAAWs3C,cAXsB,EAYC3+C,mBAAS,IAZV,mBAYhCiT,EAZgC,KAYlBC,EAZkB,KAcvC/b,qBAAU,WACR,IAAMqR,EAAoBC,KAAYC,MAAMrB,EAAS7N,OAAQ,CAAEmP,mBAAmB,IAElFnM,EAAS,2BACJ5I,GADG,IAENC,OAAQ2U,EAAkB3U,QAAU,GACpCM,KAAMqU,EAAkBrU,MAAQ,GAChCsZ,KAAMjF,EAAkBiF,MAAQ,QAEjC,IAEHtW,qBAAU,WACJ9C,EAAQG,MACV0e,EAAgB7e,EAAQG,OAItBH,EAAQE,OAASF,EAAQK,UAC3BuC,EAAQG,KAAK,iBAEd,CAAC/C,IAEJ,IAmCM8pD,EAAqB,SAAA1+C,GAAU,IAAD,EACVA,EAAMY,OAAtBtM,EAD0B,EAC1BA,MAAOyC,EADmB,EACnBA,KAEfgG,EAAS,2BAAK5I,GAAN,kBAAc4C,EAAOzC,MAGzB6qD,EAAgB,WACfhrD,EAAMO,OACX4qB,GAAW,GAEX8X,GAAcjjC,EAAMO,MACjB6T,MAAK,SAAA4F,GACJsF,EAAgBtF,EAAIhV,KAAKpE,OAAS,IAClCgI,EAAS,2BAAK5I,GAAN,IAAaC,OAAQ,UAC7BkrB,GAAW,MAEZjR,OAAM,SAAAtZ,GACLiR,QAAQjR,MAAMA,GACduqB,GAAW,QAIX8/B,EAAgB,WACpBriD,EAAS,2BAAK5I,GAAN,IAAaC,OAAQ,cAG/B,OACE,yBAAKyB,UAAU,cACb,kBAAC4X,GAAA,EAAD,KACE,iDAAmBzY,EAAK,qBAEzBwK,GAAW,kBAAC,EAAD,MACZ,yBAAK3J,UAAU,sBACb,kBAAC,GAAD,KACE,0BAAMgf,SArEQ,SAAA7U,GAGpB,GAFAA,EAAMuG,iBAEDpS,EAAM6Z,MAAS7Z,EAAMO,KAE1B,GAAKP,EAAMC,SAAUD,EAAMO,KAK3B,GAAqB,SAAjBP,EAAMC,QAAqBD,EAAMO,MAAQP,EAAM6Z,KACjDoxC,QADF,CAKA9/B,GAAW,GACX,IAhB6B,EAgBvBnmB,EAAO,CAAEzE,KAAMP,EAAMO,KAAMsZ,KAAM7Z,EAAM6Z,MAhBhB,eAkBF,IAAInC,SAAS7L,EAAMY,QAASwT,WAlB1B,IAkB7B,2BAAkE,CAAC,IAAD,yBAAxDrd,EAAwD,KAAlDzC,EAAkD,KAChE6E,EAAKpC,GAAQzC,GAnBc,8BAsB7B6e,EjGtBiB,SAAC,GAAD,QAAGze,YAAH,MAAU,GAAV,MAAcsZ,YAAd,MAAqB,GAArB,MAAyB8Z,gBAAzB,MAAoC,GAApC,MAAwCu3B,wBAAxC,MAA2D,GAA3D,SAAoE,SAAAlsC,GACvF,OAAO,IAAI3K,SAAQ,SAACwB,EAASqJ,GAC3B+jB,GAAc1iC,EAAMsZ,EAAM8Z,EAAUu3B,GAAkB92C,MAAK,SAACgC,GAAc,IAAD,EACxBA,EAASpR,KAAhDpE,EAD+D,EAC/DA,MAAOH,EADwD,EACxDA,QAASE,EAD+C,EAC/CA,MAAOK,EADwC,EACxCA,MAAOT,EADiC,EACjCA,KAEtCye,EAAS,CACP9e,KtGnDsB,iBsGoDtBC,MAAO,CACLQ,QACAG,SAAUP,EACVK,WAGJoe,EAAS,CACP9e,KpGhEqB,gBoGiErBC,MAAO,CACLa,WAGJge,EAAS,CACP9e,K1GtEwB,mB0GuExBC,MAAO,CACLI,KAAM,MAGVye,EAAS,CACP9e,KxG5EwB,mBwG6ExBC,MAAOM,IAEToV,EAAQlV,MACP,SAACC,GACFse,EAAOte,UiGTAuqD,CAAMnmD,IACZoP,MAAK,SAAA4F,GACAA,EAAIpZ,MACN0e,EAAgBtF,EAAIpZ,QAEpByC,EAAQG,KAAK,UACb8b,EAAgB,KAGlB6L,GAAW,WAzBb6/B,MAgEM,yBAAKtpD,UAAU,MACb,kBAAC,KAAD,CAAM8Q,GAAG,KACP,yBAAKC,IAAI,mBAAmBC,IAAI,WAGpC,yBAAKhR,UAAU,OAEV1B,EAAMC,QACL,oCACE,kBAAC,GAAD,CACEuM,SAAU+9C,EACVx3C,MAAOlS,EAAI,SACXV,MAAOH,EAAMO,KACbqC,KAAK,OACLuF,GAAG,SAEL,yBAAKzG,UAAU,mBACb,4BAAQA,UAAU,MAAMxB,KAAK,SAAS+C,QAAS+nD,GAAgBnqD,EAAKuqD,QACpE,4BAAQ1pD,UAAU,OAAOxB,KAAK,SAAS+C,QAAS,kBAAMI,EAAQG,KAAK,YAAY3C,EAAKkgB,QAOzE,SAAjB/gB,EAAMC,QACJ,oCACE,8BAAO4qD,KAAgBhqD,EAAI,kBAA4B,6BAEvD,kBAAC,GAAD,CACE2L,SAAU+9C,EACVx3C,MAAOlS,EAAK,cACZV,MAAOH,EAAM6Z,KACbjX,KAAK,OACLuF,GAAG,SAEL,yBAAKzG,UAAU,mBACb,4BAAQA,UAAU,MAAMxB,KAAK,SAAS+C,QAASgoD,GAAgBpqD,EAAKwqD,SACpE,4BAAQ3pD,UAAU,OAAOxB,KAAK,SAAS+C,QAAS,kBAAM2F,EAAS,2BAAK5I,GAAN,IAAaC,OAAQ,GAAI4Z,KAAM,GAAItZ,KAAM,QAAQM,EAAKkgB,QAOzG,YAAjB/gB,EAAMC,QACJ,oCACE,kBAAC,GAAD,CAAU2C,KAAK,WAAWmQ,MAAOlS,EAAK,gBAAiBgtB,sBAAsB,EAAO48B,SAAU,IAE9F,kBAAC,GAAD,CAAU7nD,KAAK,mBAAmBmQ,MAAOlS,EAAK,oBAAqBgtB,sBAAsB,EAAO48B,SAAU,IAE1G,yBAAK/oD,UAAU,mBACb,4BAAQA,UAAU,MAAMxB,KAAK,SAAS6B,MAAO,CAAE82C,OAAQ,SAAWh4C,EAAKyqD,OACvE,4BAAQ5pD,UAAU,OAAOxB,KAAK,SAAS+C,QAAS,kBAAM2F,EAAS,2BAAK5I,GAAN,IAAaC,OAAQ,OAAQ4Z,KAAM,GAAItZ,KAAMP,EAAMO,UAAUM,EAAKkgB,QAMxI,yBAAKrf,UAAU,iBAAiB2d,KAIpC,8BACE,uBAAGxD,KAAK,uBAAR,mBCtKZ0vC,KAAQ3a,IACN4a,KACAA,KACAA,KACAA,KACAA,KACAA,KACAA,KACAA,KACAA,KACAA,KACAA,KACAA,KACAA,KACAA,KACAA,KACAA,KACAA,KACAA,KACAA,KACAA,KACAA,KACAA,KACAA,KACAA,KACAA,KACAA,KACAA,KACAA,KACAA,KACAA,KACAA,KACAA,KACAA,KACAA,KACAA,KACAA,KACAA,KACAA,KACAA,KACAA,KACAA,KACAA,MAGF,IAiEeC,GAjEH,WACV,IAAMpoD,EAAUC,cACV0b,EAAWI,cACX3e,EAAU2B,aAAY,SAAApC,GAAK,OAAIA,EAAMS,WAH3B,EAIc2L,oBAAS,GAJvB,mBAITf,EAJS,KAIA8f,EAJA,KAMhB5nB,qBAAU,WACH8L,OAAO4Q,QAAQxf,EAAQI,MAAMsF,QAChC6Y,GlGiIgC,SAACA,EAAUC,GAC/C,OAAO,IAAI5K,SAAQ,SAACwB,EAASqJ,GAC3BL,KACGzK,MAAK,SAAA4F,GAAQ,IAAD,EACgDA,EAAIhV,KAAvDzE,EADG,EACHA,KAAMyE,EADH,EACGA,KAAMvE,EADT,EACSA,QAASO,EADlB,EACkBA,MAAOJ,EADzB,EACyBA,MAAOC,EADhC,EACgCA,KAAMF,EADtC,EACsCA,MAE7CA,GAAO6b,GAAa7b,GAExBqe,EAAS,CACP9e,KtG9MgB,asG+MhBC,MAAO,CACLW,SAAUP,EACVM,OACAF,QACAC,WAGJoe,EAAS,CACP9e,KpG1NmB,gBoG2NnBC,MAAO,CACLa,WAGJge,EAAS,CACP9e,K1GhOsB,mB0GiOtBC,MAAO,CACLI,KAAMyE,KAGVga,EAAS,CACP9e,KxGtOsB,mBwGuOtBC,MAAOM,IAGToV,EAAQlV,MAETuZ,OAAM,SAAAC,GACL+E,IACArN,QAAQjR,MAAMuZ,YkGtKb/F,MAAK,SAAAzT,GACJwqB,GAAW,MACV,SAACvqB,GAEF,OADAiR,QAAQjR,MAAMA,GACPyC,EAAQG,KAAK,eAGzB,CAACwb,EAAU3b,EAAS5C,IAEvB,IAAMirD,EAAqB,SAAC,GAAgC,IAA9BC,EAA6B,EAA7BA,cAAkBrqC,EAAW,iCACzD,OACE,kBAAC,IAAD,iBAAWA,EAAX,CAAiBsqC,OAAQ,SAAA1pD,GAAK,OAC5BypD,EACI,kBAACrqC,EAAK+nC,UAAcnnD,GACpB,kBAAC,IAAD,CAAUsQ,GAAG,gBAIvB,OACE,yBAAK9Q,UAAU,OAEX2J,EACI,kBAAC,EAAD,MAEA,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAOlI,KAAK,SAASimD,OAAK,EAACC,UAAWe,KACtC,kBAAC,IAAD,CAAOjnD,KAAK,SAASimD,OAAK,EAACC,UAAWyB,KACtC,kBAAC,IAAD,CACE3nD,KAAK,mBACLimD,OAAK,EACLC,UAAW30C,KACb,kBAAC,IAAD,CACEvR,KAAK,2BACLimD,OAAK,EACLC,UAAWjtC,KACb,kBAACsvC,EAAD,CACEvoD,KAAK,wBACLwoD,cAAelrD,EAAQK,SACvBuoD,UAAWqB,KACb,kBAACgB,EAAD,CACEvoD,KAAK,iBACLimD,OAAK,EACLuC,cAAelrD,EAAQK,SACvBuoD,UAAWW,KACb,kBAAC0B,EAAD,CACEvoD,KAAK,IACLwoD,cAAelrD,EAAQK,SACvBuK,QAASA,EACTg+C,UAAWL,QC5GPhiC,QACW,cAA7Btb,OAAO+H,SAAS6wB,UAEe,UAA7B54B,OAAO+H,SAAS6wB,UAEhB54B,OAAO+H,SAAS6wB,SAAS5+B,MACvB,2DCTNmmD,IAASD,OACP,kBAAC,IAAD,CAAUE,MCJHC,sBACLC,EACAC,8BAAoBC,0BAAgBC,QDGpC,kBAAC,KAAD,KACE,kBAAC,GAAD,QAGJ1nD,SAASqM,eAAe,SDkHpB,kBAAmBs7C,WACrBA,UAAUC,cAAcC,MAAMl4C,MAAK,SAAAm4C,GACjCA,EAAaC,mB","file":"static/js/main.a9be926e.chunk.js","sourcesContent":["import { ADD_FOCUSED_ELEMENT, ADD_ACTIVE_ELEMENT, REMOVE_ACTIVE_ELEMENT, REMOVE_FOCUSED_ELEMENT } from '../../actions/MainNavigation/mainNavigationTypes';\n\nconst INITIAL_STATE = {\n focusedElement: '',\n activeElement: '',\n adminMenuTabs: [\n '/list/user/',\n '/list/web/',\n '/list/dns/',\n '/list/mail/',\n '/list/db/',\n '/list/cron/',\n '/list/backup/',\n '/list/package/',\n '/list/ip/',\n '/list/rrd/',\n '/list/stats/',\n '/list/log/',\n '/list/updates/',\n '/list/firewall/',\n '/list/directory/',\n '/softaculous/',\n '/list/server/'\n ],\n userMenuTabs: [\n '/list/user/',\n '/list/web/',\n '/list/dns/',\n '/list/mail/',\n '/list/db/',\n '/list/cron/',\n '/list/backup/',\n '/list/stats/',\n '/list/log/',\n '/list/directory/',\n '/softaculous/',\n ]\n};\n\nconst reducer = (state = INITIAL_STATE, action) => {\n switch (action.type) {\n case ADD_FOCUSED_ELEMENT:\n return {\n ...state, focusedElement: action.value,\n };\n\n case REMOVE_FOCUSED_ELEMENT:\n return {\n ...state, focusedElement: action.value,\n };\n\n case ADD_ACTIVE_ELEMENT:\n return {\n ...state, activeElement: action.value,\n };\n\n case REMOVE_ACTIVE_ELEMENT:\n return {\n ...state, activeElement: action.value,\n };\n\n default: return state;\n }\n};\n\nexport default reducer;","export const ADD_FOCUSED_ELEMENT = 'ADD_FOCUSED_ELEMENT';\nexport const REMOVE_FOCUSED_ELEMENT = 'REMOVE_FOCUSED_ELEMENT';\nexport const ADD_ACTIVE_ELEMENT = 'ADD_ACTIVE_ELEMENT';\nexport const REMOVE_ACTIVE_ELEMENT = 'REMOVE_ACTIVE_ELEMENT';","import { ADD_CPANEL_FOCUSED_ELEMENT, REMOVE_CPANEL_FOCUSED_ELEMENT } from '../../actions/ControlPanelContent/controlPanelContentTypes';\n\nconst INITIAL_STATE = {\n controlPanelFocusedElement: ''\n};\n\nconst reducer = (state = INITIAL_STATE, action) => {\n switch (action.type) {\n case ADD_CPANEL_FOCUSED_ELEMENT:\n return {\n ...state, controlPanelFocusedElement: action.value,\n };\n\n case REMOVE_CPANEL_FOCUSED_ELEMENT:\n return {\n ...state, controlPanelFocusedElement: '',\n };\n\n default: return state;\n }\n};\n\nexport default reducer;","export const ADD_CPANEL_FOCUSED_ELEMENT = 'ADD_CPANEL_FOCUSED_ELEMENT';\nexport const REMOVE_CPANEL_FOCUSED_ELEMENT = 'REMOVE_CPANEL_FOCUSED_ELEMENT';","import { ADD_NOTIFICATIONS, REMOVE_NOTIFICATIONS } from 'src/actions/Notification/notificationTypes';\n\nconst INITIAL_STATE = {\n notifications: []\n};\n\nconst notificationReducer = (state = INITIAL_STATE, action) => {\n switch (action.type) {\n case ADD_NOTIFICATIONS:\n return {\n ...state,\n notifications: action.value,\n };\n\n case REMOVE_NOTIFICATIONS:\n return {\n ...state,\n notifications: action.value,\n };\n\n default: return state;\n }\n};\n\nexport default notificationReducer;\n","export const ADD_NOTIFICATIONS = 'ADD_NOTIFICATIONS';\nexport const REMOVE_NOTIFICATIONS = 'REMOVE_NOTIFICATIONS';\n","import { REFRESH_COUNTERS } from 'src/actions/MenuCounters/menuCounterTypes';\n\nconst INITIAL_STATE = {\n user: {},\n};\n\nconst menuCounterReducer = (state = INITIAL_STATE, action) => {\n switch (action.type) {\n case REFRESH_COUNTERS:\n return {\n ...state,\n user: action.value.user,\n };\n\n default: return state;\n }\n};\n\nexport default menuCounterReducer;\n","export const REFRESH_COUNTERS = 'REFRESH_COUNTERS';","import { SET_USER_SESSION } from 'src/actions/UserSession/userSessionTypes';\n\nconst INITIAL_STATE = {\n session: {}\n};\n\nconst userSessionReducer = (state = INITIAL_STATE, action) => {\n switch (action.type) {\n case SET_USER_SESSION:\n return {\n ...state,\n session: action.value,\n };\n\n default: return state;\n }\n};\n\nexport default userSessionReducer;\n","export const SET_USER_SESSION = 'SET_USER_SESSION';","import { LOGGED_OUT_AS, LOGIN, LOGOUT, CHECK_AUTH } from '../../actions/Session/sessionTypes';\n\nconst INITIAL_STATE = {\n token: '',\n error: '',\n i18n: {},\n userName: ''\n};\n\nconst sessionReducer = (state = INITIAL_STATE, action) => {\n switch (action.type) {\n case LOGIN:\n return {\n ...state,\n token: action.value.token,\n userName: action.value.userName,\n i18n: action.value.i18n || {},\n error: action.value.error\n };\n\n case LOGOUT:\n return {\n ...state,\n token: action.value.token,\n userName: action.value.userName,\n i18n: action.value.i18n || {},\n error: action.value.error\n };\n\n case LOGGED_OUT_AS:\n return {\n ...state,\n token: action.value.token,\n userName: action.value.userName,\n i18n: action.value.i18n || {},\n error: action.value.error\n };\n\n case CHECK_AUTH: return {\n ...state,\n token: action.value.token,\n userName: action.value.userName,\n i18n: action.value.i18n || {},\n error: action.value.error\n };\n\n default: return state;\n }\n};\n\nexport default sessionReducer;\n","export const LOGIN = 'LOGIN';\nexport const LOGOUT = 'LOGOUT';\nexport const LOGIN_AS = 'LOGIN_AS';\nexport const CHECK_AUTH = 'CHECK_AUTH';\nexport const LOGGED_OUT_AS = 'LOGGED_OUT_AS';\nexport const RESET_PASSWORD = 'RESET_PASSWORD';","import { REFRESH_PANEL } from '../../actions/Panel/panelTypes';\n\nconst INITIAL_STATE = {\n panel: {}\n};\n\nconst panelReducer = (state = INITIAL_STATE, action) => {\n switch (action.type) {\n case REFRESH_PANEL:\n return {\n ...state,\n panel: action.value.panel\n };\n\n default: return state;\n }\n};\n\nexport default panelReducer;\n","export const REFRESH_PANEL = 'REFRESH_PANEL';\n","import { combineReducers } from 'redux';\nimport mainNavigationReducer from './MainNavigation/mainNavigationReducer';\nimport controlPanelContentReducer from './ControlPanelContent/controlPanelContentReducer';\nimport notificationReducer from './Notification/notificationReducer';\nimport menuCounterReducer from './MenuCounters/menuCounterReducer';\nimport userSessionReducer from './UserSession/userSessionReducer';\nimport sessionReducer from './Session/sessionReducer';\nimport panelReducer from './Panel/panel';\n\nexport default combineReducers({\n mainNavigation: mainNavigationReducer,\n controlPanelContent: controlPanelContentReducer,\n notifications: notificationReducer,\n menuCounters: menuCounterReducer,\n userSession: userSessionReducer,\n session: sessionReducer,\n panel: panelReducer,\n});","import React from 'react';\nimport './Spinner.scss';\n\nconst Spinner = () => {\n return (\n
    \n
    \n
    \n
    \n
    \n );\n}\n\nexport default Spinner;","import React from 'react';\nimport { useSelector } from 'react-redux';\nimport './Dropdown.scss';\n\nconst Dropdown = (props) => {\n const { i18n } = useSelector(state => state.session);\n\n const changeSorting = (field, order, props) => {\n if (!props.isActive) {\n return;\n } else {\n props.changeSorting(field, order);\n }\n }\n\n const sort = (sorting) => {\n if (sorting === \"Type\") {\n return i18n.type;\n } else if (sorting === \"Size\") {\n return i18n.size;\n } else if (sorting === \"Date\") {\n return i18n.date;\n } else if (sorting === \"Name\") {\n return i18n.name;\n }\n }\n\n const button = (sorting, order) => {\n if (order === \"descending\") {\n return (\n \n );\n } else {\n return (\n \n );\n }\n }\n\n return (\n
    \n {button(props.sorting, props.order)}\n
    \n
      \n
    • \n changeSorting(\"Type\", \"descending\", props)}>{i18n.type}\n changeSorting(\"Type\", \"ascending\", props)}>\n
    • \n
    • \n changeSorting(\"Size\", \"descending\", props)}>{i18n.size}\n changeSorting(\"Size\", \"ascending\", props)}>\n
    • \n
    • \n changeSorting(\"Date\", \"descending\", props)}>{i18n.date}\n changeSorting(\"Date\", \"ascending\", props)}>\n
    • \n
    • \n changeSorting(\"Name\", \"descending\", props)}>{i18n.name}\n changeSorting(\"Name\", \"ascending\", props)}>\n
    • \n
    \n
    \n
    \n );\n}\n\nexport default Dropdown;","import React, { useEffect } from 'react';\nimport { useSelector } from 'react-redux';\nimport { useHistory } from 'react-router';\n\nimport Dropdown from './Dropdown/Dropdown';\nimport './Path.scss';\n\nconst Path = ({ path, isActive, className, openDirectory, changeSorting, sorting, order }) => {\n const { user } = useSelector(state => state.menuCounters);\n const history = useHistory();\n\n useEffect(() => {\n if (!user) return history.push('/login');\n }, [user]);\n\n const clickablePath = () => {\n let splitPath = path.split('/');\n splitPath.splice(0, 3);\n\n if (path !== user.HOME) {\n return (\n splitPath.map((item, index) => openDirectoryHandler(index)}> / {item})\n );\n }\n }\n\n const openDirectoryHandler = index => {\n let pathArray = path.split('/');\n\n if (!isActive) {\n return;\n } else {\n if (index !== undefined) {\n let newPathArray = pathArray.splice(0, index + 4);\n let newPath = newPathArray.join('/');\n openDirectory(newPath);\n }\n }\n }\n\n return (\n
    \n
    \n \n openDirectory(user.HOME)}>{user.HOME}\n {clickablePath()}\n \n
    \n \n
    \n );\n}\n\nexport default Path;\n","import React, { Component } from 'react';\nimport { withRouter } from 'react-router-dom';\nimport PropTypes from 'prop-types';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faJs, faCss3, faPhp, faHtml5, faSass } from '@fortawesome/free-brands-svg-icons';\nimport './Row.scss';\nimport { connect } from 'react-redux';\nimport dayjs from 'dayjs'\n\nclass Row extends Component {\n static propTypes = {\n selectMultiple: PropTypes.func,\n selectOnClick: PropTypes.func,\n openDirectory: PropTypes.func,\n modalVisible: PropTypes.bool,\n isActiveList: PropTypes.bool,\n activeRow: PropTypes.bool,\n selected: PropTypes.func,\n download: PropTypes.func,\n cursor: PropTypes.number,\n path: PropTypes.string,\n key: PropTypes.number,\n data: PropTypes.array\n }\n\n componentDidMount = () => {\n document.addEventListener(\"keydown\", this.openOnEnter);\n }\n\n componentWillUnmount = () => {\n document.removeEventListener(\"keydown\", this.openOnEnter);\n }\n\n openOnEnter = (e) => {\n const { activeRow, data: { name, type }, isActiveList, modalVisible, openDirectory, cursor, download, path } = this.props;\n\n if (modalVisible || !activeRow || !isActiveList) {\n return;\n }\n\n if (e.keyCode === 13) {\n if (this.isArchive(name) || type === \"l\") {\n download();\n } else if (this.isFile(type) && cursor !== 0) {\n this.changePath(path, name);\n } else {\n openDirectory(name);\n }\n }\n }\n\n openItem = () => {\n const { data: { type, name }, openDirectory, download, path, isActiveList } = this.props;\n\n if (!isActiveList) {\n return;\n }\n\n if (this.isArchive(name) || type === \"l\" || name.match('.mp4')) {\n return download();\n } else if (this.isFile(type)) {\n return this.changePath(path, name);\n } else if (type === 'd') {\n return openDirectory(name);\n }\n }\n\n changePath = (path, name) => {\n this.props.history.push({\n pathname: '/list/directory/preview/',\n search: `?path=${path}/${name}`\n });\n }\n\n selectRow = (e) => {\n const { data: { name, permissions, type }, selectMultiple, selectOnClick, cursor, activeRow } = this.props;\n\n if (e.ctrlKey && cursor !== 0) {\n selectMultiple();\n }\n\n if (activeRow) {\n return;\n }\n\n selectOnClick(cursor, name, permissions, type);\n }\n\n className = () => {\n const { activeRow, selected, isActiveList } = this.props;\n\n if (isActiveList) {\n let isActive = activeRow ? 'active' : '';\n let isSelected = selected ? 'selected' : '';\n return isActive.length ? isActive : isSelected;\n } else {\n let isActive = activeRow ? 'inactive' : '';\n let isSelected = selected ? 'inactive-selected' : '';\n return isActive.length ? isActive : isSelected;\n }\n }\n\n sizeFormatter = (bytes, decimals) => {\n if (bytes === undefined || this.props.data.type === \"d\") {\n return null;\n };\n\n if (bytes === \"0\") {\n return 0 b;\n }\n\n let k = 1024,\n dm = decimals <= 0 ? 0 : decimals || 2,\n sizes = ['b', 'kb', 'Mb', 'GB'],\n i = Math.floor(Math.log(bytes) / Math.log(k));\n return ({parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} {sizes[i]});\n }\n\n dateFormatter = (fDate) => {\n if (fDate === undefined) {\n return null;\n }\n\n let date = new Date(fDate),\n months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n getDay = date.getDate(),\n getMonth = this.props.session.i18n[months[date.getMonth()]];\n return ({getMonth} {getDay});\n }\n\n timeFormatter = (date = new Date(), time) => {\n const year = dayjs(date).year()\n const currentYear = dayjs().year()\n if (year === currentYear) return time\n return year\n }\n\n glyph = () => {\n const { data: { type, name } } = this.props;\n\n if (type === 'd') {\n return ;\n }\n\n if (this.isFile(type)) {\n if (this.isArchive(name)) {\n return ;\n } else if (name.match(/png|jpg|jpeg|gif/g)) {\n return ;\n } else if (name.match('.mp4') !== null) {\n return ;\n } else if (name.match('.txt')) {\n return ;\n } else if (name.match('.js')) {\n return ;\n } else if (name.match('.html')) {\n return ;\n } else if (name.match('.php')) {\n return ;\n } else if (name.match(/.scss/i)) {\n return ;\n } else if (name.match(/.css/i)) {\n return ;\n } else {\n return ;\n }\n }\n\n if (type === \"l\") {\n return ;\n }\n }\n\n isArchive(name) {\n return name.match(/zip|tgz|tar.gz|gzip|tbz|tar.bz|gz|zip|tar|rar/g);\n }\n\n isFile(type) {\n return type === 'f';\n }\n\n render() {\n const { data: { name, owner, permissions, size, date, time } } = this.props;\n return (\n
  • \n \n {this.glyph()}\n this.openItem(e)}>{this.props.cursor === 0 ? \"..\" : name}\n {permissions}\n {owner}\n {this.sizeFormatter(size)}\n {this.dateFormatter(date)}\n {this.timeFormatter(date, time)}\n
  • \n );\n }\n}\n\nfunction mapStateToProps(state) {\n return {\n session: state.session\n }\n}\n\nexport default connect(mapStateToProps)(withRouter(Row));\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport Spinner from '../../Spinner/Spinner';\nimport Path from '../../Path/Path';\nimport Row from '../Row/Row';\nimport '../List.scss';\n\nclass DirectoryList extends Component {\n constructor(props) {\n super(props);\n this.state = {\n orderType: \"descending\",\n sortingType: \"Type\",\n itemsSelected: [],\n listingItems: [],\n cursor: 0\n };\n }\n\n static propTypes = {\n changePathAfterToggle: PropTypes.func,\n openCertainDirectory: PropTypes.func,\n openDirectory: PropTypes.func,\n passSelection: PropTypes.func,\n modalVisible: PropTypes.bool,\n changePath: PropTypes.func,\n addToPath: PropTypes.func,\n history: PropTypes.object,\n isActive: PropTypes.bool,\n cursor: PropTypes.number,\n passData: PropTypes.func,\n download: PropTypes.func,\n moveBack: PropTypes.func,\n onClick: PropTypes.func,\n loading: PropTypes.bool,\n path: PropTypes.string,\n list: PropTypes.string,\n data: PropTypes.array\n }\n\n UNSAFE_componentWillMount = () => {\n if (localStorage.getItem(`${this.props.list}Sorting`) && localStorage.getItem(`${this.props.list}Order`)) {\n this.setState({ sortingType: localStorage.getItem(`${this.props.list}Sorting`), orderType: localStorage.getItem(`${this.props.list}Order`) });\n }\n }\n\n componentDidMount = () => {\n document.addEventListener(\"keydown\", this.handleLiSelection);\n document.addEventListener(\"keydown\", this.moveBackOnButton);\n }\n\n componentWillUnmount = () => {\n document.removeEventListener(\"keydown\", this.handleLiSelection);\n document.removeEventListener(\"keydown\", this.moveBackOnButton);\n }\n\n cacheSorting = () => {\n localStorage.setItem(`${this.props.list}Sorting`, this.state.sortingType);\n localStorage.setItem(`${this.props.list}Order`, this.state.orderType);\n }\n\n moveBackOnButton = (e) => {\n if (e.keyCode === 8 && !this.props.modalVisible && this.props.isActive) {\n this.moveBack();\n }\n }\n\n moveBack = () => {\n if (this.isHomeDirectory()) {\n return;\n }\n\n this.props.moveBack();\n }\n\n isHomeDirectory = () => {\n return this.props.path === this.props.rootDir;\n }\n\n toggleActiveList = () => {\n const { history, path, list, onClick, changePathAfterToggle, isActive } = this.props;\n\n if (!isActive) {\n onClick(list);\n changePathAfterToggle(path);\n history.push({\n pathname: '/list/directory/',\n search: `?path=${path}`\n });\n this.cacheActiveWindowAndPaths();\n this.passData();\n }\n }\n\n cacheActiveWindowAndPaths = () => {\n localStorage.setItem(\"activeWindow\", this.props.list);\n localStorage.setItem(`${this.props.list}ListPath`, this.props.path);\n localStorage.setItem(`${this.props.list}ListPath`, this.props.path);\n }\n\n isSelected = (i) => {\n return this.state.itemsSelected.indexOf(i) !== -1;\n }\n\n addToSelection(i) {\n const { itemsSelected } = this.state;\n const result = [...itemsSelected];\n const duplicate = itemsSelected.indexOf(i);\n if (duplicate !== -1) {\n result.splice(duplicate, 1);\n } else {\n if (i === \"\") {\n return;\n }\n\n result.push(i)\n }\n\n this.setState({ itemsSelected: result });\n this.props.passSelection(result);\n }\n\n handleLiSelection = (e) => {\n const { isActive, modalVisible, changePath, path } = this.props;\n const { cursor } = this.state;\n const { listing } = this.getDataBySortingType()\n\n if (!isActive || modalVisible) {\n return;\n }\n\n if (e.keyCode === 40) {\n if (cursor === listing.length - 1) {\n return;\n }\n\n if (e.shiftKey) { \n let name = listing[cursor].name;\n this.addToSelection(name);\n }\n\n this.setState({ cursor: cursor + 1 });\n this.passData();\n changePath(path);\n }\n\n if (e.keyCode === 38) {\n if (cursor === 0) {\n return;\n }\n\n if (e.shiftKey) {\n let name = listing[cursor - 1].name;\n this.addToSelection(name);\n }\n\n this.setState({ cursor: cursor - 1 });\n this.passData();\n changePath(path);\n }\n }\n\n resetData = () => {\n this.setState({ cursor: 0, itemsSelected: [] });\n }\n\n passData = () => {\n const { passData: passDataToParent } = this.props;\n const { firstItem, listing } = this.getDataBySortingType()\n if (this.state.cursor === 0) {\n const { name, permissions, type } = firstItem;\n passDataToParent(this.state.cursor, name, permissions, type);\n } else {\n const { name, permissions, type } = listing[this.state.cursor - 1];\n passDataToParent(this.state.cursor, name, permissions, type);\n }\n }\n\n openDirectory = (name) => {\n const { history, path, addToPath, openDirectory } = this.props;\n\n history.push({\n pathname: '/list/directory/',\n search: `?path=${path}/${name}`\n });\n addToPath(name);\n openDirectory();\n this.setState({ cursor: 0 });\n }\n\n openCertainDirectory = (path) => {\n const { history, openCertainDirectory, changePath } = this.props;\n\n if (this.isHomeDirectory()) {\n return;\n }\n\n history.push({\n pathname: '/list/directory/',\n search: `?path=${path}`\n });\n changePath(path);\n openCertainDirectory();\n }\n\n changeSorting = (sortingType, orderType) => {\n this.setState({ sortingType, orderType }, () => this.cacheSorting());\n }\n\n sortByType = (a, b) => {\n if (this.state.orderType === \"descending\" && a.name !== \"\") {\n return a.type.localeCompare(b.type);\n } else if (this.state.orderType === \"ascending\" && b.name !== \"\") {\n return b.type.localeCompare(a.type);\n }\n }\n\n sortBySize = (a, b) => {\n if (this.state.orderType === \"descending\" && a.name !== \"\") {\n return a.size - b.size;\n } else if (this.state.orderType === \"ascending\" && b.name !== \"\") {\n return b.size - a.size;\n }\n }\n\n sortByDate = (a, b) => {\n if (this.state.orderType === \"descending\" && a.name !== \"\") {\n return new Date(a.date) - new Date(b.date);\n } else if (this.state.orderType === \"ascending\" && a.name !== \"\") {\n return new Date(b.date) - new Date(a.date);\n }\n }\n\n sortByName = (a, b) => {\n if (this.state.orderType === \"descending\" && a.name !== \"\") {\n return a.name.localeCompare(b.name);\n } else if (this.state.orderType === \"ascending\" && b.name !== \"\") {\n return b.name.localeCompare(a.name);\n }\n }\n\n sortData = (a, b) => {\n switch (this.state.sortingType) {\n case \"Type\": return this.sortByType(a, b);\n case \"Size\": return this.sortBySize(a, b);\n case \"Date\": return this.sortByDate(a, b);\n case \"Name\": return this.sortByName(a, b);\n default: return this.sortByType(a, b);\n }\n }\n\n getDataBySortingType = () => {\n let firstItem, listing = [];\n this.props.data.listing.forEach(item => {\n if (item.name === '' && item.type === 'd') {\n firstItem = item\n } else {\n listing.push(item)\n }\n })\n if (this.state.sortingType !== 'Type') {\n listing = [\n ...listing.filter(item => item.type === 'd').sort((a, b) => this.sortByName(a, b)),\n ...listing.filter(item => item.type === 'f').sort((a, b) => this.sortData(a, b))\n ]\n } else {\n listing = listing.sort((a, b) => this.sortData(a, b))\n }\n return { firstItem, listing }\n }\n\n rows = () => {\n const { isActive, modalVisible, path, download } = this.props;\n const { cursor } = this.state;\n const { listing, firstItem } = this.getDataBySortingType()\n\n if (listing.length || firstItem) {\n return (\n <>\n {\n this.setState({ cursor });\n this.props.passData(cursor, name, permissions, type);\n }}\n openDirectory={this.moveBack}\n modalVisible={modalVisible}\n activeRow={0 === cursor}\n isActiveList={isActive}\n cursor={0}\n data={firstItem}\n path={path} />\n {\n listing.map((item, key) => (\n {\n this.setState({ cursor });\n this.props.passData(cursor, name, permissions, type);\n }}\n selectMultiple={() => this.addToSelection(item.name)}\n selected={this.isSelected(item.name)}\n openDirectory={this.openDirectory}\n modalVisible={modalVisible}\n activeRow={key + 1 === cursor}\n isActiveList={isActive}\n download={download}\n cursor={key + 1}\n data={item}\n path={path} />\n ))\n }\n \n );\n }\n }\n\n render() {\n const { isActive, path, loading } = this.props;\n return (\n
    \n \n
    \n
      \n {loading && isActive ? : this.rows()}\n
    \n
    \n
    \n );\n }\n}\n\nexport default DirectoryList;\n","import React from 'react';\nimport './ProgressBar.scss';\n\nconst ProgressBar = (props) => {\n return (\n
    \n
    \n
    \n );\n}\n\nexport default ProgressBar;\n","import React, { useEffect } from 'react';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { useSelector } from 'react-redux';\nimport './Hotkeys.scss';\n\nconst Hotkeys = props => {\n const { i18n } = useSelector(state => state.session);\n\n useEffect(() => {\n window.addEventListener(\"keyup\", toggleShortcutsLit);\n\n return () => window.removeEventListener(\"keyup\", toggleShortcutsLit);\n }, [props.reference]);\n\n const toggleShortcutsLit = event => {\n let isSearchInputFocused = document.querySelector('input:focus') || document.querySelector('textarea:focus');\n\n if (event.keyCode === 72 && !isSearchInputFocused) {\n props.toggleHotkeys();\n }\n }\n\n return (\n
    \n
    \n
    {i18n.Shortcuts}
    \n
    props.toggleHotkeys()}>
    \n
    \n
    \n
      \n
    • \n u\n {i18n['Upload']}\n
    • \n
    • \n n\n {i18n['New File']}\n
    • \n
    • \n F6\n {i18n['New Folder']}\n
    • \n
    • \n d\n {i18n['Download']}\n
    • \n
    • \n F2 / Shift + F6\n {i18n['Rename']}\n
    • \n
    • \n m\n {i18n['Move']}\n
    • \n
    • \n F5\n {i18n['Copy']}\n
    • \n
    • \n F8 / Del\n {i18n['Delete']}\n
    • \n
    • \n F2\n {i18n['Save File (in text editor)']}\n
    • \n
    • \n h\n {i18n['Display/Close shortcuts']}\n
    • \n
    • \n Esc\n {i18n['Close Popup / Cancel']}\n
    • \n
    • \n F10\n {i18n['Close Preview / Editor']}\n
    • \n
    \n
      \n
    • \n \n {i18n['Move Cursor Up']}\n
    • \n
    • \n \n {i18n['Move Cursor Down']}\n
    • \n
    • \n \n {i18n['Switch to Left Tab']}\n
    • \n
    • \n \n {i18n['Switch to Right Tab']}\n
    • \n
    • \n a\n {i18n['Archive']}\n
    • \n
    • \n Enter\n {i18n['Open File / Enter Directory']}\n
    • \n
    • \n F3\n {i18n['Edit File']}\n
    • \n
    • \n Backspace\n {i18n['Go to Parent Directory']}\n
    • \n
    • \n Ctr + Click\n {i18n['Add File to the Current Selection']}\n
    • \n
    • \n Shift + Cursor up/down\n {i18n['Select Bunch of Files']}\n
    • \n
    \n
    \n
    \n );\n}\n\nexport default Hotkeys;\n","import React, { useState } from 'react';\nimport { useSelector } from 'react-redux';\n\nconst AddFile = (props) => {\n const [value, setValue] = useState(null)\n const { i18n } = useSelector(state => state.session);\n const [hasError, setHasError] = useState(value !== null && !value.length)\n\n const onChange = (e) => {\n setValue(e.target.value)\n }\n\n const save = () => {\n if (!value) {\n setHasError(true)\n return;\n }\n props.save()\n }\n\n const cancel = () => {\n props.close()\n }\n\n return (\n
    \n
    \n

    {i18n['Create file']}

    \n
    \n
    \n \n {hasError && {i18n['File name cannot be empty']}}\n
    \n
    \n \n \n
    \n
    \n );\n}\n\nexport default AddFile;","import React, { useState } from 'react';\nimport { useSelector } from 'react-redux';\n\n\nconst AddDirectory = (props) => {\n const [value, setValue] = useState(null)\n const { i18n } = useSelector(state => state.session);\n const [hasError, setHasError] = useState(value !== null && !value.length)\n\n const onChange = (e) => {\n setValue(e.target.value)\n }\n\n const save = () => {\n if (!value) {\n setHasError(true)\n return;\n }\n props.save()\n }\n\n const cancel = () => {\n props.close()\n }\n\n return (\n
    \n
    \n

    {i18n['Create directory']}

    \n
    \n
    \n \n {hasError && {i18n['Directory name cannot be empty']}}\n
    \n
    \n \n \n
    \n
    \n );\n}\n\nexport default AddDirectory;","import React from 'react';\nimport { useSelector } from 'react-redux';\n\nconst Rename = (props) => {\n const { i18n } = useSelector(state => state.session);\n\n return (\n
    \n
    \n

    {i18n['Rename']} "{props.fName}"

    \n
    \n
    \n \n
    \n
    \n \n \n
    \n
    \n );\n}\n\nexport default Rename;","import React from 'react';\nimport { useSelector } from 'react-redux';\n\nconst Delete = (props) => {\n const { i18n } = useSelector(state => state.session);\n\n return (\n
    \n
    \n {props.items > 0 ?\n

    {i18n['Delete items']} ({props.items}) ?

    :\n

    {i18n['Are you sure you want to delete']} "{props.fName}"?

    }\n
    \n
    \n \n \n
    \n
    \n );\n}\n\nexport default Delete;","import React from 'react';\nimport { useSelector } from 'react-redux';\n\nconst NothingSelected = (props) => {\n const { i18n } = useSelector(state => state.session);\n\n return (\n
    \n
    \n {props.notAvailable ?

    {i18n['Directory download not available in current version']}

    :

    {i18n['No file selected']}

    }\n
    \n
    \n \n
    \n
    \n );\n}\n\nexport default NothingSelected;","import React, { Component } from 'react';\nimport classNames from 'classname';\nimport { connect } from 'react-redux';\n\nconst defaultPermissions = {\n owner: {\n read: 0,\n write: 0,\n execute: 0,\n },\n group: {\n read: 0,\n write: 0,\n execute: 0,\n },\n others: {\n read: 0,\n write: 0,\n execute: 0,\n },\n}\n\nclass Permissions extends Component {\n constructor(props) {\n super(props);\n this.state = {\n permissions: this.decode(this.props.permissions) || defaultPermissions,\n inputInvalid: false,\n }\n }\n\n inArray(number, array) {\n return !!~array.indexOf(number);\n }\n\n decodeSingleNumber = (string) => {\n const number = parseInt(string, 0);\n\n return {\n read: this.inArray(number, [4, 5, 6, 7]) ? 4 : 0,\n write: this.inArray(number, [2, 3, 6, 7]) ? 2 : 0,\n execute: this.inArray(number, [1, 3, 5, 7]) ? 1 : 0\n };\n }\n\n isValid(numbers = '') {\n if (numbers.length !== 3 || numbers === '000' || numbers.match(/[A-Za-z]/)) {\n return false;\n }\n\n return numbers.split('').find((number) => parseInt(number, 0) < 0 || parseInt(number, 0) > 7) === undefined;\n }\n\n decode(numbers) {\n if (!this.isValid(numbers)) {\n return null;\n }\n\n const numbersArray = numbers.split('');\n const result = numbersArray.map(this.decodeSingleNumber);\n return { owner: result[0], group: result[1], others: result[2] };\n }\n\n encode() {\n function sumPermissions(permissionObject) {\n return Object.values(permissionObject).map((number) => parseInt(number, 0)).reduce((acc, n) => acc + n, 0);\n }\n return ['owner', 'group', 'others'].reduce((acc, role) => {\n const roleObject = this.state.permissions[role];\n return acc + sumPermissions(roleObject);\n }, '');\n }\n\n onChangeForm = (event) => {\n const checkbox = event.target;\n const [role, permissionName] = checkbox.name.split('_');\n this.setState({\n permissions: {\n ...this.state.permissions,\n [role]: {\n ...this.state.permissions[role],\n [permissionName]: checkbox.checked ? checkbox.value : 0,\n }\n }\n }, (state) => {\n this.inputRef.value = this.encode();\n this.props.changePermissions(this.inputRef.value);\n });\n }\n\n handleInputChange = (event) => {\n const value = event.target.value;\n if (!this.isValid(value)) {\n return this.setState({ inputInvalid: true });\n }\n\n this.setState({\n permissions: this.decode(value),\n inputInvalid: false,\n });\n this.props.changePermissions(this.inputRef.value);\n }\n\n render() {\n const { i18n } = this.props.session;\n const { inputInvalid } = this.state;\n const { close, save, fName } = this.props;\n const inputClasses = classNames({\n 'form-control total': true,\n 'error': inputInvalid,\n });\n\n return (\n
    \n
    \n

    {i18n['Change Rights']} "{fName}"

    \n
    \n
    \n
    \n \n \n \n
    \n
    \n \n \n \n
    \n
    \n \n \n \n
    \n
    \n this.inputRef = ref} onChange={this.handleInputChange} maxLength=\"3\" />\n
    \n \n \n
    \n
    \n );\n }\n}\n\nfunction mapStateToProps(state) {\n return {\n session: state.session\n }\n}\n\nexport default connect(mapStateToProps)(Permissions);\n","import React from 'react';\nimport { useSelector } from 'react-redux';\n\nconst Move = (props) => {\n const { i18n } = useSelector(state => state.session);\n\n return (\n
    \n
    \n {props.items > 0 ?\n

    {i18n['Move files']} ({props.items}) {i18n['into']}:

    :\n

    {i18n['Move']} "{props.fName}" {i18n['into']}:

    }\n
    \n
    \n \n
    \n
    \n \n \n
    \n
    \n );\n}\n\nexport default Move;","import React from 'react';\nimport { useSelector } from 'react-redux';\n\nconst Archive = (props) => {\n const { i18n } = useSelector(state => state.session);\n\n return (\n
    \n
    \n {props.items > 0 ?\n

    {i18n.Compress} ({props.items})?

    :\n

    {i18n.Compress} "{props.fName}"?

    }\n
    \n
    \n \n
    \n
    \n \n \n
    \n
    \n );\n}\n\nexport default Archive;","import React from 'react';\nimport { useSelector } from 'react-redux';\n\nconst Extract = (props) => {\n const { i18n } = useSelector(state => state.session);\n\n return (\n
    \n
    \n

    {i18n['Extract']} "{props.fName}"{i18n['into']}

    \n
    \n
    \n \n
    \n
    \n \n \n
    \n
    \n );\n}\n\nexport default Extract;","import React from 'react';\nimport { useSelector } from 'react-redux';\n\nconst Copy = (props) => {\n const { i18n } = useSelector(state => state.session);\n\n return (\n
    \n
    \n {props.items > 0 ?\n

    {i18n['Copy files']} ({props.items}) {i18n['into']}:

    :\n

    {i18n['Copy']} "{props.fName}" {i18n['into']}:

    }\n
    \n
    \n \n
    \n
    \n \n \n
    \n
    \n );\n}\n\nexport default Copy;","import React from 'react';\n\nconst Replace = (props) => {\n return (\n
    \n
    \n {props.files.length > 1 ?\n

    These files already exist

    \n {props.files.map(item =>\n "{item.name}" \n )}\n
    :\n

    This file already exists

    \n "{props.files[0].name}"\n
    \n }\n
    \n
    \n \n \n
    \n
    \n );\n}\n\nexport default Replace;","import React, { useEffect } from 'react';\nimport AddFile from './AddFile';\nimport AddDirectory from './AddDirectory';\nimport Rename from './Rename';\nimport Delete from './Delete';\nimport NothingSelected from './NothingSelected';\nimport Permissions from './Permissions';\nimport Move from './Move';\nimport Archive from './Archive';\nimport Extract from './Extract';\nimport Copy from './Copy';\nimport Replace from './Replace';\nimport './Modal.scss';\n\nconst Modal = (props) => {\n useEffect(() => {\n window.addEventListener(\"click\", closeOutside);\n document.addEventListener(\"keydown\", hotkeys);\n\n return () => {\n window.removeEventListener(\"click\", closeOutside);\n document.removeEventListener(\"keydown\", hotkeys);\n }\n }, [])\n\n const hotkeys = (e) => {\n if (e.keyCode === 27) {\n closeModal();\n } else if (e.keyCode === 13) {\n saveAndClose();\n }\n }\n\n const saveAndClose = () => {\n props.onClick();\n props.onClose();\n }\n\n const changePermissions = (permissions) => {\n props.onChangePermissions(permissions);\n }\n\n const replace = (file) => {\n props.onClick(file);\n props.onClose();\n }\n\n const onChange = (e) => {\n props.onChangeValue(e.target.value);\n }\n\n const closeModal = () => {\n props.onClose();\n }\n\n const closeOutside = (e) => {\n let modal = document.getElementById(\"modal\");\n if (e.target === modal) {\n props.onClose();\n }\n }\n\n const content = () => {\n const { type, reference, fName, permissions, items, path, files, notAvailable } = props;\n switch (type) {\n case 'Copy': return ;\n case 'Move': return ;\n case 'Permissions': return ;\n case 'Extract': return ;\n case 'Archive': return ;\n case 'Rename': return ;\n case 'Add directory': return ;\n case 'Delete': return ;\n case 'Add file': return ;\n case 'Replace': return replace(files)} files={files} />\n case 'Nothing selected': return ;\n default:\n break;\n }\n }\n\n return (\n
    \n
    \n {content()}\n
    \n
    \n );\n}\n\nexport default Modal;","import React, { useCallback, useEffect, useRef } from 'react'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport './Menu.scss'\nimport { useSelector } from 'react-redux'\nimport { Link } from 'react-router-dom'\n\nconst Menu = (props) => {\n const { i18n } = useSelector((state) => state.session)\n const inputFile = useRef()\n\n const handleUserKeyDown = useCallback((event) => hotKeys(event), [props])\n\n useEffect(() => {\n document.addEventListener('keydown', handleUserKeyDown)\n return () => document.removeEventListener('keydown', handleUserKeyDown)\n }, [handleUserKeyDown])\n\n const newFile = () => {\n props.openModal('Add file')\n }\n\n const newDirectory = () => {\n props.openModal('Add directory')\n }\n\n const deleteFile = () => {\n const { selection, openModal, cursor } = props\n if (selection.length === 0) {\n if (cursor === 0) {\n openModal('Nothing selected')\n } else {\n openModal('Delete')\n }\n } else {\n openModal('Delete', selection.length)\n }\n }\n\n const rename = () => {\n console.log(props)\n if (props.cursor === 0) {\n props.openModal('Nothing selected')\n } else {\n props.openModal('Rename')\n }\n }\n\n const permissions = () => {\n if (props.cursor === 0) {\n props.openModal('Nothing selected')\n } else {\n props.openModal('Permissions')\n }\n }\n\n const move = () => {\n const { selection, openModal, cursor } = props\n if (selection.length === 0) {\n if (cursor === 0) {\n openModal('Nothing selected')\n } else {\n openModal('Move')\n }\n } else {\n openModal('Move', selection.length)\n }\n }\n\n const archive = () => {\n const { selection, openModal, cursor } = props\n\n if (selection.length === 0) {\n if (cursor === 0) {\n openModal('Nothing selected')\n } else {\n openModal('Archive')\n }\n } else {\n openModal('Archive', selection.length)\n }\n }\n\n const extract = () => {\n if (props.cursor === 0) {\n props.openModal('Nothing selected')\n } else {\n props.openModal('Extract')\n }\n }\n\n const copy = () => {\n const { selection, openModal, cursor } = props\n if (selection.length === 0) {\n if (cursor === 0) {\n openModal('Nothing selected')\n } else {\n openModal('Copy')\n }\n } else {\n openModal('Copy', selection.length)\n }\n }\n\n const upload = (e) => {\n if (e.target.files.length === 0) {\n return\n }\n\n props.upload(e.target.files)\n }\n\n const download = () => {\n if (props.cursor === 0) {\n props.openModal('Nothing selected')\n } else if (props.itemType === 'd') {\n props.openModal('Nothing selected', null, true)\n } else {\n props.download()\n }\n }\n\n const hotKeys = (e) => {\n e.stopPropagation()\n let isSearchInputFocused = document.querySelector('input:focus') || document.querySelector('textarea:focus')\n if (props.modalVisible || isSearchInputFocused) return\n if (e.shiftKey && e.keyCode === 118) {\n e.preventDefault()\n rename()\n return\n }\n\n switch (e.keyCode) {\n // u\n case 85:\n e.preventDefault();\n return inputFile.current.click()\n // n\n case 78:\n e.preventDefault()\n return newFile()\n // F6\n case 118:\n e.preventDefault()\n return newDirectory()\n // d\n case 68:\n e.preventDefault()\n return download()\n // F2\n case 113:\n e.preventDefault()\n return rename()\n // m\n case 77:\n e.preventDefault()\n return move()\n // F4\n case 115:\n e.preventDefault()\n return copy()\n // a\n case 65:\n e.preventDefault()\n return archive()\n // F8\n case 119:\n e.preventDefault()\n return deleteFile()\n // Del\n case 46:\n e.preventDefault()\n return deleteFile()\n // F3\n case 114:\n e.preventDefault()\n return permissions()\n default:\n break\n }\n }\n\n let matchArchive = props.name.match(/.zip|.tgz|.tar.gz|.gzip|.tbz|.tar.bz|.gz|.zip|.tar|.rar/g)\n\n return (\n
    \n
    \n \n \"Logo\"\n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {matchArchive ? null : (\n \n )}\n {matchArchive ? null : (\n \n )}\n {matchArchive ? (\n \n ) : null}\n {matchArchive ? (\n \n ) : null}\n \n \n
    \n
    \n )\n}\n\nexport default Menu\n","import axios from \"axios\";\nimport QueryString from \"qs\";\nconst server = window.location.origin + \"/file_manager/fm_api.php?\";\n\nexport function validateAction(url) {\n return axios.get(url);\n}\n\nexport function cacheData(currentUser, history, rootDir) {\n const parsedQueryString = QueryString.parse(history.location.search, { ignoreQueryPrefix: true });\n\n if (parsedQueryString.path) {\n localStorage.setItem(\"activeWindow\", \"left\");\n localStorage.setItem(\"leftListPath\", parsedQueryString.path);\n localStorage.setItem(\"rightListPath\", parsedQueryString.path);\n return;\n }\n\n if (localStorage.getItem(\"lastUser\") === null || currentUser !== localStorage.getItem(\"lastUser\")) {\n localStorage.setItem(\"lastUser\", currentUser);\n localStorage.setItem(\"activeWindow\", \"left\");\n localStorage.setItem(\"leftListPath\", rootDir);\n localStorage.setItem(\"rightListPath\", rootDir);\n return;\n }\n\n if (localStorage.getItem(\"activeWindow\") === null || localStorage.getItem(\"leftListPath\") === null || localStorage.getItem(\"rightListPath\") === null) {\n let path = history.location.search.substring(6).split('/');\n localStorage.setItem(\"activeWindow\", \"left\");\n localStorage.setItem(\"leftListPath\", path);\n localStorage.setItem(\"rightListPath\", rootDir);\n return;\n }\n}\n\nexport function changeDirectoryOnLoading(server, list) {\n return axios.get(`${server}dir=${encodePath(localStorage.getItem(list))}&action=cd`);\n}\n\nexport function changeDirectory(server, path) {\n return axios.get(`${server}dir=${encodePath(path)}&action=cd`);\n}\n\nexport function getData(path) {\n return axios.get(`${server}dir=%2F${path}&action=cd`);\n}\n\nexport function checkExistingFileName(selectedFiles, activeWindow, leftListData, rightListData) {\n let selectedFileNames = [];\n let existingFileNames = [];\n let newFiles = [];\n\n for (let i = 0; i < selectedFiles.length; i++) {\n selectedFileNames.push(selectedFiles[i]);\n }\n\n if (activeWindow === \"left\") {\n for (let i = 0; i < selectedFileNames.length; i++) {\n if (leftListData.map((item) => { return item.name }).includes(selectedFileNames[i].name)) {\n existingFileNames.push(selectedFileNames[i]);\n } else {\n newFiles.push(selectedFileNames[i]);\n }\n }\n } else {\n for (let i = 0; i < selectedFileNames.length; i++) {\n if (rightListData.map((item) => { return item.name }).includes(selectedFileNames[i].name)) {\n existingFileNames.push(selectedFileNames[i]);\n } else {\n newFiles.push(selectedFileNames[i]);\n }\n }\n }\n\n return { existingFileNames, newFiles };\n}\n\nexport function encodePath(path) {\n let splitPath = path.split('/');\n let encodedPath = splitPath.join('%2F');\n return encodedPath;\n}\n\nexport function activeWindowPath() {\n if (localStorage.getItem(\"activeWindow\") === \"left\") {\n let currentPath = localStorage.getItem(\"leftListPath\");\n return currentPath;\n } else if (localStorage.getItem(\"activeWindow\") === \"right\") {\n let currentPath = localStorage.getItem(\"rightListPath\");\n return currentPath;\n }\n}\n\nexport function deleteItems(url, path, selection) {\n if (!selection.length) {\n return false;\n }\n\n const promisesArray = selection.map(item =>\n validateAction(`${url}item=${path}%2F${item}&dir=${path}&action=delete_files`)\n .then(() => { })\n );\n\n return Promise.all(promisesArray);\n}\n\nexport function moveItems(url, path, targetPath, selection) {\n if (!selection.length) {\n return false;\n }\n\n const promisesArray = selection.map(item =>\n validateAction(`${url}item=${path}%2F${item}&target_name=${targetPath}&action=move_file`)\n .then(() => { })\n );\n\n return Promise.all(promisesArray);\n}\n\nexport function copyItems(url, path, targetPath, selection) {\n if (!selection.length) {\n return false;\n }\n\n const promisesArray = selection.map(item =>\n validateAction(`${url}item=${path}%2F${item}&filename=${item}&dir=${path}&dir_target=${targetPath}&action=copy_file`)\n .then(() => { })\n );\n\n return Promise.all(promisesArray);\n}","import React, { Component } from 'react';\nimport DirectoryList from '../../components/Lists/DirectoryList/DirectoryList';\nimport ProgressBar from '../../components/ProgressBar/ProgressBar';\nimport { toast, ToastContainer } from 'react-toastify';\nimport Hotkeys from '../../components/Hotkeys/Hotkeys';\nimport Modal from '../../components/Modal/Modal';\nimport 'react-toastify/dist/ReactToastify.css';\nimport { withRouter } from 'react-router-dom';\nimport Menu from '../../components/Menu/Menu';\nimport * as FM from '../../FileManagerHelper';\nimport axios from 'axios';\nimport { Helmet } from 'react-helmet';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport 'src/containers/App/App.scss';\nimport { connect } from 'react-redux';\n\nconst server = window.location.origin + \"/file_manager/fm_api.php?\";\nclass FileManager extends Component {\n constructor(props) {\n super(props);\n this.state = {\n leftList: {\n path: '',\n files: { listing: [] },\n },\n rightList: {\n path: '',\n files: { listing: [] },\n },\n currentPath: '',\n currentUser: '',\n activeWindow: \"left\",\n modalWindow: null,\n modalVisible: false,\n cursor: 0,\n itemName: \"\",\n itemPermissions: \"\",\n itemType: \"\",\n itemsSelected: [],\n modalInputValue: \"\",\n uploadPercent: \"0\",\n loading: false\n }\n }\n\n UNSAFE_componentWillMount = () => {\n if (!this.props.session.userName) return this.props.history.push('/login');\n\n FM.cacheData(this.state.currentUser, this.props.history, this.props.menuCounters.user.HOME);\n let currentPath = FM.activeWindowPath();\n this.setState({\n currentPath,\n currentUser: this.props.menuCounters.user.HOME,\n leftList: { ...this.state.leftList, path: this.props.menuCounters.user.HOME },\n rightList: { ...this.state.rightList, path: this.props.menuCounters.user.HOME }\n });\n this.changeDirectoryOnLoading();\n }\n\n componentDidMount = () => {\n window.addEventListener(\"keydown\", this.switchActiveList);\n window.addEventListener(\"keydown\", this.toggleActiveListOnTab);\n document.addEventListener(\"keydown\", this.hotkeysListener);\n\n if (localStorage.getItem('activeWindow')) {\n this.setState({ activeWindow: localStorage.getItem('activeWindow') });\n }\n }\n\n componentWillUnmount = () => {\n window.removeEventListener(\"keydown\", this.switchActiveList);\n window.removeEventListener(\"keydown\", this.toggleActiveListOnTab);\n document.removeEventListener(\"keydown\", this.hotkeysListener);\n }\n\n cachePaths = () => {\n localStorage.setItem('activeWindow', this.state.activeWindow);\n localStorage.setItem('leftListPath', this.state.leftList.path);\n localStorage.setItem('rightListPath', this.state.rightList.path);\n }\n\n setStateAsync = updater => new Promise(resolve => this.setState(updater, resolve));\n\n changeDirectoryOnLoading = async () => {\n ['leftList', 'rightList'].map(async (side) => {\n const result = await FM.changeDirectoryOnLoading(server, `${side}Path`);\n let path = localStorage.getItem(`${side}Path`);\n let listing = result.data.listing;\n await this.setStateAsync({ [side]: { files: { listing }, path } });\n });\n\n await this.setStateAsync({ loading: false });\n }\n\n changeDirectory = () => {\n const { leftList, rightList } = this.state;\n Promise.all([FM.changeDirectory(server, leftList.path), FM.changeDirectory(server, rightList.path)])\n .then(result => {\n const [leftListResponse, rightListResponse] = result;\n let leftListing = leftListResponse.data.listing;\n let rightListing = rightListResponse.data.listing;\n\n this.setState({ leftList: { ...leftList, files: { listing: leftListing } }, rightList: { ...rightList, files: { listing: rightListing } }, loading: false });\n\n this.leftList.resetData();\n this.rightList.resetData();\n });\n }\n\n toggleActiveListOnTab = (e) => {\n const { activeWindow, rightList, leftList, currentPath } = this.state;\n\n if (this.state.modalVisible) {\n return;\n }\n\n if (e.keyCode === 9) {\n e.preventDefault();\n if (activeWindow === \"left\") {\n this.setState({ activeWindow: \"right\", currentPath: rightList.path });\n this.rightList.passData();\n } else {\n this.setState({ activeWindow: \"left\", currentPath: leftList.path });\n this.leftList.passData();\n }\n this.changeQuery(currentPath);\n this.cachePaths();\n }\n }\n\n passSelection = (itemsSelected) => {\n this.setState({ itemsSelected });\n }\n\n toggleActiveList = (list) => {\n this.setState({ activeWindow: list });\n }\n\n switchActiveList = (e) => {\n if (this.state.modalVisible) {\n return;\n }\n\n if (e.keyCode === 39) {\n this.setState({ activeWindow: \"right\", currentPath: this.state.rightList.path });\n this.changeQuery(this.state.currentPath);\n this.rightList.passData();\n this.cachePaths();\n } else if (e.keyCode === 37) {\n this.setState({ activeWindow: \"left\", currentPath: this.state.leftList.path });\n this.changeQuery(this.state.currentPath);\n this.leftList.passData();\n this.cachePaths();\n }\n }\n\n validateAction = async (url) => {\n await this.setStateAsync({ loading: true });\n let response = await FM.validateAction(url);\n if (response.data.result) {\n this.changeDirectory();\n } else {\n this.showError(response.data.message);\n }\n }\n\n showError = (error) => {\n toast.error(error, {\n position: \"top-center\",\n autoClose: 3000,\n hideProgressBar: false,\n closeOnClick: true,\n pauseOnHover: true,\n draggable: true\n });\n this.setState({ loading: false });\n }\n\n download = () => {\n const { cursor, currentPath, itemName } = this.state;\n\n if (cursor !== 0) {\n window.open('/api/v1/download/file/?path=' + currentPath + '/' + itemName);\n }\n }\n\n checkExistingFileName = (selectedFiles) => {\n const { activeWindow, leftList, rightList } = this.state;\n const { existingFileNames, newFiles } = FM.checkExistingFileName(selectedFiles, activeWindow, leftList.files.listing, rightList.files.listing);\n\n if (existingFileNames.length !== 0) {\n this.modal(\"Replace\", existingFileNames);\n this.upload(newFiles);\n } else {\n this.upload(selectedFiles);\n }\n }\n\n replaceFiles = (selectedFiles) => {\n for (let i = 0; i < selectedFiles.length; i++) {\n this.validateAction(`${server}item=${FM.encodePath(this.state.currentPath)}%2F${selectedFiles[i].name}&dir=${FM.encodePath(this.state.currentPath)}&action=delete_files`);\n }\n\n this.upload(selectedFiles);\n }\n\n upload = (selectedFiles) => {\n const formData = new FormData();\n\n if (selectedFiles.length === 0) {\n return;\n }\n\n for (let i = 0; i < selectedFiles.length; i++) {\n formData.append('files[]', selectedFiles[i], selectedFiles[i].name);\n }\n\n this.setState({ loading: true }, () => {\n axios.post(`${window.location.origin}/api/v1/upload/?dir=${this.state.currentPath}`, formData, {\n onUploadProgress: progressEvent => {\n let uploadPercent = Math.round(progressEvent.loaded / progressEvent.total * 100);\n this.setState({ uploadPercent });\n }\n }).then(() => {\n this.setState({ uploadPercent: \"0\" });\n this.changeDirectory();\n })\n });\n }\n\n onDelete = async () => {\n const { itemsSelected, itemName, currentPath } = this.state;\n if (itemsSelected.length > 0) {\n await this.setStateAsync({ loading: true });\n await FM.deleteItems(server, FM.encodePath(currentPath), itemsSelected);\n await this.setStateAsync({ itemsSelected: [] });\n this.changeDirectory();\n } else {\n this.validateAction(`${server}item=${FM.encodePath(currentPath)}%2F${itemName}&dir=${FM.encodePath(currentPath)}&action=delete_files`);\n }\n }\n\n newFile = () => {\n let name = this.inputElement.value;\n this.validateAction(`${server}filename=${name}&dir=${FM.encodePath(this.state.currentPath)}&action=create_file`);\n }\n\n newDir = () => {\n let name = this.inputElement.value;\n this.validateAction(`${server}dirname=${name}&dir=${FM.encodePath(this.state.currentPath)}&action=create_dir`);\n }\n\n onRename = () => {\n const { modalInputValue, itemType, itemName, currentPath } = this.state;\n let name = modalInputValue;\n if (itemType === \"f\") {\n this.validateAction(`${server}item=${itemName}&target_name=${name}&dir=${FM.encodePath(currentPath)}&action=rename_file`);\n } else if (itemType === \"d\") {\n this.validateAction(`${server}item=${itemName}&target_name=${name}&dir=${FM.encodePath(currentPath)}%2F&action=rename_directory`);\n }\n }\n\n onChangePermissions = () => {\n let permissions = this.state.modalInputValue;\n this.validateAction(`${server}dir=${FM.encodePath(this.state.currentPath)}%2F&item=${this.state.itemName}&permissions=${permissions}&action=chmod_item`);\n this.setState({ itemPermissions: permissions });\n }\n\n archiveItem = () => {\n let name = this.inputElement.value;\n\n if (this.state.itemsSelected.length > 0) {\n this.setState({ loading: true }, () => {\n let items = [];\n for (let i = 0; i < this.state.itemsSelected.length; i++) {\n let path = `${this.state.currentPath}/`;\n items.push(path += this.state.itemsSelected[i]);\n }\n this.validateAction(`${server}items=${items}&dst_item=${FM.encodePath(name)}&action=pack_item`);\n this.setState({ itemsSelected: [] });\n })\n } else {\n this.validateAction(`${server}items=${FM.encodePath(this.state.currentPath)}%2F${this.state.itemName}&dst_item=${FM.encodePath(name)}&action=pack_item`);\n }\n }\n\n extractItem = () => {\n let name = this.inputElement.value;\n this.validateAction(`${server}item=${FM.encodePath(this.state.currentPath)}%2F${this.state.itemName}&filename=${this.state.itemName}&dir=${FM.encodePath(this.state.currentPath)}&dir_target=${name}&action=unpack_item`);\n }\n\n moveItem = async () => {\n const { currentPath, itemsSelected, itemName } = this.state;\n let targetDir = this.inputElement.value;\n\n if (itemsSelected.length > 0) {\n await this.setStateAsync({ loading: true });\n await FM.moveItems(server, FM.encodePath(currentPath), targetDir, itemsSelected);\n await this.setStateAsync({ itemsSelected: [] });\n this.changeDirectory();\n } else {\n this.validateAction(`${server}item=${currentPath}%2F${itemName}&target_name=${targetDir}&action=move_file`);\n }\n }\n\n copyItem = async () => {\n const { currentPath, itemsSelected, itemName } = this.state;\n let targetDir = this.inputElement.value;\n\n if (itemsSelected.length > 0) {\n await this.setStateAsync({ loading: true });\n await FM.copyItems(server, FM.encodePath(currentPath), targetDir, itemsSelected);\n await this.setStateAsync({ itemsSelected: [] });\n this.changeDirectory();\n } else {\n this.validateAction(`${server}item=${currentPath}%2F${itemName}&filename=${itemName}&dir=${currentPath}&dir_target=${targetDir}&action=copy_file`);\n }\n }\n\n changeQuery = (path) => {\n this.props.history.push({\n pathname: '/list/directory/',\n search: `?path=${path}`\n });\n }\n\n openDirectory = () => {\n this.setState({ loading: true }, () => {\n this.changeDirectory();\n this.cachePaths();\n });\n }\n\n openCertainDirectory = () => {\n this.setState({ loading: true }, () => {\n this.changeDirectory();\n this.cachePaths();\n });\n }\n\n moveBack = () => {\n const { activeWindow } = this.state;\n\n let list = { ...this.state[`${activeWindow}List`] };\n list.path = list.path.substring(0, list.path.lastIndexOf('/'));\n this.setState({ [`${activeWindow}List`]: list, currentPath: list.path });\n this.props.history.push({ search: `?path=${list.path}` })\n this.openDirectory();\n }\n\n addToPath = (name) => {\n const { activeWindow } = this.state;\n\n let activeList = { ...this.state[`${activeWindow}List`] };\n let oldPath = activeList.path;\n activeList.path = `${oldPath}/${name}`;\n this.setState({ [`${activeWindow}List`]: activeList, currentPath: activeList.path });\n }\n\n changeInputValue = (modalInputValue) => {\n this.setState({ modalInputValue });\n }\n\n changePathAfterToggle = (currentPath) => {\n this.setState({ currentPath });\n }\n\n changePath = (currentPath) => {\n if (this.state.activeWindow === \"left\") {\n this.setState({ leftList: { files: { ...this.state.leftList.files }, path: currentPath }, currentPath });\n } else {\n this.setState({ rightList: { files: { ...this.state.rightList.files }, path: currentPath }, currentPath });\n }\n }\n\n passData = (cursor, itemName, itemPermissions, itemType) => {\n this.setState({ cursor, itemName, itemPermissions, itemType });\n }\n\n closeModal = () => {\n this.setState({ modalVisible: false });\n }\n\n hotkeysListener = (e) => {\n if (this.state.modalVisible) {\n return;\n }\n\n if (e.keyCode === 72) {\n this.hotkeys();\n }\n }\n\n hotkeys = () => {\n if (this.state.hotkeysPanel === \"inactive\") {\n this.setState({ hotkeysPanel: \"active\" });\n } else {\n this.setState({ hotkeysPanel: \"inactive\" });\n }\n }\n\n modal = (type, items, available) => {\n const { modalVisible, itemName, itemPermissions, currentPath } = this.state;\n switch (type) {\n case 'Copy': return this.setState({ modalWindow: this.inputElement = inp} />, modalVisible: true });\n case 'Move': return this.setState({ modalWindow: this.inputElement = inp} />, modalVisible: true });\n case 'Extract': return this.setState({ modalWindow: this.inputElement = inp} />, modalVisible: true });\n case 'Archive': return this.setState({ modalWindow: this.inputElement = inp} />, modalVisible: true });\n case 'Permissions': return this.setState({ modalWindow: , modalVisible: true });\n case 'Rename': return this.setState({ modalWindow: this.inputElement = inp} />, modalVisible: true });\n case 'Add directory': return this.setState({ modalWindow: this.inputElement = inp} />, modalVisible: true });\n case 'Add file': return this.setState({ modalWindow: this.inputElement = inp} />, modalVisible: true });\n case 'Delete': return this.setState({ modalWindow: , modalVisible: true });\n case 'Nothing selected': return this.setState({ modalWindow: , modalVisible: true });\n case \"Replace\": return this.setState({ modalWindow: this.replaceFiles(files)} onClose={this.closeModal} />, modalVisible: true });\n default:\n break;\n }\n }\n\n render() {\n const { activeWindow, modalWindow, modalVisible, itemsSelected, itemName, loading, uploadPercent, itemType } = this.state;\n return (\n
    \n \n {this.props.session.i18n['File Manager']}\n \n {uploadPercent !== \"0\" && }\n \n \n
    \n {this.props.session.userName && ['left', 'right'].map((side) =>\n this[`${side}List`] = el}\n download={this.download}\n moveBack={this.moveBack}\n path={this.state[`${side}List`].path}\n history={this.props.history}\n loading={loading}\n list={side} />\n )}\n
    \n
    \n \n
    \n
    \n this.hotkeysList = inp} toggleHotkeys={() => this.hotkeysList.classList.toggle('hide')} />\n
    \n {modalVisible && modalWindow}\n
    \n );\n }\n}\n\nfunction mapStateToProps(state) {\n return {\n session: state.session,\n menuCounters: state.menuCounters\n }\n}\n\nexport default connect(mapStateToProps)(withRouter(FileManager));\n","import React, { useEffect, useState } from 'react';\nimport CodeMirror from 'react-codemirror';\nimport './Editor.scss';\nimport 'codemirror/lib/codemirror.css';\nimport 'codemirror/mode/javascript/javascript';\nimport 'codemirror/mode/markdown/markdown';\nimport 'codemirror/mode/php/php';\nimport 'codemirror/mode/css/css';\nimport 'codemirror/mode/htmlmixed/htmlmixed';\nimport axios from 'axios';\nimport Spinner from '../../Spinner/Spinner';\nimport { useHistory } from 'react-router-dom';\nimport { toast, ToastContainer } from 'react-toastify';\nimport { useSelector } from 'react-redux';\n\nconst Editor = ({ close, name }) => {\n const { i18n } = useSelector(state => state.session);\n const history = useHistory();\n const [state, setState] = useState({\n code: '',\n loading: false\n });\n\n useEffect(() => {\n document.addEventListener(\"keydown\", hotKey);\n\n let path = `${history.location.search.substring(6, history.location.search.lastIndexOf('/'))}/${name}`;\n setState({ ...state, loading: true });\n\n checkFileType(path)\n .then(res => {\n if (res.data.result) {\n axios.get(`${window.location.origin}/api/v1/edit/file/?path=${encodePath(path)}`)\n .then(result => {\n if (result.data.error) {\n return showToast(res.data.error);\n }\n\n setState({ ...state, code: result.data.content, loading: false });\n })\n .catch(err => console.error(err));\n } else {\n console.error('Something went wrong with file type!');\n }\n })\n .catch(err => console.error(err));\n\n return () => {\n document.removeEventListener(\"keydown\", hotKey);\n }\n }, []);\n\n const checkFileType = path => {\n return axios.get(`${window.location.origin}/file_manager/fm_api.php?dir=${path}&action=check_file_type`);\n }\n\n const encodePath = path => {\n return path.split('/').join('%2F');\n }\n\n const hotKey = e => {\n if (e.keyCode === 113) {\n save();\n }\n }\n\n const save = () => {\n let formData = new FormData();\n let path = history.location.search.substring(6, history.location.search.lastIndexOf('/'));\n\n formData.append('save', 'Save');\n formData.append('contents', state.code);\n\n setState({ ...state, loading: true });\n axios.post(`${window.location.origin}/api/v1/edit/file/?path=${path}%2F${name}`, formData)\n .then(res => {\n if (res.data.error) {\n showToast(res.data.error);\n } else {\n showToast('Saved successfully!');\n }\n setState({ ...state, loading: false });\n })\n .catch(err => console.error(err));\n }\n\n const showToast = text => {\n toast.success(text, {\n position: \"top-center\",\n autoClose: 3000,\n hideProgressBar: false,\n closeOnClick: true,\n pauseOnHover: true,\n draggable: true\n });\n }\n\n const updateCode = newCode => {\n setState({ ...state, code: newCode });\n }\n\n const getModeFromFileName = () => {\n const fileExtension = name.split('.').pop();\n\n switch (fileExtension) {\n case 'js': return 'javascript';\n case 'jsx': return 'javascript';\n case 'php': return 'php';\n case 'css': return 'css';\n case 'scss': return 'css';\n case 'html': return 'htmlmixed';\n default: return 'markdown';\n }\n }\n\n let options = {\n mode: getModeFromFileName(),\n lineNumbers: true\n };\n\n return (\n
    \n \n
    \n \n \n
    \n {state.loading ? : }\n
    \n );\n}\n\nexport default Editor;\n","import React, { Component } from 'react';\nimport classNames from 'classname';\nimport * as FM from '../../../FileManagerHelper';\nimport './Photo.scss';\nimport Spinner from '../../Spinner/Spinner';\n\nclass Photo extends Component {\n state = {\n activeSlide: 0,\n photoGallery: [],\n loading: false\n }\n\n imgClass = (item) => {\n if (item.match(/.gif/i)) {\n return \"gif\";\n } else {\n return \"img\";\n }\n }\n\n encodePath = (path) => {\n let splitPath = path.split('/');\n splitPath.splice(splitPath.length - 1, 1);\n splitPath.splice(0, 1);\n return splitPath.join('%2F');\n }\n\n formatPath = (path) => {\n let splitPath = path.split('/');\n splitPath.splice(splitPath.length - 1, 1);\n return splitPath.join('/');\n }\n\n carouselIndicators = () => {\n const gallery = this.state.photoGallery;\n return gallery.map((item, i) => {\n const imageClasses = classNames({ 'control-photo': true, 'active': i === this.state.activeSlide });\n const result = (
    \n {i}\n
    );\n return result;\n });\n }\n\n carouselPhotos = () => {\n const gallery = this.state.photoGallery || [];\n return gallery.map((item, i) => (\n
    \n
    \n {i}\n
    \n
    \n ));\n }\n\n setStateAsync = updater => new Promise(resolve => this.setState(updater, resolve));\n\n setPhotoGallery = async () => {\n await this.setStateAsync({ loading: true });\n const result = await FM.getData(this.encodePath(this.props.path));\n let photoGallery = [...this.state.photoGallery];\n result.data.listing.filter(item => item.name.match(/.png|.jpg|.jpeg|.gif/g) && !item.name.match(/.zip|.tgz|.tar.gz|.gzip|.tbz|.tar.bz|.gz|.zip|.tar|.rar/g) ? photoGallery.push(item.name) : null)\n await this.setStateAsync({ photoGallery, loading: false })\n this.setActiveImage();\n }\n\n setActiveImage = () => {\n let activeImage = this.props.activeImage;\n let activeImageIndex = this.state.photoGallery.indexOf(activeImage);\n this.setState({ activeSlide: activeImageIndex });\n }\n\n componentDidMount() {\n this.setPhotoGallery();\n }\n\n render() {\n return (\n
    \n {this.state.loading ? :\n
    \n ×\n
    \n {this.carouselPhotos()}\n
    \n
    \n {this.carouselIndicators()}\n
    \n \n \n Previous\n \n \n \n Next\n \n
    \n }\n
    \n );\n }\n}\n\nexport default Photo;","import React from 'react';\n// import video from '../../../2.mp4';\nimport './Video.scss';\n\nconst Video = (props) => {\n return (\n
    \n ×\n \n
    \n );\n}\n\nexport default Video;","import React, { useEffect } from 'react';\nimport { useSelector } from 'react-redux';\nimport { useHistory } from 'react-router';\nimport Editor from './Editor/Editor';\nimport Photo from './Photo/Photo';\nimport Video from './Video/Video';\n\nconst Preview = (props) => {\n const {userName} = useSelector(state => state.session);\n const history = useHistory();\n\n useEffect(() => {\n if (!userName) history.push('/login');\n\n document.addEventListener(\"keydown\", hotkeys);\n\n return () => {\n document.removeEventListener(\"keydown\", hotkeys);\n }\n }, []);\n\n const hotkeys = e => {\n if (e.keyCode === 121) {\n onClose();\n }\n }\n\n const onClose = () => {\n let lastOpenedDirectory = history.location.search.substring(6, history.location.search.lastIndexOf('/'));\n history.push({\n pathname: '/list/directory',\n search: `?path=${lastOpenedDirectory}`\n })\n }\n\n const content = () => {\n let split = history.location.search.split('/');\n let name = split[split.length - 1];\n\n if (history.location.pathname !== '/list/directory/preview/') {\n return;\n }\n\n if (name.match('.mp4')) {\n return