@iobroker/adapter-react-v5 3.5.2 → 3.5.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Components/JsonConfigComponent/ConfigGeneric.js +1 -1
- package/Components/JsonConfigComponent/ConfigGeneric.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigStaticText.js +6 -1
- package/Components/JsonConfigComponent/ConfigStaticText.js.map +1 -1
- package/Components/Utils.js +24 -13
- package/Components/Utils.js.map +1 -1
- package/README.md +4 -1
- package/package.json +1 -1
|
@@ -412,7 +412,7 @@ var ConfigGeneric = /*#__PURE__*/function (_Component) {
|
|
|
412
412
|
value: function renderHelp(text, link, noTranslation) {
|
|
413
413
|
if (!link) {
|
|
414
414
|
text = this.getText(text, noTranslation) || '';
|
|
415
|
-
if (text && text.includes('<a ')) {
|
|
415
|
+
if (text && (text.includes('<a ') || text.includes('<br') || text.includes('<b>') || text.includes('<i>'))) {
|
|
416
416
|
return _Utils["default"].renderTextWithA(text);
|
|
417
417
|
} else {
|
|
418
418
|
return text;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigGeneric.js","names":["ConfigGeneric","props","data","value","getValue","attr","state","setState","forceUpdate","confirmDialog","confirmNewValue","confirmAttr","confirmData","isError","schema","custom","defaultValue","defaultFunc","executeCustom","instanceObj","arrayIndex","globalData","execute","lang","I18n","getLanguage","registerOnForceUpdate","onUpdate","LIKE_SELECT","undefined","includes","type","setTimeout","onChange","setValue","defaultSendTo","sendTo","alive","defaultSendToDone","jsonData","getPattern","JSON","parse","e","console","error","socket","adapterName","instance","then","onError","t","sendToTimeout","clearTimeout","text","noTranslation","func","en","confirm","icon","getText","title","ok","cancel","isOk","stringify","confirmDepAttr","confirmDepNewValue","confirmOldValue","newValue","cb","condition","confirmDependsOn","z","length","dep","val","changed","onChangeDependsOn","_newValue","calculateFunc","customObj","push","hiddenDependsOn","hidden","labelDependsOn","helpDependsOn","ignoreOwnChanges","forEach","_attr","i","f","Function","result","originalData","systemConfig","common","log","disabled","validator","label","link","Utils","renderTextWithA","color","themeType","textDecoration","pattern","replace","calculate","Object","keys","hideOnlyControl","item","xs","lg","md","sm","assign","marginBottom","textAlign","style","darkStyle","newLine","flexBasis","height","validatorNoSaveOnError","validatorErrorText","renderedItem","renderItem","commandRunning","tooltip","width","button","buttonTooltip","buttonTooltipNoTranslation","renderConfirmDialog","split","part","shift","Component","getPrototypeOf","constructor","propTypes","PropTypes","object","isRequired","string","any","themeName","customs","bool","number","dateFormat","isFloatComma"],"sources":["JsonConfigComponent/ConfigGeneric.jsx"],"sourcesContent":["import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nimport Grid from '@mui/material/Grid';\nimport Button from '@mui/material/Button';\n\nimport IconInfo from '@mui/icons-material/Info';\nimport IconWarning from '@mui/icons-material/Warning';\nimport IconError from '@mui/icons-material/Error';\n\nimport I18n from './wrapper/i18n';\nimport Utils from './wrapper/Components/Utils';\nimport ConfirmDialog from './wrapper/Dialogs/Confirm';\n\nclass ConfigGeneric extends Component {\n static DIFFERENT_VALUE = '__different__';\n static DIFFERENT_LABEL = 'ra___different__';\n static NONE_VALUE = '';\n static NONE_LABEL = 'ra_none';\n static AsyncFunction = Object.getPrototypeOf(async function(){}).constructor;\n\n constructor(props) {\n super(props);\n\n this.state = {\n confirmDialog: false,\n confirmNewValue: null,\n confirmAttr: null,\n confirmData: null,\n };\n\n this.isError = {};\n\n if (props.schema) {\n if (props.custom) {\n this.defaultValue = props.schema.defaultFunc ? this.executeCustom(props.schema.defaultFunc, props.schema.default, props.data, props.instanceObj, props.arrayIndex, props.globalData) : props.schema.default;\n } else {\n this.defaultValue = props.schema.defaultFunc ? this.execute(props.schema.defaultFunc, props.schema.default, props.data, props.arrayIndex, props.globalData) : props.schema.default;\n }\n }\n\n this.lang = I18n.getLanguage();\n }\n\n componentDidMount() {\n this.props.registerOnForceUpdate && this.props.registerOnForceUpdate(this.props.attr, this.onUpdate);\n const LIKE_SELECT = ['select', 'autocomplete', 'autocompleteSendTo'];\n // init default value\n if (this.defaultValue !== undefined) {\n const value = ConfigGeneric.getValue(this.props.data, this.props.attr);\n if (value === undefined || (LIKE_SELECT.includes(this.props.schema.type) && (value === '' || value === null))) {\n setTimeout(() => {\n if (this.props.custom) {\n this.props.onChange(this.props.attr, this.defaultValue, () =>\n setTimeout(() => this.props.forceUpdate([this.props.attr], this.props.data), 100));\n //this.onChange(this.props.attr, this.defaultValue);\n } else {\n ConfigGeneric.setValue(this.props.data, this.props.attr, this.defaultValue);\n this.props.onChange(this.props.data, undefined, () =>\n this.props.forceUpdate([this.props.attr], this.props.data));\n }\n }, 100);\n }\n } else if (this.props.schema.defaultSendTo) {\n this.sendTo();\n }\n }\n\n sendTo() {\n if (this.props.alive) {\n this.defaultSendToDone = true;\n let data = this.props.schema.data;\n if (data === undefined && this.props.schema.jsonData) {\n data = this.getPattern(this.props.schema.jsonData);\n try {\n data = JSON.parse(data);\n } catch (e) {\n console.error('Cannot parse json data: ' + data);\n }\n } else {\n data = {\n attr: this.props.attr,\n value: ConfigGeneric.getValue(this.props.data, this.props.attr),\n };\n }\n\n if (data === undefined) {\n data = null;\n }\n\n this.props.socket.sendTo(`${this.props.adapterName}.${this.props.instance}`, this.props.schema.defaultSendTo, data)\n .then(value => {\n if (value !== null && value !== undefined) {\n if (this.props.custom) {\n this.props.onChange(this.props.attr, value, () =>\n this.props.forceUpdate([this.props.attr], this.props.data));\n //this.onChange(this.props.attr, this.defaultValue);\n } else {\n ConfigGeneric.setValue(this.props.data, this.props.attr, value);\n this.props.onChange(this.props.data, undefined, () =>\n this.props.forceUpdate([this.props.attr], this.props.data));\n }\n }\n });\n } else {\n this.defaultSendToDone = false;\n // show error, that instance does not started\n this.onError(this.props.attr, I18n.t('ra_Instance %s is not alive', this.props.instance));\n }\n }\n\n componentWillUnmount() {\n this.props.registerOnForceUpdate && this.props.registerOnForceUpdate(this.props.attr)\n if (this.sendToTimeout) {\n clearTimeout(this.sendToTimeout);\n this.sendToTimeout = null;\n }\n }\n\n onUpdate = data => {\n const value = ConfigGeneric.getValue(data || this.props.data, this.props.attr) || '';\n if (this.state.value !== value) {\n this.setState({ value });\n } else {\n this.forceUpdate();\n }\n }\n\n static getValue(data, attr) {\n if (typeof attr === 'string') {\n return ConfigGeneric.getValue(data, attr.split('.'));\n } else {\n if (attr.length === 1) {\n return data[attr[0]];\n } else {\n const part = attr.shift();\n if (typeof data[part] === 'object') {\n return ConfigGeneric.getValue(data[part], attr);\n } else {\n return null;\n }\n }\n }\n }\n\n static setValue(data, attr, value) {\n if (typeof attr === 'string') {\n return ConfigGeneric.setValue(data, attr.split('.'), value);\n } else {\n if (attr.length === 1) {\n if (value === null) {\n delete data[attr[0]];\n } else {\n data[attr[0]] = value;\n }\n } else {\n const part = attr.shift();\n if (!data[part] || typeof data[part] === 'object') {\n data[part] = data[part] || {};\n }\n return ConfigGeneric.setValue(data[part], attr, value);\n }\n }\n }\n\n getText(text, noTranslation) {\n if (!text) {\n return '';\n }\n\n if (typeof text === 'string') {\n text = noTranslation ? text : I18n.t(text);\n if (text.includes('${')) {\n return this.getPattern(text);\n } else {\n return text;\n }\n } else if (text && typeof text === 'object') {\n if (text.func) {\n // calculate pattern\n if (typeof text.func === 'object') {\n return this.getPattern(text.func[this.lang] || text.func.en || '');\n } else {\n this.getPattern(text.func);\n }\n } else {\n return text[this.lang] || text.en || '';\n }\n }\n }\n\n renderConfirmDialog() {\n if (!this.state.confirmDialog) {\n return null;\n }\n const confirm = this.state.confirmData || this.props.schema.confirm;\n let icon = null;\n if (confirm.type === 'warning') {\n icon = <IconWarning />;\n } else if (confirm.type === 'error') {\n icon = <IconError />;\n } else if (confirm.type === 'info') {\n icon = <IconInfo />;\n }\n\n return <ConfirmDialog\n title={ this.getText(confirm.title) || I18n.t('ra_Please confirm') }\n text={ this.getText(confirm.text) }\n ok={ this.getText(confirm.ok) || I18n.t('ra_Ok') }\n cancel={ this.getText(confirm.cancel) || I18n.t('ra_Cancel') }\n icon={icon}\n onClose={isOk =>\n this.setState({ confirmDialog: false}, () => {\n if (isOk) {\n const data = JSON.parse(JSON.stringify(this.props.data));\n if (this.state.confirmDepAttr) {\n ConfigGeneric.setValue(data, this.state.confirmDepAttr, this.state.confirmDepNewValue);\n }\n\n ConfigGeneric.setValue(data, this.state.confirmAttr, this.state.confirmNewValue);\n this.setState({\n confirmDialog: false,\n confirmDepAttr: null,\n confirmDepNewValue: null,\n confirmNewValue: null,\n confirmAttr: null,\n confirmOldValue: null,\n confirmData: null,\n }, () =>\n this.props.onChange(data));\n } else {\n this.setState({\n confirmDialog: false,\n confirmDepAttr: null,\n confirmDepNewValue: null,\n confirmNewValue: null,\n confirmAttr: null,\n confirmOldValue: null,\n confirmData: null,\n });\n }\n })\n }\n />;\n }\n\n onChange(attr, newValue, cb) {\n const data = JSON.parse(JSON.stringify(this.props.data));\n ConfigGeneric.setValue(data, attr, newValue);\n\n if (this.props.schema.confirm && this.execute(this.props.schema.confirm.condition, false, data, this.props.arrayIndex, this.props.globalData)) {\n return this.setState({\n confirmDialog: true,\n confirmNewValue: newValue,\n confirmAttr: attr,\n confirmData: null,\n });\n } else {\n // find any inputs with confirmation\n if (this.props.schema.confirmDependsOn) {\n for (let z = 0; z < this.props.schema.confirmDependsOn.length; z++) {\n const dep = this.props.schema.confirmDependsOn[z];\n if (dep.confirm) {\n const val = ConfigGeneric.getValue(data, dep.attr);\n\n if (this.execute(dep.confirm.condition, false, data, this.props.arrayIndex, this.props.globalData)) {\n return this.setState({\n confirmDialog: true,\n confirmNewValue: newValue,\n confirmAttr: attr,\n confirmDepNewValue: val,\n confirmDepAttr: dep.attr,\n confirmData: dep.confirm,\n });\n }\n }\n }\n }\n\n const changed = [];\n if (this.props.schema.onChangeDependsOn) {\n for (let z = 0; z < this.props.schema.onChangeDependsOn.length; z++) {\n const dep = this.props.schema.onChangeDependsOn[z];\n if (dep.onChange) {\n const val = ConfigGeneric.getValue(data, dep.attr);\n\n let _newValue;\n if (this.props.custom) {\n _newValue = this.executeCustom(dep.onChange.calculateFunc, data, this.props.customObj, this.props.instanceObj, this.props.arrayIndex, this.props.globalData);\n } else {\n _newValue = this.execute(dep.onChange.calculateFunc, val, data, this.props.arrayIndex, this.props.globalData);\n }\n\n if (_newValue !== val) {\n ConfigGeneric.setValue(data, dep.attr, _newValue);\n changed.push(dep.attr);\n }\n }\n }\n }\n\n if (this.props.schema.hiddenDependsOn) {\n for (let z = 0; z < this.props.schema.hiddenDependsOn.length; z++) {\n const dep = this.props.schema.hiddenDependsOn[z];\n dep.hidden && changed.push(dep.attr);\n }\n }\n\n if (this.props.schema.labelDependsOn) {\n for (let z = 0; z < this.props.schema.labelDependsOn.length; z++) {\n const dep = this.props.schema.labelDependsOn[z];\n dep.hidden && changed.push(dep.attr);\n }\n }\n\n if (this.props.schema.helpDependsOn) {\n for (let z = 0; z < this.props.schema.helpDependsOn.length; z++) {\n const dep = this.props.schema.helpDependsOn[z];\n dep.hidden && changed.push(dep.attr);\n }\n }\n\n if (this.props.schema.onChange && !this.props.schema.onChange.ignoreOwnChanges) {\n const val = ConfigGeneric.getValue(data, this.props.attr);\n\n const newValue = this.props.custom ?\n this.executeCustom(this.props.schema.onChange.calculateFunc, data, this.props.customObj, this.props.instanceObj, this.props.arrayIndex, this.props.globalData)\n :\n this.execute(this.props.schema.onChange.calculateFunc, val, data, this.props.arrayIndex, this.props.globalData);\n if (newValue !== val) {\n ConfigGeneric.setValue(data, this.props.attr, newValue);\n }\n }\n\n if (this.props.custom) {\n this.props.onChange(attr, newValue, () => cb && cb());\n\n changed && changed.length && changed.forEach((_attr, i) =>\n setTimeout(() => this.props.onChange(_attr, ConfigGeneric.getValue(data, _attr)), i * 50));\n } else {\n this.props.onChange(data, undefined, () => {\n changed.length && this.props.forceUpdate(changed, data);\n cb && cb();\n });\n }\n }\n }\n\n execute(func, defaultValue, data, arrayIndex, globalData) {\n if (func && typeof func === 'object') {\n func = func.func;\n }\n\n if (!func) {\n return defaultValue;\n } else {\n try {\n // eslint-disable-next-line no-new-func\n const f = new Function('data', 'originalData', '_system', '_alive', '_common', '_socket', '_instance', 'arrayIndex', 'globalData', func.includes('return') ? func : 'return ' + func);\n const result = f(data || this.props.data, this.props.originalData, this.props.systemConfig, this.props.alive, this.props.common, this.props.socket, this.props.instance, arrayIndex, globalData);\n // console.log(result);\n return result;\n } catch (e) {\n console.error(`Cannot execute ${func}: ${e}`);\n return defaultValue;\n }\n }\n }\n\n executeCustom(func, data, customObj, instanceObj, arrayIndex, globalData) {\n if (func && typeof func === 'object') {\n func = func.func;\n }\n\n if (!func) {\n return null;\n } else {\n try {\n // eslint-disable-next-line no-new-func\n const f = new Function('data', 'originalData', '_system', 'instanceObj', 'customObj', '_socket', 'arrayIndex', 'globalData', func.includes('return') ? func : 'return ' + func);\n const result = f(data || this.props.data, this.props.originalData, this.props.systemConfig, instanceObj, customObj, this.props.socket, arrayIndex, globalData);\n console.log(result);\n return result;\n } catch (e) {\n console.error(`Cannot execute ${func}: ${e}`);\n return null;\n }\n }\n }\n\n calculate(schema) {\n let error;\n let disabled;\n let hidden;\n let defaultValue;\n\n if (this.props.custom) {\n error = schema.validator ? !this.executeCustom(schema.validator, this.props.data, this.props.customObj, this.props.instanceObj, this.props.arrayIndex, this.props.globalData) : false;\n disabled = schema.disabled ? this.executeCustom(schema.disabled, this.props.data, this.props.customObj, this.props.instanceObj, this.props.arrayIndex, this.props.globalData) : false;\n hidden = schema.hidden ? this.executeCustom(schema.hidden, this.props.data, this.props.customObj, this.props.instanceObj, this.props.arrayIndex, this.props.globalData) : false;\n defaultValue = schema.defaultFunc ? this.executeCustom(schema.defaultFunc, this.props.data, this.props.customObj, this.props.instanceObj, this.props.arrayIndex, this.props.globalData) : schema.default;\n } else {\n error = schema.validator ? !this.execute(schema.validator, false, this.props.data, this.props.arrayIndex, this.props.globalData) : false;\n disabled = schema.disabled ? this.execute(schema.disabled, false, this.props.data, this.props.arrayIndex, this.props.globalData) : false;\n hidden = schema.hidden ? this.execute(schema.hidden, false, this.props.data, this.props.arrayIndex, this.props.globalData) : false;\n defaultValue = schema.defaultFunc ? this.execute(schema.defaultFunc, schema.default, this.props.data, this.props.arrayIndex, this.props.globalData) : schema.default;\n }\n\n return { error, disabled, hidden, defaultValue };\n }\n\n onError(attr, error) {\n if (!error) {\n delete this.isError[attr];\n } else {\n this.isError[attr] = error;\n }\n\n this.props.onError && this.props.onError(attr, error);\n }\n\n renderItem(error, disabled, defaultValue) {\n return this.getText(this.props.schema.label) || this.getText(this.props.schema.text)\n }\n\n renderHelp(text, link, noTranslation) {\n if (!link) {\n text = this.getText(text, noTranslation) || '';\n if (text && text.includes('<a ')) {\n return Utils.renderTextWithA(text);\n } else {\n return text;\n }\n } else {\n return <a\n href={link}\n target=\"_blank\"\n rel=\"noreferrer\"\n style={{ color: this.props.themeType === 'dark' ? '#a147ff' : '#5b238f', textDecoration: 'underline' }}\n >{this.getText(text, noTranslation)}</a>;\n }\n }\n\n getPattern(pattern, data) {\n data = data || this.props.data;\n if (!pattern) {\n return '';\n } else {\n if (typeof pattern === 'object') {\n pattern = pattern.func;\n }\n\n try {\n if (this.props.custom) {\n // eslint-disable-next-line no-new-func\n const f = new Function('data', 'originalData', 'arrayIndex', 'globalData', '_system', 'instanceObj', 'customObj', '_socket', 'return `' + pattern.replace(/`/g, '\\\\`') + '`');\n return f(data, this.props.originalData, this.props.arrayIndex, this.props.globalData, this.props.systemConfig, this.props.instanceObj, this.props.customObj, this.props.socket, this.props.arrayIndex, this.props.globalData);\n } else {\n // eslint-disable-next-line no-new-func\n const f = new Function('data', 'originalData', 'arrayIndex', 'globalData', '_system', '_alive', '_common', '_socket', 'return `' + pattern.replace(/`/g, '\\\\`') + '`');\n return f(data, this.props.originalData, this.props.arrayIndex, this.props.globalData, this.props.systemConfig, this.props.alive, this.props.common, this.props.socket);\n }\n } catch (e) {\n console.error(`Cannot execute ${pattern}: ${e}`);\n return pattern;\n }\n }\n }\n\n render() {\n const schema = this.props.schema;\n\n if (!schema) {\n return null;\n }\n\n if (this.props.alive && this.defaultSendToDone === false) {\n this.sendToTimeout = setTimeout(() => {this.sendToTimeout = null; this.sendTo();}, 200);\n }\n\n const { error, disabled, hidden, defaultValue } = this.calculate(schema);\n\n if (hidden) {\n // Remove all errors if element is hidden\n if (Object.keys(this.isError).length) {\n setTimeout(isError =>\n Object.keys(isError).forEach(attr => this.props.onError(attr)),\n 100, JSON.parse(JSON.stringify(this.isError)));\n this.isError = {};\n }\n\n if (schema.hideOnlyControl) {\n const item = <Grid\n item\n xs={schema.xs || undefined}\n lg={schema.lg || undefined}\n md={schema.md || undefined}\n sm={schema.sm || undefined}\n style={Object.assign(\n {},\n {marginBottom: 0, /*marginRight: 8, */textAlign: 'left'},\n schema.style,\n this.props.themeType === 'dark' ? schema.darkStyle : {}\n )}\n />;\n\n if (schema.newLine) {\n return <>\n <div style={{flexBasis: '100%', height: 0}} />\n {item}\n </>;\n } else {\n return item;\n }\n } else {\n return null;\n }\n } else {\n // Add error\n if (schema.validatorNoSaveOnError) {\n if (error && !Object.keys(this.isError).length) {\n this.isError = {[this.props.attr]: schema.validatorErrorText ? I18n.t(schema.validatorErrorText) : true};\n setTimeout(isError =>\n Object.keys(isError).forEach(attr => this.props.onError(attr, isError[attr])),\n 100, JSON.parse(JSON.stringify(this.isError)));\n } else if (!error && Object.keys(this.isError).length) {\n setTimeout(isError =>\n Object.keys(isError).forEach(attr => this.props.onError(attr)),\n 100, JSON.parse(JSON.stringify(this.isError)));\n this.isError = {};\n }\n }\n\n const renderedItem = this.renderItem(error, disabled || this.props.commandRunning || this.props.disabled, defaultValue);\n\n const item = <Grid\n item\n title={this.getText(schema.tooltip)}\n xs={schema.xs || undefined}\n lg={schema.lg || undefined}\n md={schema.md || undefined}\n sm={schema.sm || undefined}\n style={Object.assign({}, {\n marginBottom: 0,\n // marginRight: 8,\n textAlign: 'left',\n width: schema.type === 'divider' || schema.type === 'header' ? schema.width || '100%' : undefined\n }, schema.style, this.props.themeType === 'dark' ? schema.darkStyle : {})}>\n { this.props.schema.defaultSendTo && this.props.schema.button ? <Grid container style={{ width: '100%' }}>\n <Grid item flex={1}>{renderedItem}</Grid>\n <Grid item><Button\n variant=\"outlined\"\n onClick={() => this.sendTo()}\n title={this.props.schema.buttonTooltip ? this.getText(this.props.schema.buttonTooltip, this.props.schema.buttonTooltipNoTranslation) : I18n.t('ra_Request data by instance')}\n >{this.getText(this.props.schema.button)}</Button></Grid>\n </Grid>\n :\n renderedItem\n }\n </Grid>;\n\n if (schema.newLine) {\n return <>\n <div style={{flexBasis: '100%', height: 0}} />\n {this.renderConfirmDialog()}\n {item}\n </>;\n } else {\n if (this.state.confirmDialog) {\n return <>\n {this.renderConfirmDialog()}\n {item}\n </>;\n } else {\n return item;\n }\n }\n }\n }\n}\n\nConfigGeneric.propTypes = {\n socket: PropTypes.object.isRequired,\n data: PropTypes.object,\n originalData: PropTypes.object,\n schema: PropTypes.object,\n attr: PropTypes.string,\n value: PropTypes.any,\n themeName: PropTypes.string,\n style: PropTypes.object,\n onError: PropTypes.func,\n onChange: PropTypes.func,\n customs: PropTypes.object,\n forceUpdate: PropTypes.func.isRequired,\n disabled: PropTypes.bool,\n\n systemConfig: PropTypes.object,\n alive: PropTypes.bool,\n common: PropTypes.object,\n adapterName: PropTypes.string,\n instance: PropTypes.number,\n dateFormat: PropTypes.string,\n isFloatComma: PropTypes.bool,\n\n customObj: PropTypes.object,\n instanceObj: PropTypes.object,\n custom: PropTypes.bool,\n};\n\nexport default ConfigGeneric;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ConfigGeneric.js","names":["ConfigGeneric","props","data","value","getValue","attr","state","setState","forceUpdate","confirmDialog","confirmNewValue","confirmAttr","confirmData","isError","schema","custom","defaultValue","defaultFunc","executeCustom","instanceObj","arrayIndex","globalData","execute","lang","I18n","getLanguage","registerOnForceUpdate","onUpdate","LIKE_SELECT","undefined","includes","type","setTimeout","onChange","setValue","defaultSendTo","sendTo","alive","defaultSendToDone","jsonData","getPattern","JSON","parse","e","console","error","socket","adapterName","instance","then","onError","t","sendToTimeout","clearTimeout","text","noTranslation","func","en","confirm","icon","getText","title","ok","cancel","isOk","stringify","confirmDepAttr","confirmDepNewValue","confirmOldValue","newValue","cb","condition","confirmDependsOn","z","length","dep","val","changed","onChangeDependsOn","_newValue","calculateFunc","customObj","push","hiddenDependsOn","hidden","labelDependsOn","helpDependsOn","ignoreOwnChanges","forEach","_attr","i","f","Function","result","originalData","systemConfig","common","log","disabled","validator","label","link","Utils","renderTextWithA","color","themeType","textDecoration","pattern","replace","calculate","Object","keys","hideOnlyControl","item","xs","lg","md","sm","assign","marginBottom","textAlign","style","darkStyle","newLine","flexBasis","height","validatorNoSaveOnError","validatorErrorText","renderedItem","renderItem","commandRunning","tooltip","width","button","buttonTooltip","buttonTooltipNoTranslation","renderConfirmDialog","split","part","shift","Component","getPrototypeOf","constructor","propTypes","PropTypes","object","isRequired","string","any","themeName","customs","bool","number","dateFormat","isFloatComma"],"sources":["JsonConfigComponent/ConfigGeneric.jsx"],"sourcesContent":["import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nimport Grid from '@mui/material/Grid';\nimport Button from '@mui/material/Button';\n\nimport IconInfo from '@mui/icons-material/Info';\nimport IconWarning from '@mui/icons-material/Warning';\nimport IconError from '@mui/icons-material/Error';\n\nimport I18n from './wrapper/i18n';\nimport Utils from './wrapper/Components/Utils';\nimport ConfirmDialog from './wrapper/Dialogs/Confirm';\n\nclass ConfigGeneric extends Component {\n static DIFFERENT_VALUE = '__different__';\n static DIFFERENT_LABEL = 'ra___different__';\n static NONE_VALUE = '';\n static NONE_LABEL = 'ra_none';\n static AsyncFunction = Object.getPrototypeOf(async function(){}).constructor;\n\n constructor(props) {\n super(props);\n\n this.state = {\n confirmDialog: false,\n confirmNewValue: null,\n confirmAttr: null,\n confirmData: null,\n };\n\n this.isError = {};\n\n if (props.schema) {\n if (props.custom) {\n this.defaultValue = props.schema.defaultFunc ? this.executeCustom(props.schema.defaultFunc, props.schema.default, props.data, props.instanceObj, props.arrayIndex, props.globalData) : props.schema.default;\n } else {\n this.defaultValue = props.schema.defaultFunc ? this.execute(props.schema.defaultFunc, props.schema.default, props.data, props.arrayIndex, props.globalData) : props.schema.default;\n }\n }\n\n this.lang = I18n.getLanguage();\n }\n\n componentDidMount() {\n this.props.registerOnForceUpdate && this.props.registerOnForceUpdate(this.props.attr, this.onUpdate);\n const LIKE_SELECT = ['select', 'autocomplete', 'autocompleteSendTo'];\n // init default value\n if (this.defaultValue !== undefined) {\n const value = ConfigGeneric.getValue(this.props.data, this.props.attr);\n if (value === undefined || (LIKE_SELECT.includes(this.props.schema.type) && (value === '' || value === null))) {\n setTimeout(() => {\n if (this.props.custom) {\n this.props.onChange(this.props.attr, this.defaultValue, () =>\n setTimeout(() => this.props.forceUpdate([this.props.attr], this.props.data), 100));\n //this.onChange(this.props.attr, this.defaultValue);\n } else {\n ConfigGeneric.setValue(this.props.data, this.props.attr, this.defaultValue);\n this.props.onChange(this.props.data, undefined, () =>\n this.props.forceUpdate([this.props.attr], this.props.data));\n }\n }, 100);\n }\n } else if (this.props.schema.defaultSendTo) {\n this.sendTo();\n }\n }\n\n sendTo() {\n if (this.props.alive) {\n this.defaultSendToDone = true;\n let data = this.props.schema.data;\n if (data === undefined && this.props.schema.jsonData) {\n data = this.getPattern(this.props.schema.jsonData);\n try {\n data = JSON.parse(data);\n } catch (e) {\n console.error('Cannot parse json data: ' + data);\n }\n } else {\n data = {\n attr: this.props.attr,\n value: ConfigGeneric.getValue(this.props.data, this.props.attr),\n };\n }\n\n if (data === undefined) {\n data = null;\n }\n\n this.props.socket.sendTo(`${this.props.adapterName}.${this.props.instance}`, this.props.schema.defaultSendTo, data)\n .then(value => {\n if (value !== null && value !== undefined) {\n if (this.props.custom) {\n this.props.onChange(this.props.attr, value, () =>\n this.props.forceUpdate([this.props.attr], this.props.data));\n //this.onChange(this.props.attr, this.defaultValue);\n } else {\n ConfigGeneric.setValue(this.props.data, this.props.attr, value);\n this.props.onChange(this.props.data, undefined, () =>\n this.props.forceUpdate([this.props.attr], this.props.data));\n }\n }\n });\n } else {\n this.defaultSendToDone = false;\n // show error, that instance does not started\n this.onError(this.props.attr, I18n.t('ra_Instance %s is not alive', this.props.instance));\n }\n }\n\n componentWillUnmount() {\n this.props.registerOnForceUpdate && this.props.registerOnForceUpdate(this.props.attr)\n if (this.sendToTimeout) {\n clearTimeout(this.sendToTimeout);\n this.sendToTimeout = null;\n }\n }\n\n onUpdate = data => {\n const value = ConfigGeneric.getValue(data || this.props.data, this.props.attr) || '';\n if (this.state.value !== value) {\n this.setState({ value });\n } else {\n this.forceUpdate();\n }\n }\n\n static getValue(data, attr) {\n if (typeof attr === 'string') {\n return ConfigGeneric.getValue(data, attr.split('.'));\n } else {\n if (attr.length === 1) {\n return data[attr[0]];\n } else {\n const part = attr.shift();\n if (typeof data[part] === 'object') {\n return ConfigGeneric.getValue(data[part], attr);\n } else {\n return null;\n }\n }\n }\n }\n\n static setValue(data, attr, value) {\n if (typeof attr === 'string') {\n return ConfigGeneric.setValue(data, attr.split('.'), value);\n } else {\n if (attr.length === 1) {\n if (value === null) {\n delete data[attr[0]];\n } else {\n data[attr[0]] = value;\n }\n } else {\n const part = attr.shift();\n if (!data[part] || typeof data[part] === 'object') {\n data[part] = data[part] || {};\n }\n return ConfigGeneric.setValue(data[part], attr, value);\n }\n }\n }\n\n getText(text, noTranslation) {\n if (!text) {\n return '';\n }\n\n if (typeof text === 'string') {\n text = noTranslation ? text : I18n.t(text);\n if (text.includes('${')) {\n return this.getPattern(text);\n } else {\n return text;\n }\n } else if (text && typeof text === 'object') {\n if (text.func) {\n // calculate pattern\n if (typeof text.func === 'object') {\n return this.getPattern(text.func[this.lang] || text.func.en || '');\n } else {\n this.getPattern(text.func);\n }\n } else {\n return text[this.lang] || text.en || '';\n }\n }\n }\n\n renderConfirmDialog() {\n if (!this.state.confirmDialog) {\n return null;\n }\n const confirm = this.state.confirmData || this.props.schema.confirm;\n let icon = null;\n if (confirm.type === 'warning') {\n icon = <IconWarning />;\n } else if (confirm.type === 'error') {\n icon = <IconError />;\n } else if (confirm.type === 'info') {\n icon = <IconInfo />;\n }\n\n return <ConfirmDialog\n title={ this.getText(confirm.title) || I18n.t('ra_Please confirm') }\n text={ this.getText(confirm.text) }\n ok={ this.getText(confirm.ok) || I18n.t('ra_Ok') }\n cancel={ this.getText(confirm.cancel) || I18n.t('ra_Cancel') }\n icon={icon}\n onClose={isOk =>\n this.setState({ confirmDialog: false}, () => {\n if (isOk) {\n const data = JSON.parse(JSON.stringify(this.props.data));\n if (this.state.confirmDepAttr) {\n ConfigGeneric.setValue(data, this.state.confirmDepAttr, this.state.confirmDepNewValue);\n }\n\n ConfigGeneric.setValue(data, this.state.confirmAttr, this.state.confirmNewValue);\n this.setState({\n confirmDialog: false,\n confirmDepAttr: null,\n confirmDepNewValue: null,\n confirmNewValue: null,\n confirmAttr: null,\n confirmOldValue: null,\n confirmData: null,\n }, () =>\n this.props.onChange(data));\n } else {\n this.setState({\n confirmDialog: false,\n confirmDepAttr: null,\n confirmDepNewValue: null,\n confirmNewValue: null,\n confirmAttr: null,\n confirmOldValue: null,\n confirmData: null,\n });\n }\n })\n }\n />;\n }\n\n onChange(attr, newValue, cb) {\n const data = JSON.parse(JSON.stringify(this.props.data));\n ConfigGeneric.setValue(data, attr, newValue);\n\n if (this.props.schema.confirm && this.execute(this.props.schema.confirm.condition, false, data, this.props.arrayIndex, this.props.globalData)) {\n return this.setState({\n confirmDialog: true,\n confirmNewValue: newValue,\n confirmAttr: attr,\n confirmData: null,\n });\n } else {\n // find any inputs with confirmation\n if (this.props.schema.confirmDependsOn) {\n for (let z = 0; z < this.props.schema.confirmDependsOn.length; z++) {\n const dep = this.props.schema.confirmDependsOn[z];\n if (dep.confirm) {\n const val = ConfigGeneric.getValue(data, dep.attr);\n\n if (this.execute(dep.confirm.condition, false, data, this.props.arrayIndex, this.props.globalData)) {\n return this.setState({\n confirmDialog: true,\n confirmNewValue: newValue,\n confirmAttr: attr,\n confirmDepNewValue: val,\n confirmDepAttr: dep.attr,\n confirmData: dep.confirm,\n });\n }\n }\n }\n }\n\n const changed = [];\n if (this.props.schema.onChangeDependsOn) {\n for (let z = 0; z < this.props.schema.onChangeDependsOn.length; z++) {\n const dep = this.props.schema.onChangeDependsOn[z];\n if (dep.onChange) {\n const val = ConfigGeneric.getValue(data, dep.attr);\n\n let _newValue;\n if (this.props.custom) {\n _newValue = this.executeCustom(dep.onChange.calculateFunc, data, this.props.customObj, this.props.instanceObj, this.props.arrayIndex, this.props.globalData);\n } else {\n _newValue = this.execute(dep.onChange.calculateFunc, val, data, this.props.arrayIndex, this.props.globalData);\n }\n\n if (_newValue !== val) {\n ConfigGeneric.setValue(data, dep.attr, _newValue);\n changed.push(dep.attr);\n }\n }\n }\n }\n\n if (this.props.schema.hiddenDependsOn) {\n for (let z = 0; z < this.props.schema.hiddenDependsOn.length; z++) {\n const dep = this.props.schema.hiddenDependsOn[z];\n dep.hidden && changed.push(dep.attr);\n }\n }\n\n if (this.props.schema.labelDependsOn) {\n for (let z = 0; z < this.props.schema.labelDependsOn.length; z++) {\n const dep = this.props.schema.labelDependsOn[z];\n dep.hidden && changed.push(dep.attr);\n }\n }\n\n if (this.props.schema.helpDependsOn) {\n for (let z = 0; z < this.props.schema.helpDependsOn.length; z++) {\n const dep = this.props.schema.helpDependsOn[z];\n dep.hidden && changed.push(dep.attr);\n }\n }\n\n if (this.props.schema.onChange && !this.props.schema.onChange.ignoreOwnChanges) {\n const val = ConfigGeneric.getValue(data, this.props.attr);\n\n const newValue = this.props.custom ?\n this.executeCustom(this.props.schema.onChange.calculateFunc, data, this.props.customObj, this.props.instanceObj, this.props.arrayIndex, this.props.globalData)\n :\n this.execute(this.props.schema.onChange.calculateFunc, val, data, this.props.arrayIndex, this.props.globalData);\n if (newValue !== val) {\n ConfigGeneric.setValue(data, this.props.attr, newValue);\n }\n }\n\n if (this.props.custom) {\n this.props.onChange(attr, newValue, () => cb && cb());\n\n changed && changed.length && changed.forEach((_attr, i) =>\n setTimeout(() => this.props.onChange(_attr, ConfigGeneric.getValue(data, _attr)), i * 50));\n } else {\n this.props.onChange(data, undefined, () => {\n changed.length && this.props.forceUpdate(changed, data);\n cb && cb();\n });\n }\n }\n }\n\n execute(func, defaultValue, data, arrayIndex, globalData) {\n if (func && typeof func === 'object') {\n func = func.func;\n }\n\n if (!func) {\n return defaultValue;\n } else {\n try {\n // eslint-disable-next-line no-new-func\n const f = new Function('data', 'originalData', '_system', '_alive', '_common', '_socket', '_instance', 'arrayIndex', 'globalData', func.includes('return') ? func : 'return ' + func);\n const result = f(data || this.props.data, this.props.originalData, this.props.systemConfig, this.props.alive, this.props.common, this.props.socket, this.props.instance, arrayIndex, globalData);\n // console.log(result);\n return result;\n } catch (e) {\n console.error(`Cannot execute ${func}: ${e}`);\n return defaultValue;\n }\n }\n }\n\n executeCustom(func, data, customObj, instanceObj, arrayIndex, globalData) {\n if (func && typeof func === 'object') {\n func = func.func;\n }\n\n if (!func) {\n return null;\n } else {\n try {\n // eslint-disable-next-line no-new-func\n const f = new Function('data', 'originalData', '_system', 'instanceObj', 'customObj', '_socket', 'arrayIndex', 'globalData', func.includes('return') ? func : 'return ' + func);\n const result = f(data || this.props.data, this.props.originalData, this.props.systemConfig, instanceObj, customObj, this.props.socket, arrayIndex, globalData);\n console.log(result);\n return result;\n } catch (e) {\n console.error(`Cannot execute ${func}: ${e}`);\n return null;\n }\n }\n }\n\n calculate(schema) {\n let error;\n let disabled;\n let hidden;\n let defaultValue;\n\n if (this.props.custom) {\n error = schema.validator ? !this.executeCustom(schema.validator, this.props.data, this.props.customObj, this.props.instanceObj, this.props.arrayIndex, this.props.globalData) : false;\n disabled = schema.disabled ? this.executeCustom(schema.disabled, this.props.data, this.props.customObj, this.props.instanceObj, this.props.arrayIndex, this.props.globalData) : false;\n hidden = schema.hidden ? this.executeCustom(schema.hidden, this.props.data, this.props.customObj, this.props.instanceObj, this.props.arrayIndex, this.props.globalData) : false;\n defaultValue = schema.defaultFunc ? this.executeCustom(schema.defaultFunc, this.props.data, this.props.customObj, this.props.instanceObj, this.props.arrayIndex, this.props.globalData) : schema.default;\n } else {\n error = schema.validator ? !this.execute(schema.validator, false, this.props.data, this.props.arrayIndex, this.props.globalData) : false;\n disabled = schema.disabled ? this.execute(schema.disabled, false, this.props.data, this.props.arrayIndex, this.props.globalData) : false;\n hidden = schema.hidden ? this.execute(schema.hidden, false, this.props.data, this.props.arrayIndex, this.props.globalData) : false;\n defaultValue = schema.defaultFunc ? this.execute(schema.defaultFunc, schema.default, this.props.data, this.props.arrayIndex, this.props.globalData) : schema.default;\n }\n\n return { error, disabled, hidden, defaultValue };\n }\n\n onError(attr, error) {\n if (!error) {\n delete this.isError[attr];\n } else {\n this.isError[attr] = error;\n }\n\n this.props.onError && this.props.onError(attr, error);\n }\n\n renderItem(error, disabled, defaultValue) {\n return this.getText(this.props.schema.label) || this.getText(this.props.schema.text)\n }\n\n renderHelp(text, link, noTranslation) {\n if (!link) {\n text = this.getText(text, noTranslation) || '';\n if (text && (text.includes('<a ') || text.includes('<br') || text.includes('<b>') || text.includes('<i>'))) {\n return Utils.renderTextWithA(text);\n } else {\n return text;\n }\n } else {\n return <a\n href={link}\n target=\"_blank\"\n rel=\"noreferrer\"\n style={{ color: this.props.themeType === 'dark' ? '#a147ff' : '#5b238f', textDecoration: 'underline' }}\n >{this.getText(text, noTranslation)}</a>;\n }\n }\n\n getPattern(pattern, data) {\n data = data || this.props.data;\n if (!pattern) {\n return '';\n } else {\n if (typeof pattern === 'object') {\n pattern = pattern.func;\n }\n\n try {\n if (this.props.custom) {\n // eslint-disable-next-line no-new-func\n const f = new Function('data', 'originalData', 'arrayIndex', 'globalData', '_system', 'instanceObj', 'customObj', '_socket', 'return `' + pattern.replace(/`/g, '\\\\`') + '`');\n return f(data, this.props.originalData, this.props.arrayIndex, this.props.globalData, this.props.systemConfig, this.props.instanceObj, this.props.customObj, this.props.socket, this.props.arrayIndex, this.props.globalData);\n } else {\n // eslint-disable-next-line no-new-func\n const f = new Function('data', 'originalData', 'arrayIndex', 'globalData', '_system', '_alive', '_common', '_socket', 'return `' + pattern.replace(/`/g, '\\\\`') + '`');\n return f(data, this.props.originalData, this.props.arrayIndex, this.props.globalData, this.props.systemConfig, this.props.alive, this.props.common, this.props.socket);\n }\n } catch (e) {\n console.error(`Cannot execute ${pattern}: ${e}`);\n return pattern;\n }\n }\n }\n\n render() {\n const schema = this.props.schema;\n\n if (!schema) {\n return null;\n }\n\n if (this.props.alive && this.defaultSendToDone === false) {\n this.sendToTimeout = setTimeout(() => {this.sendToTimeout = null; this.sendTo();}, 200);\n }\n\n const { error, disabled, hidden, defaultValue } = this.calculate(schema);\n\n if (hidden) {\n // Remove all errors if element is hidden\n if (Object.keys(this.isError).length) {\n setTimeout(isError =>\n Object.keys(isError).forEach(attr => this.props.onError(attr)),\n 100, JSON.parse(JSON.stringify(this.isError)));\n this.isError = {};\n }\n\n if (schema.hideOnlyControl) {\n const item = <Grid\n item\n xs={schema.xs || undefined}\n lg={schema.lg || undefined}\n md={schema.md || undefined}\n sm={schema.sm || undefined}\n style={Object.assign(\n {},\n {marginBottom: 0, /*marginRight: 8, */textAlign: 'left'},\n schema.style,\n this.props.themeType === 'dark' ? schema.darkStyle : {}\n )}\n />;\n\n if (schema.newLine) {\n return <>\n <div style={{flexBasis: '100%', height: 0}} />\n {item}\n </>;\n } else {\n return item;\n }\n } else {\n return null;\n }\n } else {\n // Add error\n if (schema.validatorNoSaveOnError) {\n if (error && !Object.keys(this.isError).length) {\n this.isError = {[this.props.attr]: schema.validatorErrorText ? I18n.t(schema.validatorErrorText) : true};\n setTimeout(isError =>\n Object.keys(isError).forEach(attr => this.props.onError(attr, isError[attr])),\n 100, JSON.parse(JSON.stringify(this.isError)));\n } else if (!error && Object.keys(this.isError).length) {\n setTimeout(isError =>\n Object.keys(isError).forEach(attr => this.props.onError(attr)),\n 100, JSON.parse(JSON.stringify(this.isError)));\n this.isError = {};\n }\n }\n\n const renderedItem = this.renderItem(error, disabled || this.props.commandRunning || this.props.disabled, defaultValue);\n\n const item = <Grid\n item\n title={this.getText(schema.tooltip)}\n xs={schema.xs || undefined}\n lg={schema.lg || undefined}\n md={schema.md || undefined}\n sm={schema.sm || undefined}\n style={Object.assign({}, {\n marginBottom: 0,\n // marginRight: 8,\n textAlign: 'left',\n width: schema.type === 'divider' || schema.type === 'header' ? schema.width || '100%' : undefined\n }, schema.style, this.props.themeType === 'dark' ? schema.darkStyle : {})}>\n { this.props.schema.defaultSendTo && this.props.schema.button ? <Grid container style={{ width: '100%' }}>\n <Grid item flex={1}>{renderedItem}</Grid>\n <Grid item><Button\n variant=\"outlined\"\n onClick={() => this.sendTo()}\n title={this.props.schema.buttonTooltip ? this.getText(this.props.schema.buttonTooltip, this.props.schema.buttonTooltipNoTranslation) : I18n.t('ra_Request data by instance')}\n >{this.getText(this.props.schema.button)}</Button></Grid>\n </Grid>\n :\n renderedItem\n }\n </Grid>;\n\n if (schema.newLine) {\n return <>\n <div style={{flexBasis: '100%', height: 0}} />\n {this.renderConfirmDialog()}\n {item}\n </>;\n } else {\n if (this.state.confirmDialog) {\n return <>\n {this.renderConfirmDialog()}\n {item}\n </>;\n } else {\n return item;\n }\n }\n }\n }\n}\n\nConfigGeneric.propTypes = {\n socket: PropTypes.object.isRequired,\n data: PropTypes.object,\n originalData: PropTypes.object,\n schema: PropTypes.object,\n attr: PropTypes.string,\n value: PropTypes.any,\n themeName: PropTypes.string,\n style: PropTypes.object,\n onError: PropTypes.func,\n onChange: PropTypes.func,\n customs: PropTypes.object,\n forceUpdate: PropTypes.func.isRequired,\n disabled: PropTypes.bool,\n\n systemConfig: PropTypes.object,\n alive: PropTypes.bool,\n common: PropTypes.object,\n adapterName: PropTypes.string,\n instance: PropTypes.number,\n dateFormat: PropTypes.string,\n isFloatComma: PropTypes.bool,\n\n customObj: PropTypes.object,\n instanceObj: PropTypes.object,\n custom: PropTypes.bool,\n};\n\nexport default ConfigGeneric;\n"],"mappings":"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"}
|
|
@@ -22,6 +22,7 @@ var _Error = _interopRequireDefault(require("@mui/icons-material/Error"));
|
|
|
22
22
|
var _Info = _interopRequireDefault(require("@mui/icons-material/Info"));
|
|
23
23
|
var _Search = _interopRequireDefault(require("@mui/icons-material/Search"));
|
|
24
24
|
var _Icon = _interopRequireDefault(require("./wrapper/Components/Icon"));
|
|
25
|
+
var _Utils = _interopRequireDefault(require("./wrapper/Components/Utils"));
|
|
25
26
|
var _ConfigGeneric2 = _interopRequireDefault(require("./ConfigGeneric"));
|
|
26
27
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
27
28
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
@@ -89,6 +90,10 @@ var ConfigStaticText = /*#__PURE__*/function (_ConfigGeneric) {
|
|
|
89
90
|
} : null
|
|
90
91
|
}, this.getText(this.props.schema.text || this.props.schema.label, this.props.schema.noTranslation));
|
|
91
92
|
} else {
|
|
93
|
+
var text = this.getText(this.props.schema.text || this.props.schema.label);
|
|
94
|
+
if (text && (text.includes('<a ') || text.includes('<br') || text.includes('<b>') || text.includes('<i>'))) {
|
|
95
|
+
text = _Utils["default"].renderTextWithA(text);
|
|
96
|
+
}
|
|
92
97
|
return /*#__PURE__*/_react["default"].createElement("span", {
|
|
93
98
|
className: this.props.schema.href ? this.props.classes.link : '',
|
|
94
99
|
onClick: this.props.schema.href ? function () {
|
|
@@ -96,7 +101,7 @@ var ConfigStaticText = /*#__PURE__*/function (_ConfigGeneric) {
|
|
|
96
101
|
var href = _this.props.schema.href ? _this.getText(_this.props.schema.href, true) : null;
|
|
97
102
|
href && window.open(href, '_blank');
|
|
98
103
|
} : null
|
|
99
|
-
},
|
|
104
|
+
}, text);
|
|
100
105
|
}
|
|
101
106
|
}
|
|
102
107
|
}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigStaticText.js","names":["styles","theme","fullWidth","height","width","link","textDecoration","color","palette","mode","cursor","ConfigStaticText","icon","props","schema","error","disabled","button","getIcon","variant","undefined","classes","href","getText","window","open","text","label","noTranslation","ConfigGeneric","propTypes","socket","PropTypes","object","isRequired","themeType","string","themeName","style","className","data","onError","func","onChange","withStyles"],"sources":["JsonConfigComponent/ConfigStaticText.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport Button from '@mui/material/Button';\n\nimport IconAuth from '@mui/icons-material/Key';\nimport IconSend from '@mui/icons-material/Send';\nimport IconWeb from '@mui/icons-material/Public';\nimport IconWarning from '@mui/icons-material/Warning';\nimport IconError from '@mui/icons-material/Error';\nimport IconInfo from '@mui/icons-material/Info';\nimport IconSearch from '@mui/icons-material/Search';\n\nimport Icon from './wrapper/Components/Icon';\n\nimport ConfigGeneric from './ConfigGeneric';\n\nconst styles = theme => ({\n fullWidth: {\n height: '100%',\n width: '100%',\n },\n link: {\n textDecoration: 'underline',\n color: theme.palette.mode === 'dark' ? '#4dabf5' : '#254e72',\n cursor: 'pointer',\n\n },\n});\n\nclass ConfigStaticText extends ConfigGeneric {\n getIcon() {\n let icon = null;\n if (this.props.schema.icon === 'auth') {\n icon = <IconAuth />;\n } else if (this.props.schema.icon === 'send') {\n icon = <IconSend />;\n } else if (this.props.schema.icon === 'web') {\n icon = <IconWeb />;\n } else if (this.props.schema.icon === 'warning') {\n icon = <IconWarning />;\n } else if (this.props.schema.icon === 'error') {\n icon = <IconError />;\n } else if (this.props.schema.icon === 'info') {\n icon = <IconInfo />;\n } else if (this.props.schema.icon === 'search') {\n icon = <IconSearch />;\n } else if (this.props.schema.icon) {\n icon = <Icon src={this.props.schema.icon} />;\n }\n\n return icon;\n }\n\n renderItem(error, disabled) {\n if (this.props.schema.button) {\n let icon = this.getIcon();\n return <Button\n variant={this.props.schema.variant || undefined}\n color={this.props.schema.color || 'grey'}\n className={this.props.classes.fullWidth}\n disabled={disabled}\n startIcon={icon}\n onClick={this.props.schema.href ? () => {\n // calculate one more time just before call\n const href = this.props.schema.href ? this.getText(this.props.schema.href, true) : null;\n href && window.open(href, '_blank');\n } : null}\n >\n {this.getText(this.props.schema.text || this.props.schema.label, this.props.schema.noTranslation)}\n </Button>\n } else {\n return <span\n className={this.props.schema.href ? this.props.classes.link : ''}\n onClick={this.props.schema.href ? () => {\n // calculate one more time just before call\n const href = this.props.schema.href ? this.getText(this.props.schema.href, true) : null;\n href && window.open(href, '_blank');\n } : null}>\n {
|
|
1
|
+
{"version":3,"file":"ConfigStaticText.js","names":["styles","theme","fullWidth","height","width","link","textDecoration","color","palette","mode","cursor","ConfigStaticText","icon","props","schema","error","disabled","button","getIcon","variant","undefined","classes","href","getText","window","open","text","label","noTranslation","includes","Utils","renderTextWithA","ConfigGeneric","propTypes","socket","PropTypes","object","isRequired","themeType","string","themeName","style","className","data","onError","func","onChange","withStyles"],"sources":["JsonConfigComponent/ConfigStaticText.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport Button from '@mui/material/Button';\n\nimport IconAuth from '@mui/icons-material/Key';\nimport IconSend from '@mui/icons-material/Send';\nimport IconWeb from '@mui/icons-material/Public';\nimport IconWarning from '@mui/icons-material/Warning';\nimport IconError from '@mui/icons-material/Error';\nimport IconInfo from '@mui/icons-material/Info';\nimport IconSearch from '@mui/icons-material/Search';\n\nimport Icon from './wrapper/Components/Icon';\nimport Utils from './wrapper/Components/Utils';\n\nimport ConfigGeneric from './ConfigGeneric';\n\nconst styles = theme => ({\n fullWidth: {\n height: '100%',\n width: '100%',\n },\n link: {\n textDecoration: 'underline',\n color: theme.palette.mode === 'dark' ? '#4dabf5' : '#254e72',\n cursor: 'pointer',\n\n },\n});\n\nclass ConfigStaticText extends ConfigGeneric {\n getIcon() {\n let icon = null;\n if (this.props.schema.icon === 'auth') {\n icon = <IconAuth />;\n } else if (this.props.schema.icon === 'send') {\n icon = <IconSend />;\n } else if (this.props.schema.icon === 'web') {\n icon = <IconWeb />;\n } else if (this.props.schema.icon === 'warning') {\n icon = <IconWarning />;\n } else if (this.props.schema.icon === 'error') {\n icon = <IconError />;\n } else if (this.props.schema.icon === 'info') {\n icon = <IconInfo />;\n } else if (this.props.schema.icon === 'search') {\n icon = <IconSearch />;\n } else if (this.props.schema.icon) {\n icon = <Icon src={this.props.schema.icon} />;\n }\n\n return icon;\n }\n\n renderItem(error, disabled) {\n if (this.props.schema.button) {\n let icon = this.getIcon();\n return <Button\n variant={this.props.schema.variant || undefined}\n color={this.props.schema.color || 'grey'}\n className={this.props.classes.fullWidth}\n disabled={disabled}\n startIcon={icon}\n onClick={this.props.schema.href ? () => {\n // calculate one more time just before call\n const href = this.props.schema.href ? this.getText(this.props.schema.href, true) : null;\n href && window.open(href, '_blank');\n } : null}\n >\n {this.getText(this.props.schema.text || this.props.schema.label, this.props.schema.noTranslation)}\n </Button>\n } else {\n let text = this.getText(this.props.schema.text || this.props.schema.label);\n if (text && (text.includes('<a ') || text.includes('<br') || text.includes('<b>') || text.includes('<i>'))) {\n text = Utils.renderTextWithA(text);\n }\n\n return <span\n className={this.props.schema.href ? this.props.classes.link : ''}\n onClick={this.props.schema.href ? () => {\n // calculate one more time just before call\n const href = this.props.schema.href ? this.getText(this.props.schema.href, true) : null;\n href && window.open(href, '_blank');\n } : null}>\n {text}\n </span>;\n }\n }\n}\n\nConfigStaticText.propTypes = {\n socket: PropTypes.object.isRequired,\n themeType: PropTypes.string,\n themeName: PropTypes.string,\n style: PropTypes.object,\n className: PropTypes.string,\n data: PropTypes.object.isRequired,\n schema: PropTypes.object,\n onError: PropTypes.func,\n onChange: PropTypes.func,\n};\n\nexport default withStyles(styles)(ConfigStaticText);\n"],"mappings":"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"}
|
package/Components/Utils.js
CHANGED
|
@@ -697,18 +697,27 @@ var Utils = /*#__PURE__*/function () {
|
|
|
697
697
|
}, {
|
|
698
698
|
key: "renderTextWithA",
|
|
699
699
|
value: function renderTextWithA(text) {
|
|
700
|
-
var m = text.match(/<a [^<]+<\/a>|<br
|
|
700
|
+
var m = text.match(/<a [^<]+<\/a>|<br\/?>|<b>[^<]+<\/b>|<i>[^<]+<\/i>/);
|
|
701
701
|
if (m) {
|
|
702
702
|
var result = [];
|
|
703
703
|
var key = 1;
|
|
704
704
|
do {
|
|
705
|
-
var
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
705
|
+
var start = text.substring(0, m.index);
|
|
706
|
+
text = text.substring(m.index + m[0].length);
|
|
707
|
+
start && result.push( /*#__PURE__*/_react["default"].createElement("span", {
|
|
708
|
+
key: "a".concat(key++)
|
|
709
|
+
}, start));
|
|
710
|
+
if (m[0].startsWith('<b>')) {
|
|
711
|
+
result.push( /*#__PURE__*/_react["default"].createElement("b", {
|
|
712
|
+
key: "a".concat(key++)
|
|
713
|
+
}, m[0].substring(3, m[0].length - 4)));
|
|
714
|
+
} else if (m[0].startsWith('<i>')) {
|
|
715
|
+
result.push( /*#__PURE__*/_react["default"].createElement("i", {
|
|
716
|
+
key: "a".concat(key++)
|
|
717
|
+
}, m[0].substring(3, m[0].length - 4)));
|
|
718
|
+
} else if (m[0].startsWith('<br')) {
|
|
710
719
|
result.push( /*#__PURE__*/_react["default"].createElement("br", {
|
|
711
|
-
key:
|
|
720
|
+
key: "a".concat(key++)
|
|
712
721
|
}));
|
|
713
722
|
} else {
|
|
714
723
|
var href = m[0].match(/href="([^"]+)"/) || m[0].match(/href='([^']+)'/);
|
|
@@ -718,18 +727,20 @@ var Utils = /*#__PURE__*/function () {
|
|
|
718
727
|
|
|
719
728
|
// eslint-disable-next-line
|
|
720
729
|
result.push( /*#__PURE__*/_react["default"].createElement("a", {
|
|
721
|
-
key:
|
|
730
|
+
key: "a".concat(key++),
|
|
722
731
|
href: href ? href[1] : '',
|
|
723
732
|
target: target ? target[1] : '_blank',
|
|
724
|
-
rel: rel ? rel[1] : ''
|
|
733
|
+
rel: rel ? rel[1] : '',
|
|
734
|
+
style: {
|
|
735
|
+
color: 'inherit'
|
|
736
|
+
}
|
|
725
737
|
}, title ? title[1] : ''));
|
|
726
738
|
}
|
|
727
|
-
|
|
728
|
-
m = text && text.match(/<a [^<]+<\/a>|<br\/?>/);
|
|
739
|
+
m = text && text.match(/<a [^<]+<\/a>|<br\/?>|<b>[^<]+<\/b>|<i>[^<]+<\/i>/);
|
|
729
740
|
if (!m) {
|
|
730
|
-
|
|
741
|
+
text && result.push( /*#__PURE__*/_react["default"].createElement("span", {
|
|
731
742
|
key: 'a' + key++
|
|
732
|
-
},
|
|
743
|
+
}, text));
|
|
733
744
|
}
|
|
734
745
|
} while (m);
|
|
735
746
|
return result;
|
package/Components/Utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Utils.js","names":["NAMESPACE","days","months","QUALITY_BITS","SIGNATURES","JVBERi0","R0lGODdh","R0lGODlh","iVBORw0KGgo","PHN2Zw","Qk1","AAABAA","Utils","name","split","filter","item","map","word","toUpperCase","substring","toLowerCase","join","seconds","Math","floor","hours","minutes","text","I18n","t","objects","id","settings","options","isDesc","attr","language","common","window","sysLang","en","desc","de","ru","toString","replace","pos","lastIndexOf","CapitalWords","trim","obj","noTrim","_id","forEnumId","hasOwnProperty","custom","user","subOrder","JSON","parse","stringify","order","subURLs","URLs","list","source","dest","result","Array","from","splice","removed","defaultEnabling","enabled","undefined","useCustom","useCommon","color","icon","s","style","length","startsWith","prefix","parts","location","pathname","match","words","i","z","ww","start","push","k","w","defaultValue","indexOf","slice","r","g","b","rgb","parseInt","parseFloat","isNaN","secs","angle","num","format","dateFormat","now","m","a","year","find","y","day","Date","abs","getTime","date","getDay","getDate","getMonth","key","p","href","target","rel","title","states","instanceId","noCommon","smartName","newSmartName","byON","smartType","getLanguage","nnn","_smartName","role","empty","nl","pl","it","fr","pt","es","e","stopPropagation","preventDefault","copy","fileName","bytes","units","u","toFixed","themeType","invert","invertedColor","invertColor","hex","bw","padStart","alfa","console","warn","pow","x","color1","color2","lab1","rgb2lab","color2rgb","lab2","dltL","dltA","dltB","c1","sqrt","c2","dltC","dltH","sc","sh","dltLKlsl","dltCkcsc","dltHkhsh","mix","str","isArray","_toVal","tmp","arguments","themeName","vendorPrefix","_localStorage","localStorage","getItem","matchMedia","matches","setItem","themes","getThemeNames","newTheme","setThemeName","query","forEach","part","decodeURIComponent","f","pop","dateObj","mm","dd","getFullYear","v","getHours","getMinutes","getSeconds","getMilliseconds","round","d","h","url","open","extractHeader","body","header","lines","attrs","_header","line","doc","filename","json","el","document","createElement","setAttribute","encodeURIComponent","display","appendChild","click","removeChild","quality","object","ex","error","type","value","fetch","then","response","blob","Promise","resolve","reader","FileReader","onload","readAsDataURL","base64","signature","Object","keys"],"sources":["Utils.js"],"sourcesContent":["/**\n * Copyright 2018-2022 bluefox <dogafox@gmail.com>\n *\n * MIT License\n *\n **/\nimport React from 'react';\nimport copy from './copy-to-clipboard';\nimport I18n from '../i18n';\n\nconst NAMESPACE = 'material';\nconst days = ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'];\nconst months = ['Jan', 'Feb', 'Mar', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\nconst QUALITY_BITS = {\n 0x00: '0x00 - good',\n\n 0x01: '0x01 - general problem',\n 0x02: '0x02 - no connection problem',\n\n 0x10: '0x10 - substitute value from controller',\n 0x20: '0x20 - substitute initial value',\n 0x40: '0x40 - substitute value from device or instance',\n 0x80: '0x80 - substitute value from sensor',\n\n 0x11: '0x11 - general problem by instance',\n 0x41: '0x41 - general problem by device',\n 0x81: '0x81 - general problem by sensor',\n\n 0x12: '0x12 - instance not connected',\n 0x42: '0x42 - device not connected',\n 0x82: '0x82 - sensor not connected',\n\n 0x44: '0x44 - device reports error',\n 0x84: '0x84 - sensor reports error',\n};\nconst SIGNATURES = {\n JVBERi0: 'pdf',\n R0lGODdh: 'gif',\n R0lGODlh: 'gif',\n iVBORw0KGgo: 'png',\n '/9j/': 'jpg',\n PHN2Zw: 'svg',\n Qk1: 'bmp',\n AAABAA: 'ico' // 00 00 01 00 according to https://en.wikipedia.org/wiki/List_of_file_signatures\n};\n\nclass Utils {\n static namespace = NAMESPACE;\n static INSTANCES = 'instances';\n static dateFormat = ['DD', 'MM'];\n static FORBIDDEN_CHARS = /[^._\\-/ :!#$%&()+=@^{}|~\\p{Ll}\\p{Lu}\\p{Nd}]+/gu;\n\n /**\n * Capitalize words.\n * @param {string | undefined} name\n * @returns {string}\n */\n static CapitalWords(name) {\n return (name || '').split(/[\\s_]/)\n .filter(item => item)\n .map(word => word ? word[0].toUpperCase() + word.substring(1).toLowerCase() : '')\n .join(' ');\n }\n\n static formatSeconds(seconds) {\n const days = Math.floor(seconds / (3600 * 24));\n seconds %= 3600 * 24;\n let hours = Math.floor(seconds / 3600);\n if (hours < 10) {\n hours = '0' + hours;\n }\n seconds %= 3600;\n let minutes = Math.floor(seconds / 60);\n if (minutes < 10) {\n minutes = '0' + minutes;\n }\n seconds %= 60;\n seconds = Math.floor(seconds);\n if (seconds < 10) {\n seconds = '0' + seconds;\n }\n let text = '';\n if (days) {\n text += `${days} ${I18n.t('ra_daysShortText')} `;\n }\n text += `${hours}:${minutes}:${seconds}`;\n\n return text;\n }\n\n /**\n * Get the name of the object by id from the name or description.\n * @param {Record<string, ioBroker.Object>} objects\n * @param {string} id\n * @param {{ name: any; } | ioBroker.Languages | null} settings\n * @param {{ language?: ioBroker.Languages; }} options\n * @param {boolean} [isDesc] Set to true to get the description.\n * @returns {string}\n */\n static getObjectName(objects, id, settings, options, isDesc) {\n let item = objects[id];\n let text = id;\n const attr = isDesc ? 'desc' : 'name';\n\n if (typeof settings === 'string' && !options) {\n options = {language: settings};\n settings = null;\n }\n\n options = options || {};\n if (!options.language) {\n options.language = (objects['system.config'] && objects['system.config'].common && objects['system.config'].common.language) || window.sysLang || 'en';\n }\n if (settings && settings.name) {\n text = settings.name;\n if (typeof text === 'object') {\n text = text[options.language] || text.en;\n }\n } else\n if (item && item.common && item.common[attr]) {\n text = item.common[attr];\n if (attr !== 'desc' && !text && item.common.desc) {\n text = item.common.desc;\n }\n if (typeof text === 'object') {\n text = text[options.language] || text.en || text.de || text.ru || '';\n }\n text = (text || '').toString().replace(/[_.]/g, ' ');\n\n if (text === text.toUpperCase()) {\n text = text[0] + text.substring(1).toLowerCase();\n }\n } else {\n let pos = id.lastIndexOf('.');\n text = id.substring(pos + 1).replace(/[_.]/g, ' ');\n text = Utils.CapitalWords(text);\n }\n\n return text.trim();\n }\n\n /**\n * Get the name of the object from the name or description.\n * @param {ioBroker.PartialObject} obj\n * @param {{ name: any; } | ioBroker.Languages | null } settings or language\n * @param {{ language?: ioBroker.Languages; } } options\n * @param {boolean} [isDesc] Set to true to get the description.\n * @param {boolean} [noTrim] Allow to use spaces in name (by edit)\n * @returns {string}\n */\n static getObjectNameFromObj(obj, settings, options, isDesc, noTrim) {\n let item = obj;\n let text = (obj && obj._id) || '';\n const attr = isDesc ? 'desc' : 'name';\n\n if (typeof settings === 'string' && !options) {\n options = {language: settings};\n settings = null;\n }\n\n options = options || {};\n\n if (settings && settings.name) {\n text = settings.name;\n if (typeof text === 'object') {\n text = text[options.language] || text.en;\n }\n } else\n if (item && item.common && item.common[attr]) {\n text = item.common[attr];\n if (attr !== 'desc' && !text && item.common.desc) {\n text = item.common.desc;\n }\n if (typeof text === 'object') {\n text = text[options.language] || text.en;\n }\n text = (text || '').toString().replace(/[_.]/g, ' ');\n\n if (text === text.toUpperCase()) {\n text = text[0] + text.substring(1).toLowerCase();\n }\n }\n return noTrim ? text : text.trim();\n }\n\n /**\n * @param {ioBroker.PartialObject | ioBroker.ObjectCommon} obj\n * @param {string} forEnumId\n * @param {{ user: string; }} options\n * @returns {string | null}\n */\n static getSettingsOrder(obj, forEnumId, options) {\n if (obj && obj.hasOwnProperty('common')) {\n obj = obj.common;\n }\n let settings;\n if (obj && obj.custom) {\n settings = (obj.custom || {})[NAMESPACE];\n const user = options.user || 'admin';\n if (settings && settings[user]) {\n if (forEnumId) {\n if (settings[user].subOrder && settings[user].subOrder[forEnumId]) {\n return JSON.parse(JSON.stringify(settings[user].subOrder[forEnumId]));\n }\n } else {\n if (settings[user].order) {\n return JSON.parse(JSON.stringify(settings[user].order));\n }\n }\n }\n }\n return null;\n }\n\n /**\n * @param {ioBroker.PartialObject | ioBroker.ObjectCommon} obj\n * @param {string} forEnumId\n * @param {{ user: string; }} options\n */\n static getSettingsCustomURLs(obj, forEnumId, options) {\n if (obj && obj.hasOwnProperty('common')) {\n obj = obj.common;\n }\n let settings;\n if (obj && obj.custom) {\n settings = (obj.custom || {})[NAMESPACE];\n const user = options.user || 'admin';\n if (settings && settings[user]) {\n if (forEnumId) {\n if (settings[user].subURLs && settings[user].subURLs[forEnumId]) {\n return JSON.parse(JSON.stringify(settings[user].subURLs[forEnumId]));\n }\n } else {\n if (settings[user].URLs) {\n return JSON.parse(JSON.stringify(settings[user].URLs));\n }\n }\n }\n }\n return null;\n }\n\n /**\n * Reorder the array items in list between source and dest.\n * @param {Iterable<any> | ArrayLike<any>} list\n * @param {number} source\n * @param {number} dest\n */\n static reorder(list, source, dest) {\n const result = Array.from(list);\n const [removed] = result.splice(source, 1);\n result.splice(dest, 0, removed);\n return result;\n };\n\n /**\n * @param {any} obj\n * @param {{ id: any; user: any; name: any; icon: any; color: any; language: ioBroker.Languages; }} options\n * @param {boolean} [defaultEnabling]\n */\n static getSettings(obj, options, defaultEnabling) {\n let settings;\n const id = (obj && obj._id) || (options && options.id);\n if (obj && obj.hasOwnProperty('common')) {\n obj = obj.common;\n }\n if (obj && obj.custom) {\n settings = obj.custom || {};\n settings = settings[NAMESPACE] && settings[NAMESPACE][options.user || 'admin'] ? JSON.parse(JSON.stringify(settings[NAMESPACE][options.user || 'admin'])) : {enabled: true};\n } else {\n settings = {enabled: defaultEnabling === undefined ? true : defaultEnabling, useCustom: false};\n }\n\n if (!settings.hasOwnProperty('enabled')) {\n settings.enabled = defaultEnabling === undefined ? true : defaultEnabling;\n }\n\n if (false && settings.useCommon) {\n if (obj.color) settings.color = obj.color;\n if (obj.icon) settings.icon = obj.icon;\n if (obj.name) settings.name = obj.name;\n } else {\n if (options) {\n if (!settings.name && options.name) settings.name = options.name;\n if (!settings.icon && options.icon) settings.icon = options.icon;\n if (!settings.color && options.color) settings.color = options.color;\n }\n\n if (obj) {\n if (!settings.color && obj.color) settings.color = obj.color;\n if (!settings.icon && obj.icon) settings.icon = obj.icon;\n if (!settings.name && obj.name) settings.name = obj.name;\n }\n }\n\n if (typeof settings.name === 'object') {\n settings.name = settings.name[options.language] || settings.name.en;\n\n settings.name = (settings.name || '').toString().replace(/_/g, ' ');\n\n if (settings.name === settings.name.toUpperCase()) {\n settings.name = settings.name[0] + settings.name.substring(1).toLowerCase();\n }\n }\n if (!settings.name && id) {\n let pos = id.lastIndexOf('.');\n settings.name = id.substring(pos + 1).replace(/[_.]/g, ' ');\n settings.name = (settings.name || '').toString().replace(/_/g, ' ');\n settings.name = Utils.CapitalWords(settings.name);\n }\n\n return settings;\n }\n\n /**\n * @param {any} obj\n * @param {any} settings\n * @param {{ user: any; language: ioBroker.Languages; }} options\n */\n static setSettings(obj, settings, options) {\n if (obj) {\n obj.common = obj.common || {};\n obj.common.custom = obj.common.custom || {};\n obj.common.custom[NAMESPACE] = obj.common.custom[NAMESPACE] || {};\n obj.common.custom[NAMESPACE][options.user || 'admin'] = settings;\n const s = obj.common.custom[NAMESPACE][options.user || 'admin'];\n if (s.useCommon) {\n if (s.color !== undefined) {\n obj.common.color = s.color;\n delete s.color;\n }\n if (s.icon !== undefined) {\n obj.common.icon = s.icon;\n delete s.icon;\n }\n if (s.name !== undefined) {\n if (typeof obj.common.name !== 'object') {\n obj.common.name = {};\n obj.common.name[options.language] = s.name;\n } else{\n obj.common.name[options.language] = s.name;\n }\n delete s.name;\n }\n }\n\n return true;\n } else {\n return false;\n }\n }\n\n /**\n * Get the icon for the given settings.\n * @param {{ icon: string | undefined; name: string | undefined; prefix: string | undefined}} settings\n * @param {any} style\n * @returns {JSX.Element | null}\n */\n static getIcon(settings, style) {\n if (settings && settings.icon) {\n // If UTF-8 icon\n if (settings.icon.length <= 2) {\n return <span style={style || {}}>{settings.icon}</span>;\n } else\n if (settings.icon.startsWith('data:image')) {\n return <img alt={settings.name} src={settings.icon} style={style || {}}/>;\n } else { // may be later some changes for second type\n return <img alt={settings.name} src={(settings.prefix || '') + settings.icon} style={style || {}}/>;\n }\n }\n return null;\n }\n\n /**\n * Get the icon for the given object.\n * @param {string} id\n * @param {{ common: { icon: any; }; }} obj\n * @returns {string | null}\n */\n static getObjectIcon(id, obj) {\n // If id is Object\n if (typeof id === 'object') {\n obj = id;\n id = obj._id;\n }\n\n if (obj && obj.common && obj.common.icon) {\n let icon = obj.common.icon;\n // If UTF-8 icon\n if (typeof icon === 'string' && icon.length <= 2) {\n return icon;\n } else\n if (icon.startsWith('data:image')) {\n return icon;\n } else {\n const parts = id.split('.');\n if (parts[0] === 'system') {\n icon = 'adapter/' + parts[2] + (icon.startsWith('/') ? '' : '/') + icon;\n } else {\n icon = 'adapter/' + parts[0] + (icon.startsWith('/') ? '' : '/') + icon;\n }\n\n if (window.location.pathname.match(/adapter\\/[^/]+\\/[^/]+\\.html/)) {\n icon = '../../' + icon;\n } else if (window.location.pathname.match(/material\\/[.\\d]+/)) {\n icon = '../../' + icon;\n } else\n if (window.location.pathname.match(/material\\//)) {\n icon = '../' + icon;\n }\n return icon;\n }\n } else {\n return null;\n }\n }\n\n /**\n * Splits CamelCase into words.\n * @param {string | undefined} text\n * @returns {string}\n */\n static splitCamelCase(text) {\n if (false && text !== text.toUpperCase()) {\n const words = text.split(/\\s+/);\n for (let i = 0; i < words.length; i++) {\n let word = words[i];\n if (word.toLowerCase() !== word && word.toUpperCase() !== word) {\n let z = 0;\n const ww = [];\n let start = 0;\n while (z < word.length) {\n if (word[z].match(/[A-ZÜÄÖА-Я]/)) {\n ww.push(word.substring(start, z));\n start = z;\n }\n z++;\n }\n if (start !== z) {\n ww.push(word.substring(start, z));\n }\n for (let k = 0; k < ww.length; k++) {\n words.splice(i + k, 0, ww[k]);\n }\n i += ww.length;\n }\n }\n\n return words.map(w => {\n w = w.trim();\n if (w) {\n return w[0].toUpperCase() + w.substring(1).toLowerCase();\n }\n return '';\n }).join(' ');\n } else {\n return Utils.CapitalWords(text);\n }\n }\n\n /**\n * Check if the given color is bright.\n * https://stackoverflow.com/questions/35969656/how-can-i-generate-the-opposite-color-according-to-current-color\n * @param {string | null | undefined} color\n * @param {boolean} [defaultValue]\n * @returns {boolean}\n */\n static isUseBright(color, defaultValue) {\n if (color === null || color === undefined || color === '') {\n return defaultValue === undefined ? true : defaultValue;\n }\n color = color.toString();\n if (color.indexOf('#') === 0) {\n color = color.slice(1);\n }\n let r;\n let g;\n let b;\n\n const rgb = color.match(/^rgba?[\\s+]?\\([\\s+]?(\\d+)[\\s+]?,[\\s+]?(\\d+)[\\s+]?,[\\s+]?(\\d+)[\\s+]?/i);\n if (rgb && rgb.length === 4) {\n r = parseInt(rgb[1], 10);\n g = parseInt(rgb[2], 10);\n b = parseInt(rgb[3], 10);\n } else {\n // convert 3-digit hex to 6-digits.\n if (color.length === 3) {\n color = color[0] + color[0] + color[1] + color[1] + color[2] + color[2];\n }\n // remove alfa channel\n if (color.length === 8) {\n color = color.substring(0, 6);\n } else\n if (color.length !== 6) {\n return false;\n }\n\n r = parseInt(color.slice(0, 2), 16);\n g = parseInt(color.slice(2, 4), 16);\n b = parseInt(color.slice(4, 6), 16);\n }\n\n // http://stackoverflow.com/a/3943023/112731\n return (r * 0.299 + g * 0.587 + b * 0.114) <= 186;\n };\n\n /**\n * Get the time string in the format 00:00.\n * @param {string | number} seconds\n */\n static getTimeString(seconds) {\n seconds = parseFloat(seconds);\n if (isNaN(seconds)) {\n return '--:--';\n }\n const hours = Math.floor(seconds / 3600);\n let minutes = Math.floor((seconds % 3600) / 60);\n let secs = seconds % 60;\n if (hours) {\n if (minutes < 10) minutes = '0' + minutes;\n if (secs < 10) secs = '0' + secs;\n return hours + ':' + minutes + ':' + secs;\n } else {\n if (secs < 10) secs = '0' + secs;\n return minutes + ':' + secs;\n }\n }\n\n /**\n * Gets the wind direction with the given angle (degrees).\n * @param {number} angle in degrees.\n * @returns {string | undefined}\n */\n static getWindDirection(angle) {\n if (angle >= 0 && angle < 11.25) {\n return 'N'\n } else if (angle >= 11.25 && angle < 33.75) {\n return 'NNE'\n } else if (angle >= 33.75 && angle < 56.25) {\n return 'NE'\n } else if (angle >= 56.25 && angle < 78.75) {\n return 'ENE'\n } else if (angle >= 78.75 && angle < 101.25) {\n return 'E'\n } else if (angle >= 101.25 && angle < 123.75) {\n return 'ESE'\n } else if (angle >= 123.75 && angle < 146.25) {\n return 'SE'\n } else if (angle >= 146.25 && angle < 168.75) {\n return 'SSE'\n } else if (angle >= 168.75 && angle < 191.25) {\n return 'S'\n } else if (angle >= 191.25 && angle < 213.75) {\n return 'SSW'\n } else if (angle >= 213.75 && angle < 236.25) {\n return 'SW'\n } else if (angle >= 236.25 && angle < 258.75) {\n return 'WSW'\n } else if (angle >= 258.75 && angle < 281.25) {\n return 'W'\n } else if (angle >= 281.25 && angle < 303.75) {\n return 'WNW'\n } else if (angle >= 303.75 && angle < 326.25) {\n return 'NW'\n } else if (angle >= 326.25 && angle < 348.75) {\n return 'NNW'\n } else if (angle >= 348.75) {\n return 'N'\n }\n }\n\n /**\n * Pad the given number with a zero if its not 2 digits long.\n * @param {string | number} num\n */\n static padding(num) {\n if (typeof num === 'string') {\n if (num.length < 2) {\n return '0' + num;\n } else {\n return num;\n }\n } else if (num < 10) {\n return '0' + num;\n } else {\n return num;\n }\n }\n\n /**\n * Sets the date format.\n * @param {string} format\n */\n static setDataFormat(format) {\n if (format) {\n Utils.dateFormat = format.toUpperCase().split(/[.-/]/);\n Utils.dateFormat.splice(Utils.dateFormat.indexOf('YYYY'), 1);\n }\n }\n\n /**\n * Converts the date to a string.\n * @param {string | number | Date} now\n * @returns {string}\n */\n static date2string(now) {\n if (typeof now === 'string') {\n now = now.trim();\n if (!now) return '';\n // only letters\n if (now.match(/^[\\w\\s]+$/)) {\n // Day of week\n return now;\n }\n let m = now.match(/(\\d{1,4})[-./](\\d{1,2})[-./](\\d{1,4})/);\n if (m) {\n let a = [parseInt(m[1], 10), parseInt(m[2], 10), parseInt(m[3], 10)];\n let year = a.find(y => y > 31);\n a.splice(a.indexOf(year), 1);\n let day = a.find(m => m > 12);\n if (day) {\n a.splice(a.indexOf(day), 1);\n now = new Date(year, a[0] - 1, day);\n } else {\n // MM DD\n if (Utils.dateFormat[0][0] === 'M' && Utils.dateFormat[1][0] === 'D') {\n now = new Date(year, a[0] - 1, a[1]);\n if (Math.abs(now.getTime - Date.now()) > 3600000 * 24 * 10) {\n now = new Date(year, a[1] - 1, a[0]);\n }\n } else\n // DD MM\n if (Utils.dateFormat[0][0] === 'D' && Utils.dateFormat[1][0] === 'M') {\n now = new Date(year, a[1] - 1, a[0]);\n if (Math.abs(now.getTime - Date.now()) > 3600000 * 24 * 10) {\n now = new Date(year, a[0] - 1, a[1]);\n }\n } else {\n now = new Date(now);\n }\n }\n } else {\n now = new Date(now);\n }\n } else {\n now = new Date(now);\n }\n\n let date = I18n.t('ra_dow_' + days[now.getDay()]).replace('ra_dow_', '');\n date += '. ' + now.getDate() + ' ' + I18n.t('ra_month_' + months[now.getMonth()]).replace('ra_month_', '');\n return date;\n }\n\n /**\n * Render a text as a link.\n * @param {string} text\n * @returns {string | JSX.Element[]}\n */\n static renderTextWithA(text) {\n let m = text.match(/<a [^<]+<\\/a>|<br\\/?>/);\n if (m) {\n const result = [];\n let key = 1;\n do {\n const p = text.split(m[0]);\n p[0] && result.push(<span key={'a' + (key++)}>{p[0]}</span>);\n\n if (m[0].startsWith('<br')) {\n result.push(<br key={'a' + (key++)} />);\n } else {\n let href = m[0].match(/href=\"([^\"]+)\"/) || m[0].match(/href='([^']+)'/);\n let target = m[0].match(/target=\"([^\"]+)\"/) || m[0].match(/target='([^']+)'/);\n let rel = m[0].match(/rel=\"([^\"]+)\"/) || m[0].match(/rel='([^']+)'/);\n const title = m[0].match(/>([^<]*)</);\n\n // eslint-disable-next-line\n result.push(<a key={'a' + (key++)} href={href ? href[1] : ''} target={target ? target[1] : '_blank'} rel={rel ? rel[1] : ''}>{title ? title[1] : ''}</a>);\n }\n\n text = p[1];\n\n m = text && text.match(/<a [^<]+<\\/a>|<br\\/?>/);\n if (!m) {\n p[1] && result.push(<span key={'a' + (key++)}>{p[1]}</span>);\n }\n } while (m);\n\n return result;\n } else {\n return text;\n }\n }\n\n /**\n * Get the smart name of the given state.\n * @param {Record<string, ioBroker.StateObject> | ioBroker.StateObject} states\n * @param {string} id\n * @param {string} instanceId\n * @param {boolean} [noCommon]\n */\n static getSmartName(states, id, instanceId, noCommon) {\n if (!id) {\n if (!noCommon) {\n if (!states.common) {\n return states.smartName;\n } else {\n if (states && !states.common) {\n return states.smartName;\n } else {\n return states.common.smartName;\n }\n }\n } else {\n if (states && !states.common) {\n return states.smartName;\n } else {\n return (states &&\n states.common &&\n states.common.custom &&\n states.common.custom[instanceId]) ?\n states.common.custom[instanceId].smartName : undefined;\n }\n }\n } else\n if (!noCommon) {\n return states[id].common.smartName;\n } else {\n return (states[id] &&\n states[id].common &&\n states[id].common.custom &&\n states[id].common.custom[instanceId]) ?\n states[id].common.custom[instanceId].smartName || null : null;\n }\n }\n\n /**\n * Get the smart name from a state.\n * @param {ioBroker.StateObject} obj\n * @param {string} instanceId\n * @param {boolean} [noCommon]\n */\n static getSmartNameFromObj(obj, instanceId, noCommon) {\n if (!noCommon) {\n if (!obj.common) {\n return obj.smartName;\n } else {\n if (obj && !obj.common) {\n return obj.smartName;\n } else {\n return obj.common.smartName;\n }\n }\n } else {\n if (obj && !obj.common) {\n return obj.smartName;\n } else {\n return (obj &&\n obj.common &&\n obj.common.custom &&\n obj.common.custom[instanceId]) ?\n obj.common.custom[instanceId].smartName : undefined;\n }\n }\n }\n\n /**\n * Enable smart name for a state.\n * @param {ioBroker.StateObject} obj\n * @param {string} instanceId\n * @param {boolean} [noCommon]\n */\n static enableSmartName(obj, instanceId, noCommon) {\n if (noCommon) {\n obj.common.custom = obj.common.custom || {};\n obj.common.custom[instanceId] = obj.common.custom[instanceId] || {};\n obj.common.custom[instanceId].smartName = {};\n } else {\n obj.common.smartName = {};\n }\n }\n\n /**\n * Completely remove smart name from a state.\n * @param {ioBroker.StateObject} obj\n * @param {string | number} instanceId\n * @param {boolean} [noCommon]\n */\n static removeSmartName(obj, instanceId, noCommon) {\n if (noCommon) {\n if (obj.common && obj.common.custom && obj.common.custom[instanceId]) {\n obj.common.custom[instanceId] = null;\n }\n } else {\n obj.common.smartName = null;\n }\n }\n\n /**\n * Update the smartname of a state.\n * @param {ioBroker.StateObject} obj\n * @param {string} newSmartName\n * @param {string | undefined} byON\n * @param {string | undefined} smartType\n * @param {string} instanceId\n * @param {boolean} [noCommon]\n */\n static updateSmartName(obj, newSmartName, byON, smartType, instanceId, noCommon) {\n const language = I18n.getLanguage();\n\n // convert Old format\n if (typeof obj.common.smartName === 'string') {\n const nnn = obj.common.smartName;\n obj.common.smartName = {};\n obj.common.smartName[language] = nnn;\n }\n\n // convert old settings\n if (obj.native && obj.native.byON) {\n delete obj.native.byON;\n let _smartName = obj.common.smartName;\n\n if (!_smartName || typeof _smartName !== 'object') {\n _smartName = {en: _smartName};\n _smartName[language] = _smartName.en;\n }\n obj.common.smartName = _smartName;\n }\n if (smartType !== undefined) {\n if (noCommon) {\n obj.common.custom = obj.common.custom || {};\n obj.common.custom[instanceId] = obj.common.custom[instanceId] || {};\n obj.common.custom[instanceId].smartName = obj.common.custom[instanceId].smartName || {};\n if (!smartType) {\n delete obj.common.custom[instanceId].smartName.smartType;\n } else {\n obj.common.custom[instanceId].smartName.smartType = smartType;\n }\n } else {\n obj.common.smartName = obj.common.smartName || {};\n if (!smartType) {\n delete obj.common.smartName.smartType;\n } else {\n obj.common.smartName.smartType = smartType;\n }\n\n }\n }\n if (byON !== undefined) {\n if (noCommon) {\n obj.common.custom = obj.common.custom || {};\n obj.common.custom[instanceId] = obj.common.custom[instanceId] || {};\n obj.common.custom[instanceId].smartName = obj.common.custom[instanceId].smartName || {};\n obj.common.custom[instanceId].smartName.byON = byON;\n } else {\n obj.common.smartName = obj.common.smartName || {};\n obj.common.smartName.byON = byON;\n }\n }\n if (newSmartName !== undefined) {\n let smartName;\n if (noCommon) {\n obj.common.custom = obj.common.custom || {};\n obj.common.custom[instanceId] = obj.common.custom[instanceId] || {};\n obj.common.custom[instanceId].smartName = obj.common.custom[instanceId].smartName || {};\n smartName = obj.common.custom[instanceId].smartName;\n } else {\n obj.common.smartName = obj.common.smartName || {};\n smartName = obj.common.smartName;\n }\n smartName[language] = newSmartName;\n\n // If smart name deleted\n if (smartName && (!smartName[language] ||\n (smartName[language] === obj.common.name &&\n (!obj.common.role || obj.common.role.indexOf('button') >= 0)))) {\n delete smartName[language];\n let empty = true;\n // Check if structure has any definitions\n for (const key in smartName) {\n if (smartName.hasOwnProperty(key)) {\n empty = false;\n break;\n }\n }\n // If empty => delete smartName completely\n if (empty) {\n if (noCommon) {\n if (obj.common.custom[instanceId].smartName.byON === undefined) {\n delete obj.common.custom[instanceId];\n } else {\n delete obj.common.custom[instanceId].en;\n delete obj.common.custom[instanceId].de;\n delete obj.common.custom[instanceId].ru;\n delete obj.common.custom[instanceId].nl;\n delete obj.common.custom[instanceId].pl;\n delete obj.common.custom[instanceId].it;\n delete obj.common.custom[instanceId].fr;\n delete obj.common.custom[instanceId].pt;\n delete obj.common.custom[instanceId].es;\n delete obj.common.custom[instanceId]['zh-cn'];\n }\n } else {\n if (obj.common.smartName.byON !== undefined) {\n delete obj.common.smartName.en;\n delete obj.common.smartName.de;\n delete obj.common.smartName.ru;\n delete obj.common.smartName.nl;\n delete obj.common.smartName.pl;\n delete obj.common.smartName.it;\n delete obj.common.smartName.fr;\n delete obj.common.smartName.pt;\n delete obj.common.smartName.es;\n delete obj.common.smartName['zh-cn'];\n } else {\n obj.common.smartName = null;\n }\n }\n }\n }\n }\n }\n\n /**\n * Disable the smart name of a state.\n * @param {ioBroker.StateObject} obj\n * @param {string} instanceId\n * @param {boolean} [noCommon]\n */\n static disableSmartName(obj, instanceId, noCommon) {\n if (noCommon) {\n obj.common.custom = obj.common.custom || {};\n obj.common.custom[instanceId] = obj.common.custom[instanceId] || {};\n obj.common.custom[instanceId].smartName = false;\n } else {\n obj.common.smartName = false;\n }\n }\n\n /**\n * Copy text to the clipboard.\n * @param {string} text\n * @param {Event} [e]\n */\n static copyToClipboard(text, e) {\n e && e.stopPropagation();\n e && e.preventDefault()\n return copy(text);\n }\n\n /**\n * Gets the extension of a file name.\n * @param {string | null} [fileName] the file name.\n * @returns {string | null} The extension in lower case.\n */\n static getFileExtension(fileName) {\n const pos = (fileName || '').lastIndexOf('.');\n if (pos !== -1) {\n return fileName.substring(pos + 1).toLowerCase();\n } else {\n return null;\n }\n }\n\n /**\n * Format number of bytes as a string with B, KB, MB or GB.\n * The base for all calculations is 1024.\n * @param {number} bytes The number of bytes.\n * @returns {string} The formatted string (e.g. '723.5 KB')\n */\n static formatBytes(bytes) {\n if (Math.abs(bytes) < 1024) {\n return bytes + ' B';\n }\n\n const units = ['KB','MB','GB'];\n //const units = ['KiB','MiB','GiB','TiB','PiB','EiB','ZiB','YiB'];\n let u = -1;\n\n do {\n bytes /= 1024;\n ++u;\n } while (Math.abs(bytes) >= 1024 && u < units.length - 1);\n\n return bytes.toFixed(1) + ' ' + units[u];\n }\n\n /**\n * Invert the given color according to theme type to get the inverted text color for background\n * @param {string} color Color in the format '#rrggbb' or '#rgb' (or without hash)\n * @param {string} themeType theme type\n * @param {string} invert dark theme has light color in control or light theme has light color in control\n * @returns {string}\n */\n static getInvertedColor(color, themeType, invert) {\n if (!color) {\n return undefined;\n } else {\n const invertedColor = Utils.invertColor(color, true);\n if (invertedColor === '#FFFFFF' && (themeType === 'dark' || (invert && themeType === 'light'))) {\n return '#DDD';\n } else\n if (invertedColor === '#000000' && (themeType === 'light' || (invert && themeType === 'dark'))) {\n return '#222';\n } else {\n return undefined;\n }\n }\n }\n\n // Big thanks to: https://stackoverflow.com/questions/35969656/how-can-i-generate-the-opposite-color-according-to-current-color\n /**\n * Invert the given color\n * @param {string} hex Color in the format '#rrggbb' or '#rgb' (or without hash)\n * @param {boolean} bw Set to black or white.\n * @returns {string}\n */\n static invertColor(hex, bw) {\n if (hex === undefined || hex === null || hex === '' || typeof hex !== 'string') {\n return '';\n }\n if (hex.startsWith('rgba')) {\n const m = hex.match(/rgba?\\((\\d+),\\s*(\\d+),\\s*(\\d+),\\s*([.\\d]+)\\)/);\n if (m) {\n hex = parseInt(m[1], 10).toString(16).padStart(2, '0') +\n parseInt(m[2], 10).toString(16).padStart(2, '0') +\n parseInt(m[2], 10).toString(16).padStart(2, '0');\n }\n } else if (hex.startsWith('rgb')) {\n const m = hex.match(/rgb?\\((\\d+),\\s*(\\d+),\\s*(\\d+)\\)/);\n if (m) {\n hex = parseInt(m[1], 10).toString(16).padStart(2, '0') +\n parseInt(m[2], 10).toString(16).padStart(2, '0') +\n parseInt(m[2], 10).toString(16).padStart(2, '0');\n }\n } else\n if (hex.startsWith('#')) {\n hex = hex.slice(1);\n }\n // convert 3-digit hex to 6-digits.\n if (hex.length === 3) {\n hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2];\n }\n let alfa = null;\n if (hex.length === 8) {\n alfa = hex.substring(6, 8);\n hex = hex.substring(0, 6);\n } else\n if (hex.length !== 6) {\n console.warn('Cannot invert color: ' + hex);\n return hex;\n }\n let r = parseInt(hex.slice(0, 2), 16);\n let g = parseInt(hex.slice(2, 4), 16);\n let b = parseInt(hex.slice(4, 6), 16);\n\n if (bw) {\n // http://stackoverflow.com/a/3943023/112731\n return (r * 0.299 + g * 0.587 + b * 0.114) > 186\n ? `#000000${alfa ? alfa : ''}`\n : `#FFFFFF${alfa ? alfa : ''}`;\n }\n // invert color components\n r = (255 - r).toString(16);\n g = (255 - g).toString(16);\n b = (255 - b).toString(16);\n // pad each with zeros and return\n return `#${r.padStart(2, '0')}${g.padStart(2, '0')}${b.padStart(2, '0')}${alfa ? alfa : ''}`;\n }\n\n /**\n * Convert RGB to array [r, g, b]\n * @param {string} hex Color in the format '#rrggbb' or '#rgb' (or without hash) or rgb(r,g,b) or rgba(r,g,b,a)\n * @returns {Array<number>} Array with 3 elements [r, g, b]\n */\n static color2rgb(hex) {\n if (hex === undefined || hex === null || hex === '' || typeof hex !== 'string') {\n return '';\n }\n if (hex.startsWith('rgba')) {\n const m = hex.match(/rgba?\\((\\d+),\\s*(\\d+),\\s*(\\d+),\\s*([.\\d]+)\\)/);\n if (m) {\n hex = parseInt(m[1], 10).toString(16).padStart(2, '0') +\n parseInt(m[2], 10).toString(16).padStart(2, '0') +\n parseInt(m[2], 10).toString(16).padStart(2, '0');\n }\n } else if (hex.startsWith('rgba')) {\n const m = hex.match(/rgb?\\((\\d+),\\s*(\\d+),\\s*(\\d+)\\)/);\n if (m) {\n hex = parseInt(m[1], 10).toString(16).padStart(2, '0') +\n parseInt(m[2], 10).toString(16).padStart(2, '0') +\n parseInt(m[2], 10).toString(16).padStart(2, '0');\n }\n } else\n if (hex.startsWith('#')) {\n hex = hex.slice(1);\n }\n // convert 3-digit hex to 6-digits.\n if (hex.length === 3) {\n hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2];\n }\n if (hex.length !== 6 && hex.length !== 8) {\n console.warn(`Cannot invert color: ${hex}`);\n return false;\n }\n\n return [\n parseInt(hex.slice(0, 2), 16),\n parseInt(hex.slice(2, 4), 16),\n parseInt(hex.slice(4, 6), 16),\n ];\n }\n\n // Big thanks to: https://github.com/antimatter15/rgb-lab\n /**\n * Convert RGB to LAB\n * @param {Array<number>} rgb color in format [r,g,b]\n * @returns {Array<number>} lab color in format [l,a,b]\n */\n static rgb2lab(rgb){\n let r = rgb[0] / 255;\n let g = rgb[1] / 255;\n let b = rgb[2] / 255;\n\n r = (r > 0.04045) ? Math.pow((r + 0.055) / 1.055, 2.4) : r / 12.92;\n g = (g > 0.04045) ? Math.pow((g + 0.055) / 1.055, 2.4) : g / 12.92;\n b = (b > 0.04045) ? Math.pow((b + 0.055) / 1.055, 2.4) : b / 12.92;\n\n let x = (r * 0.4124 + g * 0.3576 + b * 0.1805) / 0.95047;\n let y = (r * 0.2126 + g * 0.7152 + b * 0.0722); /* / 1.00000; */\n let z = (r * 0.0193 + g * 0.1192 + b * 0.9505) / 1.08883;\n\n x = (x > 0.008856) ? Math.pow(x, 0.33333333) : (7.787 * x) + 0.137931; // 16 / 116;\n y = (y > 0.008856) ? Math.pow(y, 0.33333333) : (7.787 * y) + 0.137931; // 16 / 116;\n z = (z > 0.008856) ? Math.pow(z, 0.33333333) : (7.787 * z) + 0.137931; // 16 / 116;\n\n return [(116 * y) - 16, 500 * (x - y), 200 * (y - z)];\n }\n\n /**\n * Calculate the distance between two colors in LAB color space in the range 0-100^2\n * If distance is less than 1000, the colors are similar\n * @param {string} color1 Color in the format '#rrggbb' or '#rgb' (or without hash) or rgb(r,g,b) or rgba(r,g,b,a)\n * @param {string} color2 Color in the format '#rrggbb' or '#rgb' (or without hash) or rgb(r,g,b) or rgba(r,g,b,a)\n * @returns {number} distance in the range 0-100^2\n */\n static colorDistance(color1, color2) {\n const lab1 = Utils.rgb2lab(Utils.color2rgb(color1));\n const lab2 = Utils.rgb2lab(Utils.color2rgb(color2));\n const dltL = lab1[0] - lab2[0];\n const dltA = lab1[1] - lab2[1];\n const dltB = lab1[2] - lab2[2];\n const c1 = Math.sqrt(lab1[1] * lab1[1] + lab1[2] * lab1[2]);\n const c2 = Math.sqrt(lab2[1] * lab2[1] + lab2[2] * lab2[2]);\n const dltC = c1 - c2;\n let dltH = dltA * dltA + dltB * dltB - dltC * dltC;\n dltH = dltH < 0 ? 0 : Math.sqrt(dltH);\n const sc = 1.0 + 0.045 * c1;\n const sh = 1.0 + 0.015 * c1;\n const dltLKlsl = dltL;\n const dltCkcsc = dltC / sc;\n const dltHkhsh = dltH / sh;\n const i = dltLKlsl * dltLKlsl + dltCkcsc * dltCkcsc + dltHkhsh * dltHkhsh;\n return i < 0 ? 0 : i;\n }\n\n // https://github.com/lukeed/clsx/blob/master/src/index.js\n // License\n // MIT © Luke Edwards\n /**\n * @private\n * @param {any} mix\n * @returns {string}\n */\n static _toVal(mix) {\n let y;\n let str = '';\n\n if (typeof mix === 'string' || typeof mix === 'number') {\n str += mix;\n } else if (typeof mix === 'object') {\n if (Array.isArray(mix)) {\n for (let k = 0; k < mix.length; k++) {\n if (mix[k]) {\n y = Utils._toVal(mix[k]);\n if (y) {\n str && (str += ' ');\n str += y;\n }\n }\n }\n } else {\n for (const k in mix) {\n if (mix[k]) {\n str && (str += ' ');\n str += k;\n }\n }\n }\n }\n\n return str;\n }\n\n // https://github.com/lukeed/clsx/blob/master/src/index.js\n // License\n // MIT © Luke Edwards\n /**\n * Convert any object to a string with its values.\n * @returns {string}\n */\n static clsx () {\n let i = 0;\n let tmp;\n let x;\n let str = '';\n while (i < arguments.length) {\n if ((tmp = arguments[i++])) {\n if ((x = Utils._toVal(tmp))) {\n str && (str += ' ');\n str += x\n }\n }\n }\n return str;\n }\n\n /**\n * Get the current theme name (either from local storage or the browser settings).\n * @param {string} [themeName]\n * @returns {string}\n */\n static getThemeName(themeName = '') {\n if (window.vendorPrefix && window.vendorPrefix !== '@@vendorPrefix@@') {\n return window.vendorPrefix;\n }\n\n return themeName ? themeName : (window._localStorage || window.localStorage).getItem('App.themeName') ?\n (window._localStorage || window.localStorage).getItem('App.themeName') : window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'colored';\n }\n\n /**\n * Get the type of theme.\n * @param {string} [themeName]\n * @returns {'dark' | 'light'}\n */\n static getThemeType(themeName = '') {\n if (window.vendorPrefix && window.vendorPrefix !== '@@vendorPrefix@@') {\n return 'light';\n }\n\n themeName = themeName || (window._localStorage || window.localStorage).getItem('App.themeName');\n return themeName === 'dark' || themeName === 'blue' ? 'dark' : 'light';\n }\n\n /**\n * Set the theme name and theme type.\n * @param {string} themeName\n */\n static setThemeName(themeName) {\n if (window.vendorPrefix && window.vendorPrefix !== '@@vendorPrefix@@') {\n return; // ignore\n }\n (window._localStorage || window.localStorage).setItem('App.themeName', themeName);\n (window._localStorage || window.localStorage).setItem('App.theme', themeName === 'dark' || themeName === 'blue' ? 'dark' : 'light');\n }\n\n /**\n * Toggle the theme name between 'dark' and 'colored'.\n * @param {string | null} themeName\n * @returns {string} the new theme name.\n */\n static toggleTheme(themeName) {\n if (window.vendorPrefix && window.vendorPrefix !== '@@vendorPrefix@@') {\n return window.vendorPrefix;\n }\n themeName = themeName || (window._localStorage || window.localStorage).getItem('App.themeName');\n\n // dark => blue => colored => light => dark\n const themes = Utils.getThemeNames();\n const pos = themes.indexOf(themeName);\n let newTheme;\n if (pos !== -1) {\n newTheme = themes[(pos + 1) % themes.length];\n } else {\n newTheme = themes[0];\n }\n Utils.setThemeName(newTheme);\n\n return newTheme;\n }\n\n /**\n * Get the list of themes\n * @returns {array<string>} list of possible themes\n */\n static getThemeNames() {\n if (window.vendorPrefix && window.vendorPrefix !== '@@vendorPrefix@@') {\n return [window.vendorPrefix];\n }\n\n return ['light', 'dark', 'blue', 'colored'];\n }\n\n /**\n * Parse a query string into its parts.\n * @param {string} query\n * @returns {Record<string, string | boolean | number>}\n */\n static parseQuery(query) {\n query = (query || '').toString().replace(/^\\?/, '');\n /** @type {Record<string, string | boolean | number>} */\n const result = {};\n query.split('&').forEach(part => {\n part = part.trim();\n if (part) {\n const parts = part.split('=');\n const attr = decodeURIComponent(parts[0]).trim();\n if (parts.length > 1) {\n result[attr] = decodeURIComponent(parts[1]);\n if (result[attr] === 'true') {\n result[attr] = true;\n } else if (result[attr] === 'false') {\n result[attr] = false;\n } else {\n const f = parseFloat(result[attr]);\n if (f.toString() === result[attr]) {\n result[attr] = f;\n }\n }\n } else {\n result[attr] = true;\n }\n }\n });\n return result;\n }\n\n /**\n * Returns parent ID.\n * @param {string} id\n * @returns {string | null} parent ID or null if no parent\n */\n static getParentId(id) {\n const p = (id || '').toString().split('.');\n if (p.length > 1) {\n p.pop();\n return p.join('.');\n } else {\n return null;\n }\n }\n\n static formatDate(dateObj, dateFormat) {\n // format could be DD.MM.YYYY, YYYY.MM.DD or MM/DD/YYYY\n\n if (!dateObj) {\n return '';\n }\n\n let text;\n let mm = dateObj.getMonth() + 1;\n if (mm < 10) {\n mm = '0' + mm;\n }\n\n let dd = dateObj.getDate();\n if (dd < 10) {\n dd = '0' + dd;\n }\n\n if (dateFormat === 'MM/DD/YYYY') {\n text = mm + '/' + dd + '/' + dateObj.getFullYear();\n } else {\n text = dateObj.getFullYear() + '-' + mm + '-' + dd;\n }\n\n // time\n let v = dateObj.getHours();\n if (v < 10) {\n text += ' 0' + v;\n } else {\n text += ' ' + v;\n }\n v = dateObj.getMinutes();\n if (v < 10) {\n text += ':0' + v;\n } else {\n text += ':' + v;\n }\n\n v = dateObj.getSeconds();\n if (v < 10) {\n text += ':0' + v;\n } else {\n text += ':' + v;\n }\n\n v = dateObj.getMilliseconds();\n if (v < 10) {\n text += '.00' + v;\n } else if (v < 100) {\n text += '.0' + v;\n } else {\n text += '.' + v;\n }\n\n return text;\n }\n\n static formatTime(seconds) {\n if (seconds) {\n seconds = Math.round(seconds);\n const d = Math.floor(seconds / (3600 * 24));\n const h = Math.floor((seconds % (3600 * 24)) / 3600);\n const m = Math.floor((seconds % 3600) / 60);\n const s = seconds % 60;\n if (d) {\n return `${d}.${h.toString().padStart(2, '0')}:${m.toString().padStart(2, '0')}:${s.toString().padStart(2, '0')}`;\n } else if (h) {\n return `${h}:${m.toString().padStart(2, '0')}:${s.toString().padStart(2, '0')}`;\n } else {\n return `0:${m.toString().padStart(2, '0')}:${s.toString().padStart(2, '0')}`;\n }\n } else {\n return '0:00:00';\n }\n }\n\n static MDtext2link(text) {\n const m = text.match(/\\d+\\.\\)\\s/);\n if (m) {\n text = text.replace(m[0], m[0].replace(/\\s/, ' '));\n }\n\n return text.replace(/[^a-zA-Zа-яА-Я0-9]/g, '').trim().replace(/\\s/g, '').toLowerCase();\n }\n\n static openLink(url, target) {\n // replace IPv6 Address with [ipv6]:port\n url = url.replace(/\\/\\/([0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*)(:\\d+)?\\//i, '//[$1]$2/');\n\n if (target === 'this') {\n window.location = url;\n } else {\n window.open(url, target || '_blank');\n }\n }\n\n static MDgetTitle(text) {\n let {body, header} = Utils.extractHeader(text);\n if (!header.title) {\n // remove {docsify-bla}\n body = body.replace(/{[^}]*}/g, '');\n body = body.trim();\n const lines = body.replace(/\\r/g, '').split('\\n');\n for (let i = 0; i < lines.length; i++) {\n if (lines[i].startsWith('# ')) {\n return lines[i].substring(2).trim();\n }\n }\n return '';\n } else {\n return header.title;\n }\n }\n\n static MDextractHeader(text) {\n const attrs = {};\n if (text.substring(0, 3) === '---') {\n const pos = text.substring(3).indexOf('\\n---');\n if (pos !== -1) {\n const _header = text.substring(3, pos + 3);\n const lines = _header.replace(/\\r/g, '').split('\\n');\n lines.forEach(line => {\n if (!line.trim()) {\n return;\n }\n const pos = line.indexOf(':');\n if (pos !== -1) {\n const attr = line.substring(0, pos).trim();\n attrs[attr] = line.substring(pos + 1).trim();\n attrs[attr] = attrs[attr].replace(/^['\"]|['\"]$/g, '');\n if (attrs[attr] === 'true') {\n attrs[attr] = true;\n } else if (attrs[attr] === 'false') {\n attrs[attr] = false;\n } else if (parseFloat(attrs[attr]).toString() === attrs[attr]) {\n attrs[attr] = parseFloat(attrs[attr]);\n }\n } else {\n attrs[line.trim()] = true;\n }\n });\n text = text.substring(pos + 7);\n }\n }\n return {header: attrs, body: text};\n }\n\n static MDremoveDocsify(text) {\n const m = text.match(/{docsify-[^}]*}/g);\n if (m) {\n m.forEach(doc => text = text.replace(doc, ''));\n }\n return text;\n }\n\n /**\n * Generate the json file on the file for download.\n * @param {string} filename file name\n * @returns {object} json structure (not stringified)\n */\n static generateFile(filename, json) {\n let el = document.createElement('a');\n el.setAttribute('href', 'data:application/json;charset=utf-8,' + encodeURIComponent(JSON.stringify(json, null, 2)));\n el.setAttribute('download', filename);\n\n el.style.display = 'none';\n document.body.appendChild(el);\n\n el.click();\n\n document.body.removeChild(el);\n }\n\n /**\n * Convert quality code into text\n * @param {number} quality code\n * @returns {array<string>} lines that decode qulity\n */\n static quality2text(quality) {\n const custom = quality & 0xFFFF0000;\n const text = QUALITY_BITS[quality];\n let result;\n if (text) {\n result = [text];\n } else if (quality & 0x01) {\n result = [QUALITY_BITS[0x01], '0x' + (quality & (0xFFFF & ~1)).toString(16)];\n } else if (quality & 0x02) {\n result = [QUALITY_BITS[0x02], '0x' + (quality & (0xFFFF & ~2)).toString(16)];\n } else {\n result = ['0x' + quality.toString(16)];\n }\n if (custom) {\n result.push('0x' + (custom >> 16).toString(16).toUpperCase());\n }\n return result;\n }\n\n /**\n * Deep copy object\n * @param {object} object\n * @returns {object}\n */\n static clone(object) {\n return JSON.parse(JSON.stringify(object));\n }\n\n /**\n * Get states of object\n * @param {object} obj\n * @returns {object} states as an object in form {\"value1\": \"label1\", \"value2\": \"label2\"} or null\n */\n static getStates(obj) {\n let states = obj?.common?.states;\n if (states) {\n if (typeof states === 'string' && states[0] === '{') {\n try {\n states = JSON.parse(states);\n } catch (ex) {\n console.error(`Cannot parse states: ${states}`);\n states = null;\n }\n } else\n // if old format val1:text1;val2:text2\n if (typeof states === 'string') {\n const parts = states.split(';');\n states = {};\n for (let p = 0; p < parts.length; p++) {\n const s = parts[p].split(':');\n states[s[0]] = s[1];\n }\n } else if (Array.isArray(states)) {\n const result = {};\n if (obj.common.type === 'number') {\n states.forEach((value, key) => result[key] = value);\n } else\n if (obj.common.type === 'string') {\n states.forEach(value => result[value] = value);\n } else if (obj.common.type === 'boolean') {\n result['false'] = states[0];\n result['true'] = states[1];\n }\n\n return result;\n }\n }\n\n return states;\n }\n\n /**\n * Get svg file as text\n * @param {string} url URL of SVG file\n * @returns {object} Promise with \"data:image...\"\n */\n static getSvg(url) {\n return fetch(url)\n .then(response => response.blob())\n .then(blob => {\n return new Promise(resolve => {\n const reader = new FileReader();\n reader.onload = function() { // do not optimize this function. \"this\" is important.\n resolve(this.result);\n };\n reader.readAsDataURL(blob);\n });\n });\n }\n\n /**\n * Detect file xtension by its content\n * @param {string} base64 Base64 encoded binary file\n * @returns {string} Detected extension, like 'jpg'\n */\n static detectMimeType(base64) {\n const signature = Object.keys(SIGNATURES).find(s => base64.startsWith(s));\n return signature ? SIGNATURES[signature] : null;\n }\n}\n\nexport default Utils;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Utils.js","names":["NAMESPACE","days","months","QUALITY_BITS","SIGNATURES","JVBERi0","R0lGODdh","R0lGODlh","iVBORw0KGgo","PHN2Zw","Qk1","AAABAA","Utils","name","split","filter","item","map","word","toUpperCase","substring","toLowerCase","join","seconds","Math","floor","hours","minutes","text","I18n","t","objects","id","settings","options","isDesc","attr","language","common","window","sysLang","en","desc","de","ru","toString","replace","pos","lastIndexOf","CapitalWords","trim","obj","noTrim","_id","forEnumId","hasOwnProperty","custom","user","subOrder","JSON","parse","stringify","order","subURLs","URLs","list","source","dest","result","Array","from","splice","removed","defaultEnabling","enabled","undefined","useCustom","useCommon","color","icon","s","style","length","startsWith","prefix","parts","location","pathname","match","words","i","z","ww","start","push","k","w","defaultValue","indexOf","slice","r","g","b","rgb","parseInt","parseFloat","isNaN","secs","angle","num","format","dateFormat","now","m","a","year","find","y","day","Date","abs","getTime","date","getDay","getDate","getMonth","key","index","href","target","rel","title","states","instanceId","noCommon","smartName","newSmartName","byON","smartType","getLanguage","nnn","_smartName","role","empty","nl","pl","it","fr","pt","es","e","stopPropagation","preventDefault","copy","fileName","bytes","units","u","toFixed","themeType","invert","invertedColor","invertColor","hex","bw","padStart","alfa","console","warn","pow","x","color1","color2","lab1","rgb2lab","color2rgb","lab2","dltL","dltA","dltB","c1","sqrt","c2","dltC","dltH","sc","sh","dltLKlsl","dltCkcsc","dltHkhsh","mix","str","isArray","_toVal","tmp","arguments","themeName","vendorPrefix","_localStorage","localStorage","getItem","matchMedia","matches","setItem","themes","getThemeNames","newTheme","setThemeName","query","forEach","part","decodeURIComponent","f","p","pop","dateObj","mm","dd","getFullYear","v","getHours","getMinutes","getSeconds","getMilliseconds","round","d","h","url","open","extractHeader","body","header","lines","attrs","_header","line","doc","filename","json","el","document","createElement","setAttribute","encodeURIComponent","display","appendChild","click","removeChild","quality","object","ex","error","type","value","fetch","then","response","blob","Promise","resolve","reader","FileReader","onload","readAsDataURL","base64","signature","Object","keys"],"sources":["Utils.js"],"sourcesContent":["/**\n * Copyright 2018-2022 bluefox <dogafox@gmail.com>\n *\n * MIT License\n *\n **/\nimport React from 'react';\nimport copy from './copy-to-clipboard';\nimport I18n from '../i18n';\n\nconst NAMESPACE = 'material';\nconst days = ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'];\nconst months = ['Jan', 'Feb', 'Mar', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\nconst QUALITY_BITS = {\n 0x00: '0x00 - good',\n\n 0x01: '0x01 - general problem',\n 0x02: '0x02 - no connection problem',\n\n 0x10: '0x10 - substitute value from controller',\n 0x20: '0x20 - substitute initial value',\n 0x40: '0x40 - substitute value from device or instance',\n 0x80: '0x80 - substitute value from sensor',\n\n 0x11: '0x11 - general problem by instance',\n 0x41: '0x41 - general problem by device',\n 0x81: '0x81 - general problem by sensor',\n\n 0x12: '0x12 - instance not connected',\n 0x42: '0x42 - device not connected',\n 0x82: '0x82 - sensor not connected',\n\n 0x44: '0x44 - device reports error',\n 0x84: '0x84 - sensor reports error',\n};\nconst SIGNATURES = {\n JVBERi0: 'pdf',\n R0lGODdh: 'gif',\n R0lGODlh: 'gif',\n iVBORw0KGgo: 'png',\n '/9j/': 'jpg',\n PHN2Zw: 'svg',\n Qk1: 'bmp',\n AAABAA: 'ico' // 00 00 01 00 according to https://en.wikipedia.org/wiki/List_of_file_signatures\n};\n\nclass Utils {\n static namespace = NAMESPACE;\n static INSTANCES = 'instances';\n static dateFormat = ['DD', 'MM'];\n static FORBIDDEN_CHARS = /[^._\\-/ :!#$%&()+=@^{}|~\\p{Ll}\\p{Lu}\\p{Nd}]+/gu;\n\n /**\n * Capitalize words.\n * @param {string | undefined} name\n * @returns {string}\n */\n static CapitalWords(name) {\n return (name || '').split(/[\\s_]/)\n .filter(item => item)\n .map(word => word ? word[0].toUpperCase() + word.substring(1).toLowerCase() : '')\n .join(' ');\n }\n\n static formatSeconds(seconds) {\n const days = Math.floor(seconds / (3600 * 24));\n seconds %= 3600 * 24;\n let hours = Math.floor(seconds / 3600);\n if (hours < 10) {\n hours = '0' + hours;\n }\n seconds %= 3600;\n let minutes = Math.floor(seconds / 60);\n if (minutes < 10) {\n minutes = '0' + minutes;\n }\n seconds %= 60;\n seconds = Math.floor(seconds);\n if (seconds < 10) {\n seconds = '0' + seconds;\n }\n let text = '';\n if (days) {\n text += `${days} ${I18n.t('ra_daysShortText')} `;\n }\n text += `${hours}:${minutes}:${seconds}`;\n\n return text;\n }\n\n /**\n * Get the name of the object by id from the name or description.\n * @param {Record<string, ioBroker.Object>} objects\n * @param {string} id\n * @param {{ name: any; } | ioBroker.Languages | null} settings\n * @param {{ language?: ioBroker.Languages; }} options\n * @param {boolean} [isDesc] Set to true to get the description.\n * @returns {string}\n */\n static getObjectName(objects, id, settings, options, isDesc) {\n let item = objects[id];\n let text = id;\n const attr = isDesc ? 'desc' : 'name';\n\n if (typeof settings === 'string' && !options) {\n options = {language: settings};\n settings = null;\n }\n\n options = options || {};\n if (!options.language) {\n options.language = (objects['system.config'] && objects['system.config'].common && objects['system.config'].common.language) || window.sysLang || 'en';\n }\n if (settings && settings.name) {\n text = settings.name;\n if (typeof text === 'object') {\n text = text[options.language] || text.en;\n }\n } else\n if (item && item.common && item.common[attr]) {\n text = item.common[attr];\n if (attr !== 'desc' && !text && item.common.desc) {\n text = item.common.desc;\n }\n if (typeof text === 'object') {\n text = text[options.language] || text.en || text.de || text.ru || '';\n }\n text = (text || '').toString().replace(/[_.]/g, ' ');\n\n if (text === text.toUpperCase()) {\n text = text[0] + text.substring(1).toLowerCase();\n }\n } else {\n let pos = id.lastIndexOf('.');\n text = id.substring(pos + 1).replace(/[_.]/g, ' ');\n text = Utils.CapitalWords(text);\n }\n\n return text.trim();\n }\n\n /**\n * Get the name of the object from the name or description.\n * @param {ioBroker.PartialObject} obj\n * @param {{ name: any; } | ioBroker.Languages | null } settings or language\n * @param {{ language?: ioBroker.Languages; } } options\n * @param {boolean} [isDesc] Set to true to get the description.\n * @param {boolean} [noTrim] Allow to use spaces in name (by edit)\n * @returns {string}\n */\n static getObjectNameFromObj(obj, settings, options, isDesc, noTrim) {\n let item = obj;\n let text = (obj && obj._id) || '';\n const attr = isDesc ? 'desc' : 'name';\n\n if (typeof settings === 'string' && !options) {\n options = {language: settings};\n settings = null;\n }\n\n options = options || {};\n\n if (settings && settings.name) {\n text = settings.name;\n if (typeof text === 'object') {\n text = text[options.language] || text.en;\n }\n } else\n if (item && item.common && item.common[attr]) {\n text = item.common[attr];\n if (attr !== 'desc' && !text && item.common.desc) {\n text = item.common.desc;\n }\n if (typeof text === 'object') {\n text = text[options.language] || text.en;\n }\n text = (text || '').toString().replace(/[_.]/g, ' ');\n\n if (text === text.toUpperCase()) {\n text = text[0] + text.substring(1).toLowerCase();\n }\n }\n return noTrim ? text : text.trim();\n }\n\n /**\n * @param {ioBroker.PartialObject | ioBroker.ObjectCommon} obj\n * @param {string} forEnumId\n * @param {{ user: string; }} options\n * @returns {string | null}\n */\n static getSettingsOrder(obj, forEnumId, options) {\n if (obj && obj.hasOwnProperty('common')) {\n obj = obj.common;\n }\n let settings;\n if (obj && obj.custom) {\n settings = (obj.custom || {})[NAMESPACE];\n const user = options.user || 'admin';\n if (settings && settings[user]) {\n if (forEnumId) {\n if (settings[user].subOrder && settings[user].subOrder[forEnumId]) {\n return JSON.parse(JSON.stringify(settings[user].subOrder[forEnumId]));\n }\n } else {\n if (settings[user].order) {\n return JSON.parse(JSON.stringify(settings[user].order));\n }\n }\n }\n }\n return null;\n }\n\n /**\n * @param {ioBroker.PartialObject | ioBroker.ObjectCommon} obj\n * @param {string} forEnumId\n * @param {{ user: string; }} options\n */\n static getSettingsCustomURLs(obj, forEnumId, options) {\n if (obj && obj.hasOwnProperty('common')) {\n obj = obj.common;\n }\n let settings;\n if (obj && obj.custom) {\n settings = (obj.custom || {})[NAMESPACE];\n const user = options.user || 'admin';\n if (settings && settings[user]) {\n if (forEnumId) {\n if (settings[user].subURLs && settings[user].subURLs[forEnumId]) {\n return JSON.parse(JSON.stringify(settings[user].subURLs[forEnumId]));\n }\n } else {\n if (settings[user].URLs) {\n return JSON.parse(JSON.stringify(settings[user].URLs));\n }\n }\n }\n }\n return null;\n }\n\n /**\n * Reorder the array items in list between source and dest.\n * @param {Iterable<any> | ArrayLike<any>} list\n * @param {number} source\n * @param {number} dest\n */\n static reorder(list, source, dest) {\n const result = Array.from(list);\n const [removed] = result.splice(source, 1);\n result.splice(dest, 0, removed);\n return result;\n };\n\n /**\n * @param {any} obj\n * @param {{ id: any; user: any; name: any; icon: any; color: any; language: ioBroker.Languages; }} options\n * @param {boolean} [defaultEnabling]\n */\n static getSettings(obj, options, defaultEnabling) {\n let settings;\n const id = (obj && obj._id) || (options && options.id);\n if (obj && obj.hasOwnProperty('common')) {\n obj = obj.common;\n }\n if (obj && obj.custom) {\n settings = obj.custom || {};\n settings = settings[NAMESPACE] && settings[NAMESPACE][options.user || 'admin'] ? JSON.parse(JSON.stringify(settings[NAMESPACE][options.user || 'admin'])) : {enabled: true};\n } else {\n settings = {enabled: defaultEnabling === undefined ? true : defaultEnabling, useCustom: false};\n }\n\n if (!settings.hasOwnProperty('enabled')) {\n settings.enabled = defaultEnabling === undefined ? true : defaultEnabling;\n }\n\n if (false && settings.useCommon) {\n if (obj.color) settings.color = obj.color;\n if (obj.icon) settings.icon = obj.icon;\n if (obj.name) settings.name = obj.name;\n } else {\n if (options) {\n if (!settings.name && options.name) settings.name = options.name;\n if (!settings.icon && options.icon) settings.icon = options.icon;\n if (!settings.color && options.color) settings.color = options.color;\n }\n\n if (obj) {\n if (!settings.color && obj.color) settings.color = obj.color;\n if (!settings.icon && obj.icon) settings.icon = obj.icon;\n if (!settings.name && obj.name) settings.name = obj.name;\n }\n }\n\n if (typeof settings.name === 'object') {\n settings.name = settings.name[options.language] || settings.name.en;\n\n settings.name = (settings.name || '').toString().replace(/_/g, ' ');\n\n if (settings.name === settings.name.toUpperCase()) {\n settings.name = settings.name[0] + settings.name.substring(1).toLowerCase();\n }\n }\n if (!settings.name && id) {\n let pos = id.lastIndexOf('.');\n settings.name = id.substring(pos + 1).replace(/[_.]/g, ' ');\n settings.name = (settings.name || '').toString().replace(/_/g, ' ');\n settings.name = Utils.CapitalWords(settings.name);\n }\n\n return settings;\n }\n\n /**\n * @param {any} obj\n * @param {any} settings\n * @param {{ user: any; language: ioBroker.Languages; }} options\n */\n static setSettings(obj, settings, options) {\n if (obj) {\n obj.common = obj.common || {};\n obj.common.custom = obj.common.custom || {};\n obj.common.custom[NAMESPACE] = obj.common.custom[NAMESPACE] || {};\n obj.common.custom[NAMESPACE][options.user || 'admin'] = settings;\n const s = obj.common.custom[NAMESPACE][options.user || 'admin'];\n if (s.useCommon) {\n if (s.color !== undefined) {\n obj.common.color = s.color;\n delete s.color;\n }\n if (s.icon !== undefined) {\n obj.common.icon = s.icon;\n delete s.icon;\n }\n if (s.name !== undefined) {\n if (typeof obj.common.name !== 'object') {\n obj.common.name = {};\n obj.common.name[options.language] = s.name;\n } else{\n obj.common.name[options.language] = s.name;\n }\n delete s.name;\n }\n }\n\n return true;\n } else {\n return false;\n }\n }\n\n /**\n * Get the icon for the given settings.\n * @param {{ icon: string | undefined; name: string | undefined; prefix: string | undefined}} settings\n * @param {any} style\n * @returns {JSX.Element | null}\n */\n static getIcon(settings, style) {\n if (settings && settings.icon) {\n // If UTF-8 icon\n if (settings.icon.length <= 2) {\n return <span style={style || {}}>{settings.icon}</span>;\n } else\n if (settings.icon.startsWith('data:image')) {\n return <img alt={settings.name} src={settings.icon} style={style || {}}/>;\n } else { // may be later some changes for second type\n return <img alt={settings.name} src={(settings.prefix || '') + settings.icon} style={style || {}}/>;\n }\n }\n return null;\n }\n\n /**\n * Get the icon for the given object.\n * @param {string} id\n * @param {{ common: { icon: any; }; }} obj\n * @returns {string | null}\n */\n static getObjectIcon(id, obj) {\n // If id is Object\n if (typeof id === 'object') {\n obj = id;\n id = obj._id;\n }\n\n if (obj && obj.common && obj.common.icon) {\n let icon = obj.common.icon;\n // If UTF-8 icon\n if (typeof icon === 'string' && icon.length <= 2) {\n return icon;\n } else\n if (icon.startsWith('data:image')) {\n return icon;\n } else {\n const parts = id.split('.');\n if (parts[0] === 'system') {\n icon = 'adapter/' + parts[2] + (icon.startsWith('/') ? '' : '/') + icon;\n } else {\n icon = 'adapter/' + parts[0] + (icon.startsWith('/') ? '' : '/') + icon;\n }\n\n if (window.location.pathname.match(/adapter\\/[^/]+\\/[^/]+\\.html/)) {\n icon = '../../' + icon;\n } else if (window.location.pathname.match(/material\\/[.\\d]+/)) {\n icon = '../../' + icon;\n } else\n if (window.location.pathname.match(/material\\//)) {\n icon = '../' + icon;\n }\n return icon;\n }\n } else {\n return null;\n }\n }\n\n /**\n * Splits CamelCase into words.\n * @param {string | undefined} text\n * @returns {string}\n */\n static splitCamelCase(text) {\n if (false && text !== text.toUpperCase()) {\n const words = text.split(/\\s+/);\n for (let i = 0; i < words.length; i++) {\n let word = words[i];\n if (word.toLowerCase() !== word && word.toUpperCase() !== word) {\n let z = 0;\n const ww = [];\n let start = 0;\n while (z < word.length) {\n if (word[z].match(/[A-ZÜÄÖА-Я]/)) {\n ww.push(word.substring(start, z));\n start = z;\n }\n z++;\n }\n if (start !== z) {\n ww.push(word.substring(start, z));\n }\n for (let k = 0; k < ww.length; k++) {\n words.splice(i + k, 0, ww[k]);\n }\n i += ww.length;\n }\n }\n\n return words.map(w => {\n w = w.trim();\n if (w) {\n return w[0].toUpperCase() + w.substring(1).toLowerCase();\n }\n return '';\n }).join(' ');\n } else {\n return Utils.CapitalWords(text);\n }\n }\n\n /**\n * Check if the given color is bright.\n * https://stackoverflow.com/questions/35969656/how-can-i-generate-the-opposite-color-according-to-current-color\n * @param {string | null | undefined} color\n * @param {boolean} [defaultValue]\n * @returns {boolean}\n */\n static isUseBright(color, defaultValue) {\n if (color === null || color === undefined || color === '') {\n return defaultValue === undefined ? true : defaultValue;\n }\n color = color.toString();\n if (color.indexOf('#') === 0) {\n color = color.slice(1);\n }\n let r;\n let g;\n let b;\n\n const rgb = color.match(/^rgba?[\\s+]?\\([\\s+]?(\\d+)[\\s+]?,[\\s+]?(\\d+)[\\s+]?,[\\s+]?(\\d+)[\\s+]?/i);\n if (rgb && rgb.length === 4) {\n r = parseInt(rgb[1], 10);\n g = parseInt(rgb[2], 10);\n b = parseInt(rgb[3], 10);\n } else {\n // convert 3-digit hex to 6-digits.\n if (color.length === 3) {\n color = color[0] + color[0] + color[1] + color[1] + color[2] + color[2];\n }\n // remove alfa channel\n if (color.length === 8) {\n color = color.substring(0, 6);\n } else\n if (color.length !== 6) {\n return false;\n }\n\n r = parseInt(color.slice(0, 2), 16);\n g = parseInt(color.slice(2, 4), 16);\n b = parseInt(color.slice(4, 6), 16);\n }\n\n // http://stackoverflow.com/a/3943023/112731\n return (r * 0.299 + g * 0.587 + b * 0.114) <= 186;\n };\n\n /**\n * Get the time string in the format 00:00.\n * @param {string | number} seconds\n */\n static getTimeString(seconds) {\n seconds = parseFloat(seconds);\n if (isNaN(seconds)) {\n return '--:--';\n }\n const hours = Math.floor(seconds / 3600);\n let minutes = Math.floor((seconds % 3600) / 60);\n let secs = seconds % 60;\n if (hours) {\n if (minutes < 10) minutes = '0' + minutes;\n if (secs < 10) secs = '0' + secs;\n return hours + ':' + minutes + ':' + secs;\n } else {\n if (secs < 10) secs = '0' + secs;\n return minutes + ':' + secs;\n }\n }\n\n /**\n * Gets the wind direction with the given angle (degrees).\n * @param {number} angle in degrees.\n * @returns {string | undefined}\n */\n static getWindDirection(angle) {\n if (angle >= 0 && angle < 11.25) {\n return 'N'\n } else if (angle >= 11.25 && angle < 33.75) {\n return 'NNE'\n } else if (angle >= 33.75 && angle < 56.25) {\n return 'NE'\n } else if (angle >= 56.25 && angle < 78.75) {\n return 'ENE'\n } else if (angle >= 78.75 && angle < 101.25) {\n return 'E'\n } else if (angle >= 101.25 && angle < 123.75) {\n return 'ESE'\n } else if (angle >= 123.75 && angle < 146.25) {\n return 'SE'\n } else if (angle >= 146.25 && angle < 168.75) {\n return 'SSE'\n } else if (angle >= 168.75 && angle < 191.25) {\n return 'S'\n } else if (angle >= 191.25 && angle < 213.75) {\n return 'SSW'\n } else if (angle >= 213.75 && angle < 236.25) {\n return 'SW'\n } else if (angle >= 236.25 && angle < 258.75) {\n return 'WSW'\n } else if (angle >= 258.75 && angle < 281.25) {\n return 'W'\n } else if (angle >= 281.25 && angle < 303.75) {\n return 'WNW'\n } else if (angle >= 303.75 && angle < 326.25) {\n return 'NW'\n } else if (angle >= 326.25 && angle < 348.75) {\n return 'NNW'\n } else if (angle >= 348.75) {\n return 'N'\n }\n }\n\n /**\n * Pad the given number with a zero if its not 2 digits long.\n * @param {string | number} num\n */\n static padding(num) {\n if (typeof num === 'string') {\n if (num.length < 2) {\n return '0' + num;\n } else {\n return num;\n }\n } else if (num < 10) {\n return '0' + num;\n } else {\n return num;\n }\n }\n\n /**\n * Sets the date format.\n * @param {string} format\n */\n static setDataFormat(format) {\n if (format) {\n Utils.dateFormat = format.toUpperCase().split(/[.-/]/);\n Utils.dateFormat.splice(Utils.dateFormat.indexOf('YYYY'), 1);\n }\n }\n\n /**\n * Converts the date to a string.\n * @param {string | number | Date} now\n * @returns {string}\n */\n static date2string(now) {\n if (typeof now === 'string') {\n now = now.trim();\n if (!now) return '';\n // only letters\n if (now.match(/^[\\w\\s]+$/)) {\n // Day of week\n return now;\n }\n let m = now.match(/(\\d{1,4})[-./](\\d{1,2})[-./](\\d{1,4})/);\n if (m) {\n let a = [parseInt(m[1], 10), parseInt(m[2], 10), parseInt(m[3], 10)];\n let year = a.find(y => y > 31);\n a.splice(a.indexOf(year), 1);\n let day = a.find(m => m > 12);\n if (day) {\n a.splice(a.indexOf(day), 1);\n now = new Date(year, a[0] - 1, day);\n } else {\n // MM DD\n if (Utils.dateFormat[0][0] === 'M' && Utils.dateFormat[1][0] === 'D') {\n now = new Date(year, a[0] - 1, a[1]);\n if (Math.abs(now.getTime - Date.now()) > 3600000 * 24 * 10) {\n now = new Date(year, a[1] - 1, a[0]);\n }\n } else\n // DD MM\n if (Utils.dateFormat[0][0] === 'D' && Utils.dateFormat[1][0] === 'M') {\n now = new Date(year, a[1] - 1, a[0]);\n if (Math.abs(now.getTime - Date.now()) > 3600000 * 24 * 10) {\n now = new Date(year, a[0] - 1, a[1]);\n }\n } else {\n now = new Date(now);\n }\n }\n } else {\n now = new Date(now);\n }\n } else {\n now = new Date(now);\n }\n\n let date = I18n.t('ra_dow_' + days[now.getDay()]).replace('ra_dow_', '');\n date += '. ' + now.getDate() + ' ' + I18n.t('ra_month_' + months[now.getMonth()]).replace('ra_month_', '');\n return date;\n }\n\n /**\n * Render a text as a link.\n * @param {string} text\n * @returns {string | JSX.Element[]}\n */\n static renderTextWithA(text) {\n let m = text.match(/<a [^<]+<\\/a>|<br\\/?>|<b>[^<]+<\\/b>|<i>[^<]+<\\/i>/);\n if (m) {\n const result = [];\n let key = 1;\n do {\n const start = text.substring(0, m.index);\n text = text.substring(m.index + m[0].length);\n start && result.push(<span key={`a${key++}`}>{start}</span>);\n\n if (m[0].startsWith('<b>')) {\n result.push(<b key={`a${key++}`}>{m[0].substring(3, m[0].length - 4)}</b>);\n } else if (m[0].startsWith('<i>')) {\n result.push(<i key={`a${key++}`}>{m[0].substring(3, m[0].length - 4)}</i>);\n } else if (m[0].startsWith('<br')) {\n result.push(<br key={`a${key++}`} />);\n } else {\n let href = m[0].match(/href=\"([^\"]+)\"/) || m[0].match(/href='([^']+)'/);\n let target = m[0].match(/target=\"([^\"]+)\"/) || m[0].match(/target='([^']+)'/);\n let rel = m[0].match(/rel=\"([^\"]+)\"/) || m[0].match(/rel='([^']+)'/);\n const title = m[0].match(/>([^<]*)</);\n\n // eslint-disable-next-line\n result.push(<a\n key={`a${key++}`}\n href={href ? href[1] : ''}\n target={target ? target[1] : '_blank'}\n rel={rel ? rel[1] : ''}\n style={{ color: 'inherit' }}\n >\n {title ? title[1] : ''}\n </a>);\n }\n\n m = text && text.match(/<a [^<]+<\\/a>|<br\\/?>|<b>[^<]+<\\/b>|<i>[^<]+<\\/i>/);\n if (!m) {\n text && result.push(<span key={'a' + (key++)}>{text}</span>);\n }\n } while (m);\n\n return result;\n } else {\n return text;\n }\n }\n\n /**\n * Get the smart name of the given state.\n * @param {Record<string, ioBroker.StateObject> | ioBroker.StateObject} states\n * @param {string} id\n * @param {string} instanceId\n * @param {boolean} [noCommon]\n */\n static getSmartName(states, id, instanceId, noCommon) {\n if (!id) {\n if (!noCommon) {\n if (!states.common) {\n return states.smartName;\n } else {\n if (states && !states.common) {\n return states.smartName;\n } else {\n return states.common.smartName;\n }\n }\n } else {\n if (states && !states.common) {\n return states.smartName;\n } else {\n return (states &&\n states.common &&\n states.common.custom &&\n states.common.custom[instanceId]) ?\n states.common.custom[instanceId].smartName : undefined;\n }\n }\n } else\n if (!noCommon) {\n return states[id].common.smartName;\n } else {\n return (states[id] &&\n states[id].common &&\n states[id].common.custom &&\n states[id].common.custom[instanceId]) ?\n states[id].common.custom[instanceId].smartName || null : null;\n }\n }\n\n /**\n * Get the smart name from a state.\n * @param {ioBroker.StateObject} obj\n * @param {string} instanceId\n * @param {boolean} [noCommon]\n */\n static getSmartNameFromObj(obj, instanceId, noCommon) {\n if (!noCommon) {\n if (!obj.common) {\n return obj.smartName;\n } else {\n if (obj && !obj.common) {\n return obj.smartName;\n } else {\n return obj.common.smartName;\n }\n }\n } else {\n if (obj && !obj.common) {\n return obj.smartName;\n } else {\n return (obj &&\n obj.common &&\n obj.common.custom &&\n obj.common.custom[instanceId]) ?\n obj.common.custom[instanceId].smartName : undefined;\n }\n }\n }\n\n /**\n * Enable smart name for a state.\n * @param {ioBroker.StateObject} obj\n * @param {string} instanceId\n * @param {boolean} [noCommon]\n */\n static enableSmartName(obj, instanceId, noCommon) {\n if (noCommon) {\n obj.common.custom = obj.common.custom || {};\n obj.common.custom[instanceId] = obj.common.custom[instanceId] || {};\n obj.common.custom[instanceId].smartName = {};\n } else {\n obj.common.smartName = {};\n }\n }\n\n /**\n * Completely remove smart name from a state.\n * @param {ioBroker.StateObject} obj\n * @param {string | number} instanceId\n * @param {boolean} [noCommon]\n */\n static removeSmartName(obj, instanceId, noCommon) {\n if (noCommon) {\n if (obj.common && obj.common.custom && obj.common.custom[instanceId]) {\n obj.common.custom[instanceId] = null;\n }\n } else {\n obj.common.smartName = null;\n }\n }\n\n /**\n * Update the smartname of a state.\n * @param {ioBroker.StateObject} obj\n * @param {string} newSmartName\n * @param {string | undefined} byON\n * @param {string | undefined} smartType\n * @param {string} instanceId\n * @param {boolean} [noCommon]\n */\n static updateSmartName(obj, newSmartName, byON, smartType, instanceId, noCommon) {\n const language = I18n.getLanguage();\n\n // convert Old format\n if (typeof obj.common.smartName === 'string') {\n const nnn = obj.common.smartName;\n obj.common.smartName = {};\n obj.common.smartName[language] = nnn;\n }\n\n // convert old settings\n if (obj.native && obj.native.byON) {\n delete obj.native.byON;\n let _smartName = obj.common.smartName;\n\n if (!_smartName || typeof _smartName !== 'object') {\n _smartName = {en: _smartName};\n _smartName[language] = _smartName.en;\n }\n obj.common.smartName = _smartName;\n }\n if (smartType !== undefined) {\n if (noCommon) {\n obj.common.custom = obj.common.custom || {};\n obj.common.custom[instanceId] = obj.common.custom[instanceId] || {};\n obj.common.custom[instanceId].smartName = obj.common.custom[instanceId].smartName || {};\n if (!smartType) {\n delete obj.common.custom[instanceId].smartName.smartType;\n } else {\n obj.common.custom[instanceId].smartName.smartType = smartType;\n }\n } else {\n obj.common.smartName = obj.common.smartName || {};\n if (!smartType) {\n delete obj.common.smartName.smartType;\n } else {\n obj.common.smartName.smartType = smartType;\n }\n\n }\n }\n if (byON !== undefined) {\n if (noCommon) {\n obj.common.custom = obj.common.custom || {};\n obj.common.custom[instanceId] = obj.common.custom[instanceId] || {};\n obj.common.custom[instanceId].smartName = obj.common.custom[instanceId].smartName || {};\n obj.common.custom[instanceId].smartName.byON = byON;\n } else {\n obj.common.smartName = obj.common.smartName || {};\n obj.common.smartName.byON = byON;\n }\n }\n if (newSmartName !== undefined) {\n let smartName;\n if (noCommon) {\n obj.common.custom = obj.common.custom || {};\n obj.common.custom[instanceId] = obj.common.custom[instanceId] || {};\n obj.common.custom[instanceId].smartName = obj.common.custom[instanceId].smartName || {};\n smartName = obj.common.custom[instanceId].smartName;\n } else {\n obj.common.smartName = obj.common.smartName || {};\n smartName = obj.common.smartName;\n }\n smartName[language] = newSmartName;\n\n // If smart name deleted\n if (smartName && (!smartName[language] ||\n (smartName[language] === obj.common.name &&\n (!obj.common.role || obj.common.role.indexOf('button') >= 0)))) {\n delete smartName[language];\n let empty = true;\n // Check if structure has any definitions\n for (const key in smartName) {\n if (smartName.hasOwnProperty(key)) {\n empty = false;\n break;\n }\n }\n // If empty => delete smartName completely\n if (empty) {\n if (noCommon) {\n if (obj.common.custom[instanceId].smartName.byON === undefined) {\n delete obj.common.custom[instanceId];\n } else {\n delete obj.common.custom[instanceId].en;\n delete obj.common.custom[instanceId].de;\n delete obj.common.custom[instanceId].ru;\n delete obj.common.custom[instanceId].nl;\n delete obj.common.custom[instanceId].pl;\n delete obj.common.custom[instanceId].it;\n delete obj.common.custom[instanceId].fr;\n delete obj.common.custom[instanceId].pt;\n delete obj.common.custom[instanceId].es;\n delete obj.common.custom[instanceId]['zh-cn'];\n }\n } else {\n if (obj.common.smartName.byON !== undefined) {\n delete obj.common.smartName.en;\n delete obj.common.smartName.de;\n delete obj.common.smartName.ru;\n delete obj.common.smartName.nl;\n delete obj.common.smartName.pl;\n delete obj.common.smartName.it;\n delete obj.common.smartName.fr;\n delete obj.common.smartName.pt;\n delete obj.common.smartName.es;\n delete obj.common.smartName['zh-cn'];\n } else {\n obj.common.smartName = null;\n }\n }\n }\n }\n }\n }\n\n /**\n * Disable the smart name of a state.\n * @param {ioBroker.StateObject} obj\n * @param {string} instanceId\n * @param {boolean} [noCommon]\n */\n static disableSmartName(obj, instanceId, noCommon) {\n if (noCommon) {\n obj.common.custom = obj.common.custom || {};\n obj.common.custom[instanceId] = obj.common.custom[instanceId] || {};\n obj.common.custom[instanceId].smartName = false;\n } else {\n obj.common.smartName = false;\n }\n }\n\n /**\n * Copy text to the clipboard.\n * @param {string} text\n * @param {Event} [e]\n */\n static copyToClipboard(text, e) {\n e && e.stopPropagation();\n e && e.preventDefault()\n return copy(text);\n }\n\n /**\n * Gets the extension of a file name.\n * @param {string | null} [fileName] the file name.\n * @returns {string | null} The extension in lower case.\n */\n static getFileExtension(fileName) {\n const pos = (fileName || '').lastIndexOf('.');\n if (pos !== -1) {\n return fileName.substring(pos + 1).toLowerCase();\n } else {\n return null;\n }\n }\n\n /**\n * Format number of bytes as a string with B, KB, MB or GB.\n * The base for all calculations is 1024.\n * @param {number} bytes The number of bytes.\n * @returns {string} The formatted string (e.g. '723.5 KB')\n */\n static formatBytes(bytes) {\n if (Math.abs(bytes) < 1024) {\n return bytes + ' B';\n }\n\n const units = ['KB','MB','GB'];\n //const units = ['KiB','MiB','GiB','TiB','PiB','EiB','ZiB','YiB'];\n let u = -1;\n\n do {\n bytes /= 1024;\n ++u;\n } while (Math.abs(bytes) >= 1024 && u < units.length - 1);\n\n return bytes.toFixed(1) + ' ' + units[u];\n }\n\n /**\n * Invert the given color according to theme type to get the inverted text color for background\n * @param {string} color Color in the format '#rrggbb' or '#rgb' (or without hash)\n * @param {string} themeType theme type\n * @param {string} invert dark theme has light color in control or light theme has light color in control\n * @returns {string}\n */\n static getInvertedColor(color, themeType, invert) {\n if (!color) {\n return undefined;\n } else {\n const invertedColor = Utils.invertColor(color, true);\n if (invertedColor === '#FFFFFF' && (themeType === 'dark' || (invert && themeType === 'light'))) {\n return '#DDD';\n } else\n if (invertedColor === '#000000' && (themeType === 'light' || (invert && themeType === 'dark'))) {\n return '#222';\n } else {\n return undefined;\n }\n }\n }\n\n // Big thanks to: https://stackoverflow.com/questions/35969656/how-can-i-generate-the-opposite-color-according-to-current-color\n /**\n * Invert the given color\n * @param {string} hex Color in the format '#rrggbb' or '#rgb' (or without hash)\n * @param {boolean} bw Set to black or white.\n * @returns {string}\n */\n static invertColor(hex, bw) {\n if (hex === undefined || hex === null || hex === '' || typeof hex !== 'string') {\n return '';\n }\n if (hex.startsWith('rgba')) {\n const m = hex.match(/rgba?\\((\\d+),\\s*(\\d+),\\s*(\\d+),\\s*([.\\d]+)\\)/);\n if (m) {\n hex = parseInt(m[1], 10).toString(16).padStart(2, '0') +\n parseInt(m[2], 10).toString(16).padStart(2, '0') +\n parseInt(m[2], 10).toString(16).padStart(2, '0');\n }\n } else if (hex.startsWith('rgb')) {\n const m = hex.match(/rgb?\\((\\d+),\\s*(\\d+),\\s*(\\d+)\\)/);\n if (m) {\n hex = parseInt(m[1], 10).toString(16).padStart(2, '0') +\n parseInt(m[2], 10).toString(16).padStart(2, '0') +\n parseInt(m[2], 10).toString(16).padStart(2, '0');\n }\n } else\n if (hex.startsWith('#')) {\n hex = hex.slice(1);\n }\n // convert 3-digit hex to 6-digits.\n if (hex.length === 3) {\n hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2];\n }\n let alfa = null;\n if (hex.length === 8) {\n alfa = hex.substring(6, 8);\n hex = hex.substring(0, 6);\n } else\n if (hex.length !== 6) {\n console.warn('Cannot invert color: ' + hex);\n return hex;\n }\n let r = parseInt(hex.slice(0, 2), 16);\n let g = parseInt(hex.slice(2, 4), 16);\n let b = parseInt(hex.slice(4, 6), 16);\n\n if (bw) {\n // http://stackoverflow.com/a/3943023/112731\n return (r * 0.299 + g * 0.587 + b * 0.114) > 186\n ? `#000000${alfa ? alfa : ''}`\n : `#FFFFFF${alfa ? alfa : ''}`;\n }\n // invert color components\n r = (255 - r).toString(16);\n g = (255 - g).toString(16);\n b = (255 - b).toString(16);\n // pad each with zeros and return\n return `#${r.padStart(2, '0')}${g.padStart(2, '0')}${b.padStart(2, '0')}${alfa ? alfa : ''}`;\n }\n\n /**\n * Convert RGB to array [r, g, b]\n * @param {string} hex Color in the format '#rrggbb' or '#rgb' (or without hash) or rgb(r,g,b) or rgba(r,g,b,a)\n * @returns {Array<number>} Array with 3 elements [r, g, b]\n */\n static color2rgb(hex) {\n if (hex === undefined || hex === null || hex === '' || typeof hex !== 'string') {\n return '';\n }\n if (hex.startsWith('rgba')) {\n const m = hex.match(/rgba?\\((\\d+),\\s*(\\d+),\\s*(\\d+),\\s*([.\\d]+)\\)/);\n if (m) {\n hex = parseInt(m[1], 10).toString(16).padStart(2, '0') +\n parseInt(m[2], 10).toString(16).padStart(2, '0') +\n parseInt(m[2], 10).toString(16).padStart(2, '0');\n }\n } else if (hex.startsWith('rgba')) {\n const m = hex.match(/rgb?\\((\\d+),\\s*(\\d+),\\s*(\\d+)\\)/);\n if (m) {\n hex = parseInt(m[1], 10).toString(16).padStart(2, '0') +\n parseInt(m[2], 10).toString(16).padStart(2, '0') +\n parseInt(m[2], 10).toString(16).padStart(2, '0');\n }\n } else\n if (hex.startsWith('#')) {\n hex = hex.slice(1);\n }\n // convert 3-digit hex to 6-digits.\n if (hex.length === 3) {\n hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2];\n }\n if (hex.length !== 6 && hex.length !== 8) {\n console.warn(`Cannot invert color: ${hex}`);\n return false;\n }\n\n return [\n parseInt(hex.slice(0, 2), 16),\n parseInt(hex.slice(2, 4), 16),\n parseInt(hex.slice(4, 6), 16),\n ];\n }\n\n // Big thanks to: https://github.com/antimatter15/rgb-lab\n /**\n * Convert RGB to LAB\n * @param {Array<number>} rgb color in format [r,g,b]\n * @returns {Array<number>} lab color in format [l,a,b]\n */\n static rgb2lab(rgb){\n let r = rgb[0] / 255;\n let g = rgb[1] / 255;\n let b = rgb[2] / 255;\n\n r = (r > 0.04045) ? Math.pow((r + 0.055) / 1.055, 2.4) : r / 12.92;\n g = (g > 0.04045) ? Math.pow((g + 0.055) / 1.055, 2.4) : g / 12.92;\n b = (b > 0.04045) ? Math.pow((b + 0.055) / 1.055, 2.4) : b / 12.92;\n\n let x = (r * 0.4124 + g * 0.3576 + b * 0.1805) / 0.95047;\n let y = (r * 0.2126 + g * 0.7152 + b * 0.0722); /* / 1.00000; */\n let z = (r * 0.0193 + g * 0.1192 + b * 0.9505) / 1.08883;\n\n x = (x > 0.008856) ? Math.pow(x, 0.33333333) : (7.787 * x) + 0.137931; // 16 / 116;\n y = (y > 0.008856) ? Math.pow(y, 0.33333333) : (7.787 * y) + 0.137931; // 16 / 116;\n z = (z > 0.008856) ? Math.pow(z, 0.33333333) : (7.787 * z) + 0.137931; // 16 / 116;\n\n return [(116 * y) - 16, 500 * (x - y), 200 * (y - z)];\n }\n\n /**\n * Calculate the distance between two colors in LAB color space in the range 0-100^2\n * If distance is less than 1000, the colors are similar\n * @param {string} color1 Color in the format '#rrggbb' or '#rgb' (or without hash) or rgb(r,g,b) or rgba(r,g,b,a)\n * @param {string} color2 Color in the format '#rrggbb' or '#rgb' (or without hash) or rgb(r,g,b) or rgba(r,g,b,a)\n * @returns {number} distance in the range 0-100^2\n */\n static colorDistance(color1, color2) {\n const lab1 = Utils.rgb2lab(Utils.color2rgb(color1));\n const lab2 = Utils.rgb2lab(Utils.color2rgb(color2));\n const dltL = lab1[0] - lab2[0];\n const dltA = lab1[1] - lab2[1];\n const dltB = lab1[2] - lab2[2];\n const c1 = Math.sqrt(lab1[1] * lab1[1] + lab1[2] * lab1[2]);\n const c2 = Math.sqrt(lab2[1] * lab2[1] + lab2[2] * lab2[2]);\n const dltC = c1 - c2;\n let dltH = dltA * dltA + dltB * dltB - dltC * dltC;\n dltH = dltH < 0 ? 0 : Math.sqrt(dltH);\n const sc = 1.0 + 0.045 * c1;\n const sh = 1.0 + 0.015 * c1;\n const dltLKlsl = dltL;\n const dltCkcsc = dltC / sc;\n const dltHkhsh = dltH / sh;\n const i = dltLKlsl * dltLKlsl + dltCkcsc * dltCkcsc + dltHkhsh * dltHkhsh;\n return i < 0 ? 0 : i;\n }\n\n // https://github.com/lukeed/clsx/blob/master/src/index.js\n // License\n // MIT © Luke Edwards\n /**\n * @private\n * @param {any} mix\n * @returns {string}\n */\n static _toVal(mix) {\n let y;\n let str = '';\n\n if (typeof mix === 'string' || typeof mix === 'number') {\n str += mix;\n } else if (typeof mix === 'object') {\n if (Array.isArray(mix)) {\n for (let k = 0; k < mix.length; k++) {\n if (mix[k]) {\n y = Utils._toVal(mix[k]);\n if (y) {\n str && (str += ' ');\n str += y;\n }\n }\n }\n } else {\n for (const k in mix) {\n if (mix[k]) {\n str && (str += ' ');\n str += k;\n }\n }\n }\n }\n\n return str;\n }\n\n // https://github.com/lukeed/clsx/blob/master/src/index.js\n // License\n // MIT © Luke Edwards\n /**\n * Convert any object to a string with its values.\n * @returns {string}\n */\n static clsx () {\n let i = 0;\n let tmp;\n let x;\n let str = '';\n while (i < arguments.length) {\n if ((tmp = arguments[i++])) {\n if ((x = Utils._toVal(tmp))) {\n str && (str += ' ');\n str += x\n }\n }\n }\n return str;\n }\n\n /**\n * Get the current theme name (either from local storage or the browser settings).\n * @param {string} [themeName]\n * @returns {string}\n */\n static getThemeName(themeName = '') {\n if (window.vendorPrefix && window.vendorPrefix !== '@@vendorPrefix@@') {\n return window.vendorPrefix;\n }\n\n return themeName ? themeName : (window._localStorage || window.localStorage).getItem('App.themeName') ?\n (window._localStorage || window.localStorage).getItem('App.themeName') : window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'colored';\n }\n\n /**\n * Get the type of theme.\n * @param {string} [themeName]\n * @returns {'dark' | 'light'}\n */\n static getThemeType(themeName = '') {\n if (window.vendorPrefix && window.vendorPrefix !== '@@vendorPrefix@@') {\n return 'light';\n }\n\n themeName = themeName || (window._localStorage || window.localStorage).getItem('App.themeName');\n return themeName === 'dark' || themeName === 'blue' ? 'dark' : 'light';\n }\n\n /**\n * Set the theme name and theme type.\n * @param {string} themeName\n */\n static setThemeName(themeName) {\n if (window.vendorPrefix && window.vendorPrefix !== '@@vendorPrefix@@') {\n return; // ignore\n }\n (window._localStorage || window.localStorage).setItem('App.themeName', themeName);\n (window._localStorage || window.localStorage).setItem('App.theme', themeName === 'dark' || themeName === 'blue' ? 'dark' : 'light');\n }\n\n /**\n * Toggle the theme name between 'dark' and 'colored'.\n * @param {string | null} themeName\n * @returns {string} the new theme name.\n */\n static toggleTheme(themeName) {\n if (window.vendorPrefix && window.vendorPrefix !== '@@vendorPrefix@@') {\n return window.vendorPrefix;\n }\n themeName = themeName || (window._localStorage || window.localStorage).getItem('App.themeName');\n\n // dark => blue => colored => light => dark\n const themes = Utils.getThemeNames();\n const pos = themes.indexOf(themeName);\n let newTheme;\n if (pos !== -1) {\n newTheme = themes[(pos + 1) % themes.length];\n } else {\n newTheme = themes[0];\n }\n Utils.setThemeName(newTheme);\n\n return newTheme;\n }\n\n /**\n * Get the list of themes\n * @returns {array<string>} list of possible themes\n */\n static getThemeNames() {\n if (window.vendorPrefix && window.vendorPrefix !== '@@vendorPrefix@@') {\n return [window.vendorPrefix];\n }\n\n return ['light', 'dark', 'blue', 'colored'];\n }\n\n /**\n * Parse a query string into its parts.\n * @param {string} query\n * @returns {Record<string, string | boolean | number>}\n */\n static parseQuery(query) {\n query = (query || '').toString().replace(/^\\?/, '');\n /** @type {Record<string, string | boolean | number>} */\n const result = {};\n query.split('&').forEach(part => {\n part = part.trim();\n if (part) {\n const parts = part.split('=');\n const attr = decodeURIComponent(parts[0]).trim();\n if (parts.length > 1) {\n result[attr] = decodeURIComponent(parts[1]);\n if (result[attr] === 'true') {\n result[attr] = true;\n } else if (result[attr] === 'false') {\n result[attr] = false;\n } else {\n const f = parseFloat(result[attr]);\n if (f.toString() === result[attr]) {\n result[attr] = f;\n }\n }\n } else {\n result[attr] = true;\n }\n }\n });\n return result;\n }\n\n /**\n * Returns parent ID.\n * @param {string} id\n * @returns {string | null} parent ID or null if no parent\n */\n static getParentId(id) {\n const p = (id || '').toString().split('.');\n if (p.length > 1) {\n p.pop();\n return p.join('.');\n } else {\n return null;\n }\n }\n\n static formatDate(dateObj, dateFormat) {\n // format could be DD.MM.YYYY, YYYY.MM.DD or MM/DD/YYYY\n\n if (!dateObj) {\n return '';\n }\n\n let text;\n let mm = dateObj.getMonth() + 1;\n if (mm < 10) {\n mm = '0' + mm;\n }\n\n let dd = dateObj.getDate();\n if (dd < 10) {\n dd = '0' + dd;\n }\n\n if (dateFormat === 'MM/DD/YYYY') {\n text = mm + '/' + dd + '/' + dateObj.getFullYear();\n } else {\n text = dateObj.getFullYear() + '-' + mm + '-' + dd;\n }\n\n // time\n let v = dateObj.getHours();\n if (v < 10) {\n text += ' 0' + v;\n } else {\n text += ' ' + v;\n }\n v = dateObj.getMinutes();\n if (v < 10) {\n text += ':0' + v;\n } else {\n text += ':' + v;\n }\n\n v = dateObj.getSeconds();\n if (v < 10) {\n text += ':0' + v;\n } else {\n text += ':' + v;\n }\n\n v = dateObj.getMilliseconds();\n if (v < 10) {\n text += '.00' + v;\n } else if (v < 100) {\n text += '.0' + v;\n } else {\n text += '.' + v;\n }\n\n return text;\n }\n\n static formatTime(seconds) {\n if (seconds) {\n seconds = Math.round(seconds);\n const d = Math.floor(seconds / (3600 * 24));\n const h = Math.floor((seconds % (3600 * 24)) / 3600);\n const m = Math.floor((seconds % 3600) / 60);\n const s = seconds % 60;\n if (d) {\n return `${d}.${h.toString().padStart(2, '0')}:${m.toString().padStart(2, '0')}:${s.toString().padStart(2, '0')}`;\n } else if (h) {\n return `${h}:${m.toString().padStart(2, '0')}:${s.toString().padStart(2, '0')}`;\n } else {\n return `0:${m.toString().padStart(2, '0')}:${s.toString().padStart(2, '0')}`;\n }\n } else {\n return '0:00:00';\n }\n }\n\n static MDtext2link(text) {\n const m = text.match(/\\d+\\.\\)\\s/);\n if (m) {\n text = text.replace(m[0], m[0].replace(/\\s/, ' '));\n }\n\n return text.replace(/[^a-zA-Zа-яА-Я0-9]/g, '').trim().replace(/\\s/g, '').toLowerCase();\n }\n\n static openLink(url, target) {\n // replace IPv6 Address with [ipv6]:port\n url = url.replace(/\\/\\/([0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*)(:\\d+)?\\//i, '//[$1]$2/');\n\n if (target === 'this') {\n window.location = url;\n } else {\n window.open(url, target || '_blank');\n }\n }\n\n static MDgetTitle(text) {\n let {body, header} = Utils.extractHeader(text);\n if (!header.title) {\n // remove {docsify-bla}\n body = body.replace(/{[^}]*}/g, '');\n body = body.trim();\n const lines = body.replace(/\\r/g, '').split('\\n');\n for (let i = 0; i < lines.length; i++) {\n if (lines[i].startsWith('# ')) {\n return lines[i].substring(2).trim();\n }\n }\n return '';\n } else {\n return header.title;\n }\n }\n\n static MDextractHeader(text) {\n const attrs = {};\n if (text.substring(0, 3) === '---') {\n const pos = text.substring(3).indexOf('\\n---');\n if (pos !== -1) {\n const _header = text.substring(3, pos + 3);\n const lines = _header.replace(/\\r/g, '').split('\\n');\n lines.forEach(line => {\n if (!line.trim()) {\n return;\n }\n const pos = line.indexOf(':');\n if (pos !== -1) {\n const attr = line.substring(0, pos).trim();\n attrs[attr] = line.substring(pos + 1).trim();\n attrs[attr] = attrs[attr].replace(/^['\"]|['\"]$/g, '');\n if (attrs[attr] === 'true') {\n attrs[attr] = true;\n } else if (attrs[attr] === 'false') {\n attrs[attr] = false;\n } else if (parseFloat(attrs[attr]).toString() === attrs[attr]) {\n attrs[attr] = parseFloat(attrs[attr]);\n }\n } else {\n attrs[line.trim()] = true;\n }\n });\n text = text.substring(pos + 7);\n }\n }\n return {header: attrs, body: text};\n }\n\n static MDremoveDocsify(text) {\n const m = text.match(/{docsify-[^}]*}/g);\n if (m) {\n m.forEach(doc => text = text.replace(doc, ''));\n }\n return text;\n }\n\n /**\n * Generate the json file on the file for download.\n * @param {string} filename file name\n * @returns {object} json structure (not stringified)\n */\n static generateFile(filename, json) {\n let el = document.createElement('a');\n el.setAttribute('href', 'data:application/json;charset=utf-8,' + encodeURIComponent(JSON.stringify(json, null, 2)));\n el.setAttribute('download', filename);\n\n el.style.display = 'none';\n document.body.appendChild(el);\n\n el.click();\n\n document.body.removeChild(el);\n }\n\n /**\n * Convert quality code into text\n * @param {number} quality code\n * @returns {array<string>} lines that decode qulity\n */\n static quality2text(quality) {\n const custom = quality & 0xFFFF0000;\n const text = QUALITY_BITS[quality];\n let result;\n if (text) {\n result = [text];\n } else if (quality & 0x01) {\n result = [QUALITY_BITS[0x01], '0x' + (quality & (0xFFFF & ~1)).toString(16)];\n } else if (quality & 0x02) {\n result = [QUALITY_BITS[0x02], '0x' + (quality & (0xFFFF & ~2)).toString(16)];\n } else {\n result = ['0x' + quality.toString(16)];\n }\n if (custom) {\n result.push('0x' + (custom >> 16).toString(16).toUpperCase());\n }\n return result;\n }\n\n /**\n * Deep copy object\n * @param {object} object\n * @returns {object}\n */\n static clone(object) {\n return JSON.parse(JSON.stringify(object));\n }\n\n /**\n * Get states of object\n * @param {object} obj\n * @returns {object} states as an object in form {\"value1\": \"label1\", \"value2\": \"label2\"} or null\n */\n static getStates(obj) {\n let states = obj?.common?.states;\n if (states) {\n if (typeof states === 'string' && states[0] === '{') {\n try {\n states = JSON.parse(states);\n } catch (ex) {\n console.error(`Cannot parse states: ${states}`);\n states = null;\n }\n } else\n // if old format val1:text1;val2:text2\n if (typeof states === 'string') {\n const parts = states.split(';');\n states = {};\n for (let p = 0; p < parts.length; p++) {\n const s = parts[p].split(':');\n states[s[0]] = s[1];\n }\n } else if (Array.isArray(states)) {\n const result = {};\n if (obj.common.type === 'number') {\n states.forEach((value, key) => result[key] = value);\n } else\n if (obj.common.type === 'string') {\n states.forEach(value => result[value] = value);\n } else if (obj.common.type === 'boolean') {\n result['false'] = states[0];\n result['true'] = states[1];\n }\n\n return result;\n }\n }\n\n return states;\n }\n\n /**\n * Get svg file as text\n * @param {string} url URL of SVG file\n * @returns {object} Promise with \"data:image...\"\n */\n static getSvg(url) {\n return fetch(url)\n .then(response => response.blob())\n .then(blob => {\n return new Promise(resolve => {\n const reader = new FileReader();\n reader.onload = function() { // do not optimize this function. \"this\" is important.\n resolve(this.result);\n };\n reader.readAsDataURL(blob);\n });\n });\n }\n\n /**\n * Detect file xtension by its content\n * @param {string} base64 Base64 encoded binary file\n * @returns {string} Detected extension, like 'jpg'\n */\n static detectMimeType(base64) {\n const signature = Object.keys(SIGNATURES).find(s => base64.startsWith(s));\n return signature ? SIGNATURES[signature] : null;\n }\n}\n\nexport default Utils;\n"],"mappings":";;;;;;;;;;;;AAMA;AACA;AACA;AARA;AACA;AACA;AACA;AACA;AACA;;AAKA,IAAMA,SAAS,GAAM,UAAU;AAC/B,IAAMC,IAAI,GAAW,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;AAC/D,IAAMC,MAAM,GAAS,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;AACzG,IAAMC,YAAY,GAAG;EACjB,IAAI,EAAE,aAAa;EAEnB,IAAI,EAAE,wBAAwB;EAC9B,IAAI,EAAE,8BAA8B;EAEpC,IAAI,EAAE,yCAAyC;EAC/C,IAAI,EAAE,iCAAiC;EACvC,IAAI,EAAE,iDAAiD;EACvD,IAAI,EAAE,qCAAqC;EAE3C,IAAI,EAAE,oCAAoC;EAC1C,IAAI,EAAE,kCAAkC;EACxC,IAAI,EAAE,kCAAkC;EAExC,IAAI,EAAE,+BAA+B;EACrC,IAAI,EAAE,6BAA6B;EACnC,IAAI,EAAE,6BAA6B;EAEnC,IAAI,EAAE,6BAA6B;EACnC,IAAI,EAAE;AACV,CAAC;AACD,IAAMC,UAAU,GAAG;EACfC,OAAO,EAAE,KAAK;EACdC,QAAQ,EAAE,KAAK;EACfC,QAAQ,EAAE,KAAK;EACfC,WAAW,EAAE,KAAK;EAClB,MAAM,EAAE,KAAK;EACbC,MAAM,EAAE,KAAK;EACbC,GAAG,EAAE,KAAK;EACVC,MAAM,EAAE,KAAK,CAAC;AAClB,CAAC;AAAC,IAEIC,KAAK;EAAA;IAAA;EAAA;EAAA;IAAA;IAAA;IAMP;AACJ;AACA;AACA;AACA;IACI,sBAAoBC,IAAI,EAAE;MACtB,OAAO,CAACA,IAAI,IAAI,EAAE,EAAEC,KAAK,CAAC,OAAO,CAAC,CAC7BC,MAAM,CAAC,UAAAC,IAAI;QAAA,OAAIA,IAAI;MAAA,EAAC,CACpBC,GAAG,CAAC,UAAAC,IAAI;QAAA,OAAIA,IAAI,GAAGA,IAAI,CAAC,CAAC,CAAC,CAACC,WAAW,EAAE,GAAGD,IAAI,CAACE,SAAS,CAAC,CAAC,CAAC,CAACC,WAAW,EAAE,GAAG,EAAE;MAAA,EAAC,CAChFC,IAAI,CAAC,GAAG,CAAC;IAClB;EAAC;IAAA;IAAA,OAED,uBAAqBC,OAAO,EAAE;MAC1B,IAAMtB,IAAI,GAAGuB,IAAI,CAACC,KAAK,CAACF,OAAO,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC;MAC9CA,OAAO,IAAI,IAAI,GAAG,EAAE;MACpB,IAAIG,KAAK,GAAGF,IAAI,CAACC,KAAK,CAACF,OAAO,GAAG,IAAI,CAAC;MACtC,IAAIG,KAAK,GAAG,EAAE,EAAE;QACZA,KAAK,GAAG,GAAG,GAAGA,KAAK;MACvB;MACAH,OAAO,IAAI,IAAI;MACf,IAAII,OAAO,GAAGH,IAAI,CAACC,KAAK,CAACF,OAAO,GAAG,EAAE,CAAC;MACtC,IAAII,OAAO,GAAG,EAAE,EAAE;QACdA,OAAO,GAAG,GAAG,GAAGA,OAAO;MAC3B;MACAJ,OAAO,IAAI,EAAE;MACbA,OAAO,GAAGC,IAAI,CAACC,KAAK,CAACF,OAAO,CAAC;MAC7B,IAAIA,OAAO,GAAG,EAAE,EAAE;QACdA,OAAO,GAAG,GAAG,GAAGA,OAAO;MAC3B;MACA,IAAIK,IAAI,GAAG,EAAE;MACb,IAAI3B,IAAI,EAAE;QACN2B,IAAI,cAAO3B,IAAI,cAAI4B,gBAAI,CAACC,CAAC,CAAC,kBAAkB,CAAC,MAAG;MACpD;MACAF,IAAI,cAAOF,KAAK,cAAIC,OAAO,cAAIJ,OAAO,CAAE;MAExC,OAAOK,IAAI;IACf;;IAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EARI;IAAA;IAAA,OASA,uBAAqBG,OAAO,EAAEC,EAAE,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,MAAM,EAAE;MACzD,IAAInB,IAAI,GAAGe,OAAO,CAACC,EAAE,CAAC;MACtB,IAAIJ,IAAI,GAAGI,EAAE;MACb,IAAMI,IAAI,GAAGD,MAAM,GAAG,MAAM,GAAG,MAAM;MAErC,IAAI,OAAOF,QAAQ,KAAK,QAAQ,IAAI,CAACC,OAAO,EAAE;QAC1CA,OAAO,GAAG;UAACG,QAAQ,EAAEJ;QAAQ,CAAC;QAC9BA,QAAQ,GAAG,IAAI;MACnB;MAEAC,OAAO,GAAGA,OAAO,IAAI,CAAC,CAAC;MACvB,IAAI,CAACA,OAAO,CAACG,QAAQ,EAAE;QACnBH,OAAO,CAACG,QAAQ,GAAIN,OAAO,CAAC,eAAe,CAAC,IAAIA,OAAO,CAAC,eAAe,CAAC,CAACO,MAAM,IAAIP,OAAO,CAAC,eAAe,CAAC,CAACO,MAAM,CAACD,QAAQ,IAAKE,MAAM,CAACC,OAAO,IAAI,IAAI;MAC1J;MACA,IAAIP,QAAQ,IAAIA,QAAQ,CAACpB,IAAI,EAAE;QAC3Be,IAAI,GAAGK,QAAQ,CAACpB,IAAI;QACpB,IAAI,yBAAOe,IAAI,MAAK,QAAQ,EAAE;UAC1BA,IAAI,GAAGA,IAAI,CAACM,OAAO,CAACG,QAAQ,CAAC,IAAIT,IAAI,CAACa,EAAE;QAC5C;MACJ,CAAC,MACD,IAAIzB,IAAI,IAAIA,IAAI,CAACsB,MAAM,IAAItB,IAAI,CAACsB,MAAM,CAACF,IAAI,CAAC,EAAE;QAC1CR,IAAI,GAAGZ,IAAI,CAACsB,MAAM,CAACF,IAAI,CAAC;QACxB,IAAIA,IAAI,KAAK,MAAM,IAAI,CAACR,IAAI,IAAIZ,IAAI,CAACsB,MAAM,CAACI,IAAI,EAAE;UAC9Cd,IAAI,GAAGZ,IAAI,CAACsB,MAAM,CAACI,IAAI;QAC3B;QACA,IAAI,yBAAOd,IAAI,MAAK,QAAQ,EAAE;UAC1BA,IAAI,GAAGA,IAAI,CAACM,OAAO,CAACG,QAAQ,CAAC,IAAIT,IAAI,CAACa,EAAE,IAAIb,IAAI,CAACe,EAAE,IAAIf,IAAI,CAACgB,EAAE,IAAI,EAAE;QACxE;QACAhB,IAAI,GAAG,CAACA,IAAI,IAAI,EAAE,EAAEiB,QAAQ,EAAE,CAACC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;QAEpD,IAAIlB,IAAI,KAAKA,IAAI,CAACT,WAAW,EAAE,EAAE;UAC7BS,IAAI,GAAGA,IAAI,CAAC,CAAC,CAAC,GAAGA,IAAI,CAACR,SAAS,CAAC,CAAC,CAAC,CAACC,WAAW,EAAE;QACpD;MACJ,CAAC,MAAM;QACH,IAAI0B,GAAG,GAAGf,EAAE,CAACgB,WAAW,CAAC,GAAG,CAAC;QAC7BpB,IAAI,GAAGI,EAAE,CAACZ,SAAS,CAAC2B,GAAG,GAAG,CAAC,CAAC,CAACD,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;QAClDlB,IAAI,GAAGhB,KAAK,CAACqC,YAAY,CAACrB,IAAI,CAAC;MACnC;MAEA,OAAOA,IAAI,CAACsB,IAAI,EAAE;IACtB;;IAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EARI;IAAA;IAAA,OASA,8BAA4BC,GAAG,EAAElB,QAAQ,EAAEC,OAAO,EAAEC,MAAM,EAAEiB,MAAM,EAAE;MAChE,IAAIpC,IAAI,GAAGmC,GAAG;MACd,IAAIvB,IAAI,GAAIuB,GAAG,IAAIA,GAAG,CAACE,GAAG,IAAK,EAAE;MACjC,IAAMjB,IAAI,GAAGD,MAAM,GAAG,MAAM,GAAG,MAAM;MAErC,IAAI,OAAOF,QAAQ,KAAK,QAAQ,IAAI,CAACC,OAAO,EAAE;QAC1CA,OAAO,GAAG;UAACG,QAAQ,EAAEJ;QAAQ,CAAC;QAC9BA,QAAQ,GAAG,IAAI;MACnB;MAEAC,OAAO,GAAGA,OAAO,IAAI,CAAC,CAAC;MAEvB,IAAID,QAAQ,IAAIA,QAAQ,CAACpB,IAAI,EAAE;QAC3Be,IAAI,GAAGK,QAAQ,CAACpB,IAAI;QACpB,IAAI,yBAAOe,IAAI,MAAK,QAAQ,EAAE;UAC1BA,IAAI,GAAGA,IAAI,CAACM,OAAO,CAACG,QAAQ,CAAC,IAAIT,IAAI,CAACa,EAAE;QAC5C;MACJ,CAAC,MACD,IAAIzB,IAAI,IAAIA,IAAI,CAACsB,MAAM,IAAItB,IAAI,CAACsB,MAAM,CAACF,IAAI,CAAC,EAAE;QAC1CR,IAAI,GAAGZ,IAAI,CAACsB,MAAM,CAACF,IAAI,CAAC;QACxB,IAAIA,IAAI,KAAK,MAAM,IAAI,CAACR,IAAI,IAAIZ,IAAI,CAACsB,MAAM,CAACI,IAAI,EAAE;UAC9Cd,IAAI,GAAGZ,IAAI,CAACsB,MAAM,CAACI,IAAI;QAC3B;QACA,IAAI,yBAAOd,IAAI,MAAK,QAAQ,EAAE;UAC1BA,IAAI,GAAGA,IAAI,CAACM,OAAO,CAACG,QAAQ,CAAC,IAAIT,IAAI,CAACa,EAAE;QAC5C;QACAb,IAAI,GAAG,CAACA,IAAI,IAAI,EAAE,EAAEiB,QAAQ,EAAE,CAACC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;QAEpD,IAAIlB,IAAI,KAAKA,IAAI,CAACT,WAAW,EAAE,EAAE;UAC7BS,IAAI,GAAGA,IAAI,CAAC,CAAC,CAAC,GAAGA,IAAI,CAACR,SAAS,CAAC,CAAC,CAAC,CAACC,WAAW,EAAE;QACpD;MACJ;MACA,OAAO+B,MAAM,GAAGxB,IAAI,GAAGA,IAAI,CAACsB,IAAI,EAAE;IACtC;;IAEA;AACJ;AACA;AACA;AACA;AACA;EALI;IAAA;IAAA,OAMA,0BAAwBC,GAAG,EAAEG,SAAS,EAAEpB,OAAO,EAAE;MAC7C,IAAIiB,GAAG,IAAIA,GAAG,CAACI,cAAc,CAAC,QAAQ,CAAC,EAAE;QACrCJ,GAAG,GAAGA,GAAG,CAACb,MAAM;MACpB;MACA,IAAIL,QAAQ;MACZ,IAAIkB,GAAG,IAAIA,GAAG,CAACK,MAAM,EAAE;QACnBvB,QAAQ,GAAG,CAACkB,GAAG,CAACK,MAAM,IAAI,CAAC,CAAC,EAAExD,SAAS,CAAC;QACxC,IAAMyD,IAAI,GAAGvB,OAAO,CAACuB,IAAI,IAAI,OAAO;QACpC,IAAIxB,QAAQ,IAAIA,QAAQ,CAACwB,IAAI,CAAC,EAAE;UAC5B,IAAIH,SAAS,EAAE;YACX,IAAIrB,QAAQ,CAACwB,IAAI,CAAC,CAACC,QAAQ,IAAIzB,QAAQ,CAACwB,IAAI,CAAC,CAACC,QAAQ,CAACJ,SAAS,CAAC,EAAE;cAC/D,OAAOK,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,SAAS,CAAC5B,QAAQ,CAACwB,IAAI,CAAC,CAACC,QAAQ,CAACJ,SAAS,CAAC,CAAC,CAAC;YACzE;UACJ,CAAC,MAAM;YACH,IAAIrB,QAAQ,CAACwB,IAAI,CAAC,CAACK,KAAK,EAAE;cACtB,OAAOH,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,SAAS,CAAC5B,QAAQ,CAACwB,IAAI,CAAC,CAACK,KAAK,CAAC,CAAC;YAC3D;UACJ;QACJ;MACJ;MACA,OAAO,IAAI;IACf;;IAEA;AACJ;AACA;AACA;AACA;EAJI;IAAA;IAAA,OAKA,+BAA6BX,GAAG,EAAEG,SAAS,EAAEpB,OAAO,EAAE;MAClD,IAAIiB,GAAG,IAAIA,GAAG,CAACI,cAAc,CAAC,QAAQ,CAAC,EAAE;QACrCJ,GAAG,GAAGA,GAAG,CAACb,MAAM;MACpB;MACA,IAAIL,QAAQ;MACZ,IAAIkB,GAAG,IAAIA,GAAG,CAACK,MAAM,EAAE;QACnBvB,QAAQ,GAAG,CAACkB,GAAG,CAACK,MAAM,IAAI,CAAC,CAAC,EAAExD,SAAS,CAAC;QACxC,IAAMyD,IAAI,GAAGvB,OAAO,CAACuB,IAAI,IAAI,OAAO;QACpC,IAAIxB,QAAQ,IAAIA,QAAQ,CAACwB,IAAI,CAAC,EAAE;UAC5B,IAAIH,SAAS,EAAE;YACX,IAAIrB,QAAQ,CAACwB,IAAI,CAAC,CAACM,OAAO,IAAI9B,QAAQ,CAACwB,IAAI,CAAC,CAACM,OAAO,CAACT,SAAS,CAAC,EAAE;cAC7D,OAAOK,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,SAAS,CAAC5B,QAAQ,CAACwB,IAAI,CAAC,CAACM,OAAO,CAACT,SAAS,CAAC,CAAC,CAAC;YACxE;UACJ,CAAC,MAAM;YACH,IAAIrB,QAAQ,CAACwB,IAAI,CAAC,CAACO,IAAI,EAAE;cACrB,OAAOL,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,SAAS,CAAC5B,QAAQ,CAACwB,IAAI,CAAC,CAACO,IAAI,CAAC,CAAC;YAC1D;UACJ;QACJ;MACJ;MACA,OAAO,IAAI;IACf;;IAEA;AACJ;AACA;AACA;AACA;AACA;EALI;IAAA;IAAA,OAMA,iBAAeC,IAAI,EAAEC,MAAM,EAAEC,IAAI,EAAE;MAC/B,IAAMC,MAAM,GAAGC,KAAK,CAACC,IAAI,CAACL,IAAI,CAAC;MAC/B,qBAAkBG,MAAM,CAACG,MAAM,CAACL,MAAM,EAAE,CAAC,CAAC;QAAA;QAAnCM,OAAO;MACdJ,MAAM,CAACG,MAAM,CAACJ,IAAI,EAAE,CAAC,EAAEK,OAAO,CAAC;MAC/B,OAAOJ,MAAM;IACjB;EAAC;IAAA;IAAA;IAED;AACJ;AACA;AACA;AACA;IACI,qBAAmBjB,GAAG,EAAEjB,OAAO,EAAEuC,eAAe,EAAE;MAC9C,IAAIxC,QAAQ;MACZ,IAAMD,EAAE,GAAImB,GAAG,IAAIA,GAAG,CAACE,GAAG,IAAMnB,OAAO,IAAIA,OAAO,CAACF,EAAG;MACtD,IAAImB,GAAG,IAAIA,GAAG,CAACI,cAAc,CAAC,QAAQ,CAAC,EAAE;QACrCJ,GAAG,GAAGA,GAAG,CAACb,MAAM;MACpB;MACA,IAAIa,GAAG,IAAIA,GAAG,CAACK,MAAM,EAAE;QACnBvB,QAAQ,GAAGkB,GAAG,CAACK,MAAM,IAAI,CAAC,CAAC;QAC3BvB,QAAQ,GAAGA,QAAQ,CAACjC,SAAS,CAAC,IAAIiC,QAAQ,CAACjC,SAAS,CAAC,CAACkC,OAAO,CAACuB,IAAI,IAAI,OAAO,CAAC,GAAGE,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,SAAS,CAAC5B,QAAQ,CAACjC,SAAS,CAAC,CAACkC,OAAO,CAACuB,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG;UAACiB,OAAO,EAAE;QAAI,CAAC;MAC/K,CAAC,MAAM;QACHzC,QAAQ,GAAG;UAACyC,OAAO,EAAED,eAAe,KAAKE,SAAS,GAAG,IAAI,GAAGF,eAAe;UAAEG,SAAS,EAAE;QAAK,CAAC;MAClG;MAEA,IAAI,CAAC3C,QAAQ,CAACsB,cAAc,CAAC,SAAS,CAAC,EAAE;QACrCtB,QAAQ,CAACyC,OAAO,GAAGD,eAAe,KAAKE,SAAS,GAAG,IAAI,GAAGF,eAAe;MAC7E;MAEA,IAAI,KAAK,IAAIxC,QAAQ,CAAC4C,SAAS,EAAE;QAC7B,IAAI1B,GAAG,CAAC2B,KAAK,EAAE7C,QAAQ,CAAC6C,KAAK,GAAG3B,GAAG,CAAC2B,KAAK;QACzC,IAAI3B,GAAG,CAAC4B,IAAI,EAAG9C,QAAQ,CAAC8C,IAAI,GAAI5B,GAAG,CAAC4B,IAAI;QACxC,IAAI5B,GAAG,CAACtC,IAAI,EAAGoB,QAAQ,CAACpB,IAAI,GAAIsC,GAAG,CAACtC,IAAI;MAC5C,CAAC,MAAM;QACH,IAAIqB,OAAO,EAAE;UACT,IAAI,CAACD,QAAQ,CAACpB,IAAI,IAAKqB,OAAO,CAACrB,IAAI,EAAGoB,QAAQ,CAACpB,IAAI,GAAIqB,OAAO,CAACrB,IAAI;UACnE,IAAI,CAACoB,QAAQ,CAAC8C,IAAI,IAAK7C,OAAO,CAAC6C,IAAI,EAAG9C,QAAQ,CAAC8C,IAAI,GAAI7C,OAAO,CAAC6C,IAAI;UACnE,IAAI,CAAC9C,QAAQ,CAAC6C,KAAK,IAAI5C,OAAO,CAAC4C,KAAK,EAAE7C,QAAQ,CAAC6C,KAAK,GAAG5C,OAAO,CAAC4C,KAAK;QACxE;QAEA,IAAI3B,GAAG,EAAE;UACL,IAAI,CAAClB,QAAQ,CAAC6C,KAAK,IAAI3B,GAAG,CAAC2B,KAAK,EAAE7C,QAAQ,CAAC6C,KAAK,GAAG3B,GAAG,CAAC2B,KAAK;UAC5D,IAAI,CAAC7C,QAAQ,CAAC8C,IAAI,IAAK5B,GAAG,CAAC4B,IAAI,EAAG9C,QAAQ,CAAC8C,IAAI,GAAI5B,GAAG,CAAC4B,IAAI;UAC3D,IAAI,CAAC9C,QAAQ,CAACpB,IAAI,IAAKsC,GAAG,CAACtC,IAAI,EAAGoB,QAAQ,CAACpB,IAAI,GAAIsC,GAAG,CAACtC,IAAI;QAC/D;MACJ;MAEA,IAAI,yBAAOoB,QAAQ,CAACpB,IAAI,MAAK,QAAQ,EAAE;QACnCoB,QAAQ,CAACpB,IAAI,GAAGoB,QAAQ,CAACpB,IAAI,CAACqB,OAAO,CAACG,QAAQ,CAAC,IAAIJ,QAAQ,CAACpB,IAAI,CAAC4B,EAAE;QAEnER,QAAQ,CAACpB,IAAI,GAAG,CAACoB,QAAQ,CAACpB,IAAI,IAAI,EAAE,EAAEgC,QAAQ,EAAE,CAACC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;QAEnE,IAAIb,QAAQ,CAACpB,IAAI,KAAKoB,QAAQ,CAACpB,IAAI,CAACM,WAAW,EAAE,EAAE;UAC/Cc,QAAQ,CAACpB,IAAI,GAAGoB,QAAQ,CAACpB,IAAI,CAAC,CAAC,CAAC,GAAGoB,QAAQ,CAACpB,IAAI,CAACO,SAAS,CAAC,CAAC,CAAC,CAACC,WAAW,EAAE;QAC/E;MACJ;MACA,IAAI,CAACY,QAAQ,CAACpB,IAAI,IAAImB,EAAE,EAAE;QACtB,IAAIe,GAAG,GAAGf,EAAE,CAACgB,WAAW,CAAC,GAAG,CAAC;QAC7Bf,QAAQ,CAACpB,IAAI,GAAGmB,EAAE,CAACZ,SAAS,CAAC2B,GAAG,GAAG,CAAC,CAAC,CAACD,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;QAC3Db,QAAQ,CAACpB,IAAI,GAAG,CAACoB,QAAQ,CAACpB,IAAI,IAAI,EAAE,EAAEgC,QAAQ,EAAE,CAACC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;QACnEb,QAAQ,CAACpB,IAAI,GAAGD,KAAK,CAACqC,YAAY,CAAChB,QAAQ,CAACpB,IAAI,CAAC;MACrD;MAEA,OAAOoB,QAAQ;IACnB;;IAEA;AACJ;AACA;AACA;AACA;EAJI;IAAA;IAAA,OAKA,qBAAmBkB,GAAG,EAAElB,QAAQ,EAAEC,OAAO,EAAE;MACvC,IAAIiB,GAAG,EAAE;QACLA,GAAG,CAACb,MAAM,GAAGa,GAAG,CAACb,MAAM,IAAI,CAAC,CAAC;QAC7Ba,GAAG,CAACb,MAAM,CAACkB,MAAM,GAAGL,GAAG,CAACb,MAAM,CAACkB,MAAM,IAAI,CAAC,CAAC;QAC3CL,GAAG,CAACb,MAAM,CAACkB,MAAM,CAACxD,SAAS,CAAC,GAAGmD,GAAG,CAACb,MAAM,CAACkB,MAAM,CAACxD,SAAS,CAAC,IAAI,CAAC,CAAC;QACjEmD,GAAG,CAACb,MAAM,CAACkB,MAAM,CAACxD,SAAS,CAAC,CAACkC,OAAO,CAACuB,IAAI,IAAI,OAAO,CAAC,GAAGxB,QAAQ;QAChE,IAAM+C,CAAC,GAAG7B,GAAG,CAACb,MAAM,CAACkB,MAAM,CAACxD,SAAS,CAAC,CAACkC,OAAO,CAACuB,IAAI,IAAI,OAAO,CAAC;QAC/D,IAAIuB,CAAC,CAACH,SAAS,EAAE;UACb,IAAIG,CAAC,CAACF,KAAK,KAAKH,SAAS,EAAE;YACvBxB,GAAG,CAACb,MAAM,CAACwC,KAAK,GAAGE,CAAC,CAACF,KAAK;YAC1B,OAAOE,CAAC,CAACF,KAAK;UAClB;UACA,IAAIE,CAAC,CAACD,IAAI,KAAKJ,SAAS,EAAE;YACtBxB,GAAG,CAACb,MAAM,CAACyC,IAAI,GAAGC,CAAC,CAACD,IAAI;YACxB,OAAOC,CAAC,CAACD,IAAI;UACjB;UACA,IAAIC,CAAC,CAACnE,IAAI,KAAK8D,SAAS,EAAE;YACtB,IAAI,yBAAOxB,GAAG,CAACb,MAAM,CAACzB,IAAI,MAAK,QAAQ,EAAE;cACrCsC,GAAG,CAACb,MAAM,CAACzB,IAAI,GAAG,CAAC,CAAC;cACpBsC,GAAG,CAACb,MAAM,CAACzB,IAAI,CAACqB,OAAO,CAACG,QAAQ,CAAC,GAAG2C,CAAC,CAACnE,IAAI;YAC9C,CAAC,MAAK;cACFsC,GAAG,CAACb,MAAM,CAACzB,IAAI,CAACqB,OAAO,CAACG,QAAQ,CAAC,GAAG2C,CAAC,CAACnE,IAAI;YAC9C;YACA,OAAOmE,CAAC,CAACnE,IAAI;UACjB;QACJ;QAEA,OAAO,IAAI;MACf,CAAC,MAAM;QACH,OAAO,KAAK;MAChB;IACJ;;IAEA;AACJ;AACA;AACA;AACA;AACA;EALI;IAAA;IAAA,OAMA,iBAAeoB,QAAQ,EAAEgD,KAAK,EAAE;MAC5B,IAAIhD,QAAQ,IAAIA,QAAQ,CAAC8C,IAAI,EAAE;QAC3B;QACA,IAAI9C,QAAQ,CAAC8C,IAAI,CAACG,MAAM,IAAI,CAAC,EAAE;UAC3B,oBAAO;YAAM,KAAK,EAAED,KAAK,IAAI,CAAC;UAAE,GAAEhD,QAAQ,CAAC8C,IAAI,CAAQ;QAC3D,CAAC,MACD,IAAI9C,QAAQ,CAAC8C,IAAI,CAACI,UAAU,CAAC,YAAY,CAAC,EAAE;UACxC,oBAAO;YAAK,GAAG,EAAElD,QAAQ,CAACpB,IAAK;YAAC,GAAG,EAAEoB,QAAQ,CAAC8C,IAAK;YAAC,KAAK,EAAEE,KAAK,IAAI,CAAC;UAAE,EAAE;QAC7E,CAAC,MAAM;UAAE;UACL,oBAAO;YAAK,GAAG,EAAEhD,QAAQ,CAACpB,IAAK;YAAC,GAAG,EAAE,CAACoB,QAAQ,CAACmD,MAAM,IAAI,EAAE,IAAInD,QAAQ,CAAC8C,IAAK;YAAC,KAAK,EAAEE,KAAK,IAAI,CAAC;UAAE,EAAE;QACvG;MACJ;MACA,OAAO,IAAI;IACf;;IAEA;AACJ;AACA;AACA;AACA;AACA;EALI;IAAA;IAAA,OAMA,uBAAqBjD,EAAE,EAAEmB,GAAG,EAAE;MAC1B;MACA,IAAI,yBAAOnB,EAAE,MAAK,QAAQ,EAAE;QACxBmB,GAAG,GAAGnB,EAAE;QACRA,EAAE,GAAGmB,GAAG,CAACE,GAAG;MAChB;MAEA,IAAIF,GAAG,IAAIA,GAAG,CAACb,MAAM,IAAIa,GAAG,CAACb,MAAM,CAACyC,IAAI,EAAE;QACtC,IAAIA,IAAI,GAAG5B,GAAG,CAACb,MAAM,CAACyC,IAAI;QAC1B;QACA,IAAI,OAAOA,IAAI,KAAK,QAAQ,IAAIA,IAAI,CAACG,MAAM,IAAI,CAAC,EAAE;UAC9C,OAAOH,IAAI;QACf,CAAC,MACD,IAAIA,IAAI,CAACI,UAAU,CAAC,YAAY,CAAC,EAAE;UAC/B,OAAOJ,IAAI;QACf,CAAC,MAAM;UACH,IAAMM,KAAK,GAAGrD,EAAE,CAAClB,KAAK,CAAC,GAAG,CAAC;UAC3B,IAAIuE,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;YACvBN,IAAI,GAAG,UAAU,GAAGM,KAAK,CAAC,CAAC,CAAC,IAAIN,IAAI,CAACI,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,GAAGJ,IAAI;UAC3E,CAAC,MAAM;YACHA,IAAI,GAAG,UAAU,GAAGM,KAAK,CAAC,CAAC,CAAC,IAAIN,IAAI,CAACI,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,GAAGJ,IAAI;UAC3E;UAEA,IAAIxC,MAAM,CAAC+C,QAAQ,CAACC,QAAQ,CAACC,KAAK,CAAC,6BAA6B,CAAC,EAAE;YAC/DT,IAAI,GAAG,QAAQ,GAAGA,IAAI;UAC1B,CAAC,MAAM,IAAIxC,MAAM,CAAC+C,QAAQ,CAACC,QAAQ,CAACC,KAAK,CAAC,kBAAkB,CAAC,EAAE;YAC3DT,IAAI,GAAG,QAAQ,GAAGA,IAAI;UAC1B,CAAC,MACD,IAAIxC,MAAM,CAAC+C,QAAQ,CAACC,QAAQ,CAACC,KAAK,CAAC,YAAY,CAAC,EAAE;YAC9CT,IAAI,GAAG,KAAK,GAAGA,IAAI;UACvB;UACA,OAAOA,IAAI;QACf;MACJ,CAAC,MAAM;QACH,OAAO,IAAI;MACf;IACJ;;IAEA;AACJ;AACA;AACA;AACA;EAJI;IAAA;IAAA,OAKA,wBAAsBnD,IAAI,EAAE;MACxB,IAAI,KAAK,IAAIA,IAAI,KAAKA,IAAI,CAACT,WAAW,EAAE,EAAE;QACtC,IAAMsE,KAAK,GAAG7D,IAAI,CAACd,KAAK,CAAC,KAAK,CAAC;QAC/B,KAAK,IAAI4E,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,KAAK,CAACP,MAAM,EAAEQ,CAAC,EAAE,EAAE;UACnC,IAAIxE,IAAI,GAAGuE,KAAK,CAACC,CAAC,CAAC;UACnB,IAAIxE,IAAI,CAACG,WAAW,EAAE,KAAKH,IAAI,IAAIA,IAAI,CAACC,WAAW,EAAE,KAAKD,IAAI,EAAE;YAC5D,IAAIyE,CAAC,GAAG,CAAC;YACT,IAAMC,EAAE,GAAG,EAAE;YACb,IAAIC,KAAK,GAAG,CAAC;YACb,OAAOF,CAAC,GAAGzE,IAAI,CAACgE,MAAM,EAAE;cACpB,IAAIhE,IAAI,CAACyE,CAAC,CAAC,CAACH,KAAK,CAAC,aAAa,CAAC,EAAE;gBAC9BI,EAAE,CAACE,IAAI,CAAC5E,IAAI,CAACE,SAAS,CAACyE,KAAK,EAAEF,CAAC,CAAC,CAAC;gBACjCE,KAAK,GAAGF,CAAC;cACb;cACAA,CAAC,EAAE;YACP;YACA,IAAIE,KAAK,KAAKF,CAAC,EAAE;cACbC,EAAE,CAACE,IAAI,CAAC5E,IAAI,CAACE,SAAS,CAACyE,KAAK,EAAEF,CAAC,CAAC,CAAC;YACrC;YACA,KAAK,IAAII,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,EAAE,CAACV,MAAM,EAAEa,CAAC,EAAE,EAAE;cAChCN,KAAK,CAAClB,MAAM,CAACmB,CAAC,GAAGK,CAAC,EAAE,CAAC,EAAEH,EAAE,CAACG,CAAC,CAAC,CAAC;YACjC;YACAL,CAAC,IAAIE,EAAE,CAACV,MAAM;UAClB;QACJ;QAEA,OAAOO,KAAK,CAACxE,GAAG,CAAC,UAAA+E,CAAC,EAAI;UAClBA,CAAC,GAAGA,CAAC,CAAC9C,IAAI,EAAE;UACZ,IAAI8C,CAAC,EAAE;YACH,OAAOA,CAAC,CAAC,CAAC,CAAC,CAAC7E,WAAW,EAAE,GAAG6E,CAAC,CAAC5E,SAAS,CAAC,CAAC,CAAC,CAACC,WAAW,EAAE;UAC5D;UACA,OAAO,EAAE;QACb,CAAC,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;MAChB,CAAC,MAAM;QACH,OAAOV,KAAK,CAACqC,YAAY,CAACrB,IAAI,CAAC;MACnC;IACJ;;IAEA;AACJ;AACA;AACA;AACA;AACA;AACA;EANI;IAAA;IAAA,OAOA,qBAAmBkD,KAAK,EAAEmB,YAAY,EAAE;MACpC,IAAInB,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAKH,SAAS,IAAIG,KAAK,KAAK,EAAE,EAAE;QACvD,OAAOmB,YAAY,KAAKtB,SAAS,GAAG,IAAI,GAAGsB,YAAY;MAC3D;MACAnB,KAAK,GAAGA,KAAK,CAACjC,QAAQ,EAAE;MACxB,IAAIiC,KAAK,CAACoB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;QAC1BpB,KAAK,GAAGA,KAAK,CAACqB,KAAK,CAAC,CAAC,CAAC;MAC1B;MACA,IAAIC,CAAC;MACL,IAAIC,CAAC;MACL,IAAIC,CAAC;MAEL,IAAMC,GAAG,GAAGzB,KAAK,CAACU,KAAK,CAAC,sEAAsE,CAAC;MAC/F,IAAIe,GAAG,IAAIA,GAAG,CAACrB,MAAM,KAAK,CAAC,EAAE;QACzBkB,CAAC,GAAGI,QAAQ,CAACD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACxBF,CAAC,GAAGG,QAAQ,CAACD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACxBD,CAAC,GAAGE,QAAQ,CAACD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;MAC5B,CAAC,MAAM;QACH;QACA,IAAIzB,KAAK,CAACI,MAAM,KAAK,CAAC,EAAE;UACpBJ,KAAK,GAAGA,KAAK,CAAC,CAAC,CAAC,GAAGA,KAAK,CAAC,CAAC,CAAC,GAAGA,KAAK,CAAC,CAAC,CAAC,GAAGA,KAAK,CAAC,CAAC,CAAC,GAAGA,KAAK,CAAC,CAAC,CAAC,GAAGA,KAAK,CAAC,CAAC,CAAC;QAC3E;QACA;QACA,IAAIA,KAAK,CAACI,MAAM,KAAK,CAAC,EAAE;UACpBJ,KAAK,GAAGA,KAAK,CAAC1D,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;QACjC,CAAC,MACD,IAAI0D,KAAK,CAACI,MAAM,KAAK,CAAC,EAAE;UACpB,OAAO,KAAK;QAChB;QAEAkB,CAAC,GAAGI,QAAQ,CAAC1B,KAAK,CAACqB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;QACnCE,CAAC,GAAGG,QAAQ,CAAC1B,KAAK,CAACqB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;QACnCG,CAAC,GAAGE,QAAQ,CAAC1B,KAAK,CAACqB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;MACvC;;MAEA;MACA,OAAQC,CAAC,GAAG,KAAK,GAAGC,CAAC,GAAG,KAAK,GAAGC,CAAC,GAAG,KAAK,IAAK,GAAG;IACrD;EAAC;IAAA;IAAA;IAED;AACJ;AACA;AACA;IACI,uBAAqB/E,OAAO,EAAE;MAC1BA,OAAO,GAAGkF,UAAU,CAAClF,OAAO,CAAC;MAC7B,IAAImF,KAAK,CAACnF,OAAO,CAAC,EAAE;QAChB,OAAO,OAAO;MAClB;MACA,IAAMG,KAAK,GAAGF,IAAI,CAACC,KAAK,CAACF,OAAO,GAAG,IAAI,CAAC;MACxC,IAAII,OAAO,GAAGH,IAAI,CAACC,KAAK,CAAEF,OAAO,GAAG,IAAI,GAAI,EAAE,CAAC;MAC/C,IAAIoF,IAAI,GAAGpF,OAAO,GAAG,EAAE;MACvB,IAAIG,KAAK,EAAE;QACP,IAAIC,OAAO,GAAG,EAAE,EAAEA,OAAO,GAAG,GAAG,GAAGA,OAAO;QACzC,IAAIgF,IAAI,GAAG,EAAE,EAAEA,IAAI,GAAG,GAAG,GAAGA,IAAI;QAChC,OAAOjF,KAAK,GAAG,GAAG,GAAGC,OAAO,GAAG,GAAG,GAAGgF,IAAI;MAC7C,CAAC,MAAM;QACH,IAAIA,IAAI,GAAG,EAAE,EAAEA,IAAI,GAAG,GAAG,GAAGA,IAAI;QAChC,OAAOhF,OAAO,GAAG,GAAG,GAAGgF,IAAI;MAC/B;IACJ;;IAEA;AACJ;AACA;AACA;AACA;EAJI;IAAA;IAAA,OAKA,0BAAwBC,KAAK,EAAE;MAC3B,IAAIA,KAAK,IAAI,CAAC,IAAIA,KAAK,GAAG,KAAK,EAAE;QAC7B,OAAO,GAAG;MACd,CAAC,MAAM,IAAIA,KAAK,IAAI,KAAK,IAAIA,KAAK,GAAG,KAAK,EAAE;QACxC,OAAO,KAAK;MAChB,CAAC,MAAM,IAAIA,KAAK,IAAI,KAAK,IAAIA,KAAK,GAAG,KAAK,EAAE;QACxC,OAAO,IAAI;MACf,CAAC,MAAM,IAAIA,KAAK,IAAI,KAAK,IAAIA,KAAK,GAAG,KAAK,EAAE;QACxC,OAAO,KAAK;MAChB,CAAC,MAAM,IAAIA,KAAK,IAAI,KAAK,IAAIA,KAAK,GAAG,MAAM,EAAE;QACzC,OAAO,GAAG;MACd,CAAC,MAAM,IAAIA,KAAK,IAAI,MAAM,IAAIA,KAAK,GAAG,MAAM,EAAE;QAC1C,OAAO,KAAK;MAChB,CAAC,MAAM,IAAIA,KAAK,IAAI,MAAM,IAAIA,KAAK,GAAG,MAAM,EAAE;QAC1C,OAAO,IAAI;MACf,CAAC,MAAM,IAAIA,KAAK,IAAI,MAAM,IAAIA,KAAK,GAAG,MAAM,EAAE;QAC1C,OAAO,KAAK;MAChB,CAAC,MAAM,IAAIA,KAAK,IAAI,MAAM,IAAIA,KAAK,GAAG,MAAM,EAAE;QAC1C,OAAO,GAAG;MACd,CAAC,MAAM,IAAIA,KAAK,IAAI,MAAM,IAAIA,KAAK,GAAG,MAAM,EAAE;QAC1C,OAAO,KAAK;MAChB,CAAC,MAAM,IAAIA,KAAK,IAAI,MAAM,IAAIA,KAAK,GAAG,MAAM,EAAE;QAC1C,OAAO,IAAI;MACf,CAAC,MAAM,IAAIA,KAAK,IAAI,MAAM,IAAIA,KAAK,GAAG,MAAM,EAAE;QAC1C,OAAO,KAAK;MAChB,CAAC,MAAM,IAAIA,KAAK,IAAI,MAAM,IAAIA,KAAK,GAAG,MAAM,EAAE;QAC1C,OAAO,GAAG;MACd,CAAC,MAAM,IAAIA,KAAK,IAAI,MAAM,IAAIA,KAAK,GAAG,MAAM,EAAE;QAC1C,OAAO,KAAK;MAChB,CAAC,MAAM,IAAIA,KAAK,IAAI,MAAM,IAAIA,KAAK,GAAG,MAAM,EAAE;QAC1C,OAAO,IAAI;MACf,CAAC,MAAM,IAAIA,KAAK,IAAI,MAAM,IAAIA,KAAK,GAAG,MAAM,EAAE;QAC1C,OAAO,KAAK;MAChB,CAAC,MAAM,IAAIA,KAAK,IAAI,MAAM,EAAE;QACxB,OAAO,GAAG;MACd;IACJ;;IAEA;AACJ;AACA;AACA;EAHI;IAAA;IAAA,OAIA,iBAAeC,GAAG,EAAE;MAChB,IAAI,OAAOA,GAAG,KAAK,QAAQ,EAAE;QACzB,IAAIA,GAAG,CAAC3B,MAAM,GAAG,CAAC,EAAE;UAChB,OAAO,GAAG,GAAG2B,GAAG;QACpB,CAAC,MAAM;UACH,OAAOA,GAAG;QACd;MACJ,CAAC,MAAM,IAAIA,GAAG,GAAG,EAAE,EAAE;QACjB,OAAO,GAAG,GAAGA,GAAG;MACpB,CAAC,MAAM;QACH,OAAOA,GAAG;MACd;IACJ;;IAEA;AACJ;AACA;AACA;EAHI;IAAA;IAAA,OAIA,uBAAqBC,MAAM,EAAE;MACzB,IAAIA,MAAM,EAAE;QACRlG,KAAK,CAACmG,UAAU,GAAGD,MAAM,CAAC3F,WAAW,EAAE,CAACL,KAAK,CAAC,OAAO,CAAC;QACtDF,KAAK,CAACmG,UAAU,CAACxC,MAAM,CAAC3D,KAAK,CAACmG,UAAU,CAACb,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;MAChE;IACJ;;IAEA;AACJ;AACA;AACA;AACA;EAJI;IAAA;IAAA,OAKA,qBAAmBc,GAAG,EAAE;MACpB,IAAI,OAAOA,GAAG,KAAK,QAAQ,EAAE;QACzBA,GAAG,GAAGA,GAAG,CAAC9D,IAAI,EAAE;QAChB,IAAI,CAAC8D,GAAG,EAAE,OAAO,EAAE;QACnB;QACA,IAAIA,GAAG,CAACxB,KAAK,CAAC,WAAW,CAAC,EAAE;UACxB;UACA,OAAOwB,GAAG;QACd;QACA,IAAIC,CAAC,GAAGD,GAAG,CAACxB,KAAK,CAAC,uCAAuC,CAAC;QAC1D,IAAIyB,CAAC,EAAE;UACH,IAAIC,CAAC,GAAG,CAACV,QAAQ,CAACS,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAET,QAAQ,CAACS,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAET,QAAQ,CAACS,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;UACpE,IAAIE,IAAI,GAAGD,CAAC,CAACE,IAAI,CAAC,UAAAC,CAAC;YAAA,OAAIA,CAAC,GAAG,EAAE;UAAA,EAAC;UAC9BH,CAAC,CAAC3C,MAAM,CAAC2C,CAAC,CAAChB,OAAO,CAACiB,IAAI,CAAC,EAAE,CAAC,CAAC;UAC5B,IAAIG,GAAG,GAAGJ,CAAC,CAACE,IAAI,CAAC,UAAAH,CAAC;YAAA,OAAIA,CAAC,GAAG,EAAE;UAAA,EAAC;UAC7B,IAAIK,GAAG,EAAE;YACLJ,CAAC,CAAC3C,MAAM,CAAC2C,CAAC,CAAChB,OAAO,CAACoB,GAAG,CAAC,EAAE,CAAC,CAAC;YAC3BN,GAAG,GAAG,IAAIO,IAAI,CAACJ,IAAI,EAAED,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAEI,GAAG,CAAC;UACvC,CAAC,MAAM;YACH;YACA,IAAI1G,KAAK,CAACmG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAInG,KAAK,CAACmG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;cAClEC,GAAG,GAAG,IAAIO,IAAI,CAACJ,IAAI,EAAED,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,CAAC;cACpC,IAAI1F,IAAI,CAACgG,GAAG,CAACR,GAAG,CAACS,OAAO,GAAGF,IAAI,CAACP,GAAG,EAAE,CAAC,GAAG,OAAO,GAAG,EAAE,GAAG,EAAE,EAAE;gBACxDA,GAAG,GAAG,IAAIO,IAAI,CAACJ,IAAI,EAAED,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,CAAC;cACxC;YACJ,CAAC;cACD;cACA,IAAItG,KAAK,CAACmG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAInG,KAAK,CAACmG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;gBAClEC,GAAG,GAAG,IAAIO,IAAI,CAACJ,IAAI,EAAED,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpC,IAAI1F,IAAI,CAACgG,GAAG,CAACR,GAAG,CAACS,OAAO,GAAGF,IAAI,CAACP,GAAG,EAAE,CAAC,GAAG,OAAO,GAAG,EAAE,GAAG,EAAE,EAAE;kBACxDA,GAAG,GAAG,IAAIO,IAAI,CAACJ,IAAI,EAAED,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxC;cACJ,CAAC,MAAM;gBACHF,GAAG,GAAG,IAAIO,IAAI,CAACP,GAAG,CAAC;cACvB;UACJ;QACJ,CAAC,MAAM;UACHA,GAAG,GAAG,IAAIO,IAAI,CAACP,GAAG,CAAC;QACvB;MACJ,CAAC,MAAM;QACHA,GAAG,GAAG,IAAIO,IAAI,CAACP,GAAG,CAAC;MACvB;MAEA,IAAIU,IAAI,GAAG7F,gBAAI,CAACC,CAAC,CAAC,SAAS,GAAG7B,IAAI,CAAC+G,GAAG,CAACW,MAAM,EAAE,CAAC,CAAC,CAAC7E,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;MACxE4E,IAAI,IAAI,IAAI,GAAGV,GAAG,CAACY,OAAO,EAAE,GAAG,GAAG,GAAG/F,gBAAI,CAACC,CAAC,CAAC,WAAW,GAAG5B,MAAM,CAAC8G,GAAG,CAACa,QAAQ,EAAE,CAAC,CAAC,CAAC/E,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;MAC1G,OAAO4E,IAAI;IACf;;IAEA;AACJ;AACA;AACA;AACA;EAJI;IAAA;IAAA,OAKA,yBAAuB9F,IAAI,EAAE;MACzB,IAAIqF,CAAC,GAAGrF,IAAI,CAAC4D,KAAK,CAAC,mDAAmD,CAAC;MACvE,IAAIyB,CAAC,EAAE;QACH,IAAM7C,MAAM,GAAG,EAAE;QACjB,IAAI0D,GAAG,GAAG,CAAC;QACX,GAAG;UACC,IAAMjC,KAAK,GAAGjE,IAAI,CAACR,SAAS,CAAC,CAAC,EAAE6F,CAAC,CAACc,KAAK,CAAC;UACxCnG,IAAI,GAAGA,IAAI,CAACR,SAAS,CAAC6F,CAAC,CAACc,KAAK,GAAGd,CAAC,CAAC,CAAC,CAAC,CAAC/B,MAAM,CAAC;UAC5CW,KAAK,IAAIzB,MAAM,CAAC0B,IAAI,eAAC;YAAM,GAAG,aAAMgC,GAAG,EAAE;UAAG,GAAEjC,KAAK,CAAQ,CAAC;UAE5D,IAAIoB,CAAC,CAAC,CAAC,CAAC,CAAC9B,UAAU,CAAC,KAAK,CAAC,EAAE;YACxBf,MAAM,CAAC0B,IAAI,eAAC;cAAG,GAAG,aAAMgC,GAAG,EAAE;YAAG,GAAEb,CAAC,CAAC,CAAC,CAAC,CAAC7F,SAAS,CAAC,CAAC,EAAE6F,CAAC,CAAC,CAAC,CAAC,CAAC/B,MAAM,GAAG,CAAC,CAAC,CAAK,CAAC;UAC9E,CAAC,MAAM,IAAI+B,CAAC,CAAC,CAAC,CAAC,CAAC9B,UAAU,CAAC,KAAK,CAAC,EAAE;YAC/Bf,MAAM,CAAC0B,IAAI,eAAC;cAAG,GAAG,aAAMgC,GAAG,EAAE;YAAG,GAAEb,CAAC,CAAC,CAAC,CAAC,CAAC7F,SAAS,CAAC,CAAC,EAAE6F,CAAC,CAAC,CAAC,CAAC,CAAC/B,MAAM,GAAG,CAAC,CAAC,CAAK,CAAC;UAC9E,CAAC,MAAM,IAAI+B,CAAC,CAAC,CAAC,CAAC,CAAC9B,UAAU,CAAC,KAAK,CAAC,EAAE;YAC/Bf,MAAM,CAAC0B,IAAI,eAAC;cAAI,GAAG,aAAMgC,GAAG,EAAE;YAAG,EAAG,CAAC;UACzC,CAAC,MAAM;YACH,IAAIE,IAAI,GAAGf,CAAC,CAAC,CAAC,CAAC,CAACzB,KAAK,CAAC,gBAAgB,CAAC,IAAIyB,CAAC,CAAC,CAAC,CAAC,CAACzB,KAAK,CAAC,gBAAgB,CAAC;YACvE,IAAIyC,MAAM,GAAGhB,CAAC,CAAC,CAAC,CAAC,CAACzB,KAAK,CAAC,kBAAkB,CAAC,IAAIyB,CAAC,CAAC,CAAC,CAAC,CAACzB,KAAK,CAAC,kBAAkB,CAAC;YAC7E,IAAI0C,GAAG,GAAGjB,CAAC,CAAC,CAAC,CAAC,CAACzB,KAAK,CAAC,eAAe,CAAC,IAAIyB,CAAC,CAAC,CAAC,CAAC,CAACzB,KAAK,CAAC,eAAe,CAAC;YACpE,IAAM2C,KAAK,GAAGlB,CAAC,CAAC,CAAC,CAAC,CAACzB,KAAK,CAAC,WAAW,CAAC;;YAErC;YACApB,MAAM,CAAC0B,IAAI,eAAC;cACR,GAAG,aAAMgC,GAAG,EAAE,CAAG;cACjB,IAAI,EAAEE,IAAI,GAAGA,IAAI,CAAC,CAAC,CAAC,GAAG,EAAG;cAC1B,MAAM,EAAEC,MAAM,GAAGA,MAAM,CAAC,CAAC,CAAC,GAAG,QAAS;cACtC,GAAG,EAAEC,GAAG,GAAGA,GAAG,CAAC,CAAC,CAAC,GAAG,EAAG;cACvB,KAAK,EAAE;gBAAEpD,KAAK,EAAE;cAAU;YAAE,GAE3BqD,KAAK,GAAGA,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CACtB,CAAC;UACT;UAEAlB,CAAC,GAAGrF,IAAI,IAAIA,IAAI,CAAC4D,KAAK,CAAC,mDAAmD,CAAC;UAC3E,IAAI,CAACyB,CAAC,EAAE;YACJrF,IAAI,IAAIwC,MAAM,CAAC0B,IAAI,eAAC;cAAM,GAAG,EAAE,GAAG,GAAIgC,GAAG;YAAI,GAAElG,IAAI,CAAQ,CAAC;UAChE;QACJ,CAAC,QAAQqF,CAAC;QAEV,OAAO7C,MAAM;MACjB,CAAC,MAAM;QACH,OAAOxC,IAAI;MACf;IACJ;;IAEA;AACJ;AACA;AACA;AACA;AACA;AACA;EANI;IAAA;IAAA,OAOA,sBAAoBwG,MAAM,EAAEpG,EAAE,EAAEqG,UAAU,EAAEC,QAAQ,EAAE;MAClD,IAAI,CAACtG,EAAE,EAAE;QACL,IAAI,CAACsG,QAAQ,EAAE;UACX,IAAI,CAACF,MAAM,CAAC9F,MAAM,EAAE;YAChB,OAAO8F,MAAM,CAACG,SAAS;UAC3B,CAAC,MAAM;YACH,IAAIH,MAAM,IAAI,CAACA,MAAM,CAAC9F,MAAM,EAAE;cAC1B,OAAO8F,MAAM,CAACG,SAAS;YAC3B,CAAC,MAAM;cACH,OAAOH,MAAM,CAAC9F,MAAM,CAACiG,SAAS;YAClC;UACJ;QACJ,CAAC,MAAM;UACH,IAAIH,MAAM,IAAI,CAACA,MAAM,CAAC9F,MAAM,EAAE;YAC1B,OAAO8F,MAAM,CAACG,SAAS;UAC3B,CAAC,MAAM;YACH,OAAQH,MAAM,IACVA,MAAM,CAAC9F,MAAM,IACb8F,MAAM,CAAC9F,MAAM,CAACkB,MAAM,IACpB4E,MAAM,CAAC9F,MAAM,CAACkB,MAAM,CAAC6E,UAAU,CAAC,GAChCD,MAAM,CAAC9F,MAAM,CAACkB,MAAM,CAAC6E,UAAU,CAAC,CAACE,SAAS,GAAG5D,SAAS;UAC9D;QACJ;MACJ,CAAC,MACD,IAAI,CAAC2D,QAAQ,EAAE;QACX,OAAOF,MAAM,CAACpG,EAAE,CAAC,CAACM,MAAM,CAACiG,SAAS;MACtC,CAAC,MAAM;QACH,OAAQH,MAAM,CAACpG,EAAE,CAAC,IACdoG,MAAM,CAACpG,EAAE,CAAC,CAACM,MAAM,IACjB8F,MAAM,CAACpG,EAAE,CAAC,CAACM,MAAM,CAACkB,MAAM,IACxB4E,MAAM,CAACpG,EAAE,CAAC,CAACM,MAAM,CAACkB,MAAM,CAAC6E,UAAU,CAAC,GACpCD,MAAM,CAACpG,EAAE,CAAC,CAACM,MAAM,CAACkB,MAAM,CAAC6E,UAAU,CAAC,CAACE,SAAS,IAAI,IAAI,GAAG,IAAI;MACrE;IACJ;;IAEA;AACJ;AACA;AACA;AACA;AACA;EALI;IAAA;IAAA,OAMA,6BAA2BpF,GAAG,EAAEkF,UAAU,EAAEC,QAAQ,EAAE;MAClD,IAAI,CAACA,QAAQ,EAAE;QACX,IAAI,CAACnF,GAAG,CAACb,MAAM,EAAE;UACb,OAAOa,GAAG,CAACoF,SAAS;QACxB,CAAC,MAAM;UACH,IAAIpF,GAAG,IAAI,CAACA,GAAG,CAACb,MAAM,EAAE;YACpB,OAAOa,GAAG,CAACoF,SAAS;UACxB,CAAC,MAAM;YACH,OAAOpF,GAAG,CAACb,MAAM,CAACiG,SAAS;UAC/B;QACJ;MACJ,CAAC,MAAM;QACH,IAAIpF,GAAG,IAAI,CAACA,GAAG,CAACb,MAAM,EAAE;UACpB,OAAOa,GAAG,CAACoF,SAAS;QACxB,CAAC,MAAM;UACH,OAAQpF,GAAG,IACPA,GAAG,CAACb,MAAM,IACVa,GAAG,CAACb,MAAM,CAACkB,MAAM,IACjBL,GAAG,CAACb,MAAM,CAACkB,MAAM,CAAC6E,UAAU,CAAC,GAC7BlF,GAAG,CAACb,MAAM,CAACkB,MAAM,CAAC6E,UAAU,CAAC,CAACE,SAAS,GAAG5D,SAAS;QAC3D;MACJ;IACJ;;IAEA;AACJ;AACA;AACA;AACA;AACA;EALI;IAAA;IAAA,OAMA,yBAAuBxB,GAAG,EAAEkF,UAAU,EAAEC,QAAQ,EAAE;MAC9C,IAAIA,QAAQ,EAAE;QACVnF,GAAG,CAACb,MAAM,CAACkB,MAAM,GAAGL,GAAG,CAACb,MAAM,CAACkB,MAAM,IAAI,CAAC,CAAC;QAC3CL,GAAG,CAACb,MAAM,CAACkB,MAAM,CAAC6E,UAAU,CAAC,GAAGlF,GAAG,CAACb,MAAM,CAACkB,MAAM,CAAC6E,UAAU,CAAC,IAAI,CAAC,CAAC;QACnElF,GAAG,CAACb,MAAM,CAACkB,MAAM,CAAC6E,UAAU,CAAC,CAACE,SAAS,GAAG,CAAC,CAAC;MAChD,CAAC,MAAM;QACHpF,GAAG,CAACb,MAAM,CAACiG,SAAS,GAAG,CAAC,CAAC;MAC7B;IACJ;;IAEA;AACJ;AACA;AACA;AACA;AACA;EALI;IAAA;IAAA,OAMA,yBAAuBpF,GAAG,EAAEkF,UAAU,EAAEC,QAAQ,EAAE;MAC9C,IAAIA,QAAQ,EAAE;QACV,IAAInF,GAAG,CAACb,MAAM,IAAIa,GAAG,CAACb,MAAM,CAACkB,MAAM,IAAIL,GAAG,CAACb,MAAM,CAACkB,MAAM,CAAC6E,UAAU,CAAC,EAAE;UAClElF,GAAG,CAACb,MAAM,CAACkB,MAAM,CAAC6E,UAAU,CAAC,GAAG,IAAI;QACxC;MACJ,CAAC,MAAM;QACHlF,GAAG,CAACb,MAAM,CAACiG,SAAS,GAAG,IAAI;MAC/B;IACJ;;IAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EARI;IAAA;IAAA,OASA,yBAAuBpF,GAAG,EAAEqF,YAAY,EAAEC,IAAI,EAAEC,SAAS,EAAEL,UAAU,EAAEC,QAAQ,EAAE;MAC7E,IAAMjG,QAAQ,GAAGR,gBAAI,CAAC8G,WAAW,EAAE;;MAEnC;MACA,IAAI,OAAOxF,GAAG,CAACb,MAAM,CAACiG,SAAS,KAAK,QAAQ,EAAE;QAC1C,IAAMK,GAAG,GAAGzF,GAAG,CAACb,MAAM,CAACiG,SAAS;QAChCpF,GAAG,CAACb,MAAM,CAACiG,SAAS,GAAG,CAAC,CAAC;QACzBpF,GAAG,CAACb,MAAM,CAACiG,SAAS,CAAClG,QAAQ,CAAC,GAAGuG,GAAG;MACxC;;MAEA;MACA,IAAIzF,GAAG,UAAO,IAAIA,GAAG,UAAO,CAACsF,IAAI,EAAE;QAC/B,OAAOtF,GAAG,UAAO,CAACsF,IAAI;QACtB,IAAII,UAAU,GAAG1F,GAAG,CAACb,MAAM,CAACiG,SAAS;QAErC,IAAI,CAACM,UAAU,IAAI,yBAAOA,UAAU,MAAK,QAAQ,EAAE;UAC/CA,UAAU,GAAG;YAACpG,EAAE,EAAEoG;UAAU,CAAC;UAC7BA,UAAU,CAACxG,QAAQ,CAAC,GAAGwG,UAAU,CAACpG,EAAE;QACxC;QACAU,GAAG,CAACb,MAAM,CAACiG,SAAS,GAAGM,UAAU;MACrC;MACA,IAAIH,SAAS,KAAK/D,SAAS,EAAE;QACzB,IAAI2D,QAAQ,EAAE;UACVnF,GAAG,CAACb,MAAM,CAACkB,MAAM,GAAGL,GAAG,CAACb,MAAM,CAACkB,MAAM,IAAI,CAAC,CAAC;UAC3CL,GAAG,CAACb,MAAM,CAACkB,MAAM,CAAC6E,UAAU,CAAC,GAAGlF,GAAG,CAACb,MAAM,CAACkB,MAAM,CAAC6E,UAAU,CAAC,IAAI,CAAC,CAAC;UACnElF,GAAG,CAACb,MAAM,CAACkB,MAAM,CAAC6E,UAAU,CAAC,CAACE,SAAS,GAAGpF,GAAG,CAACb,MAAM,CAACkB,MAAM,CAAC6E,UAAU,CAAC,CAACE,SAAS,IAAI,CAAC,CAAC;UACvF,IAAI,CAACG,SAAS,EAAE;YACZ,OAAOvF,GAAG,CAACb,MAAM,CAACkB,MAAM,CAAC6E,UAAU,CAAC,CAACE,SAAS,CAACG,SAAS;UAC5D,CAAC,MAAM;YACHvF,GAAG,CAACb,MAAM,CAACkB,MAAM,CAAC6E,UAAU,CAAC,CAACE,SAAS,CAACG,SAAS,GAAGA,SAAS;UACjE;QACJ,CAAC,MAAM;UACHvF,GAAG,CAACb,MAAM,CAACiG,SAAS,GAAGpF,GAAG,CAACb,MAAM,CAACiG,SAAS,IAAI,CAAC,CAAC;UACjD,IAAI,CAACG,SAAS,EAAE;YACZ,OAAOvF,GAAG,CAACb,MAAM,CAACiG,SAAS,CAACG,SAAS;UACzC,CAAC,MAAM;YACHvF,GAAG,CAACb,MAAM,CAACiG,SAAS,CAACG,SAAS,GAAGA,SAAS;UAC9C;QAEJ;MACJ;MACA,IAAID,IAAI,KAAK9D,SAAS,EAAE;QACpB,IAAI2D,QAAQ,EAAE;UACVnF,GAAG,CAACb,MAAM,CAACkB,MAAM,GAAGL,GAAG,CAACb,MAAM,CAACkB,MAAM,IAAI,CAAC,CAAC;UAC3CL,GAAG,CAACb,MAAM,CAACkB,MAAM,CAAC6E,UAAU,CAAC,GAAGlF,GAAG,CAACb,MAAM,CAACkB,MAAM,CAAC6E,UAAU,CAAC,IAAI,CAAC,CAAC;UACnElF,GAAG,CAACb,MAAM,CAACkB,MAAM,CAAC6E,UAAU,CAAC,CAACE,SAAS,GAAGpF,GAAG,CAACb,MAAM,CAACkB,MAAM,CAAC6E,UAAU,CAAC,CAACE,SAAS,IAAI,CAAC,CAAC;UACvFpF,GAAG,CAACb,MAAM,CAACkB,MAAM,CAAC6E,UAAU,CAAC,CAACE,SAAS,CAACE,IAAI,GAAGA,IAAI;QACvD,CAAC,MAAM;UACHtF,GAAG,CAACb,MAAM,CAACiG,SAAS,GAAGpF,GAAG,CAACb,MAAM,CAACiG,SAAS,IAAI,CAAC,CAAC;UACjDpF,GAAG,CAACb,MAAM,CAACiG,SAAS,CAACE,IAAI,GAAGA,IAAI;QACpC;MACJ;MACA,IAAID,YAAY,KAAK7D,SAAS,EAAE;QAC5B,IAAI4D,SAAS;QACb,IAAID,QAAQ,EAAE;UACVnF,GAAG,CAACb,MAAM,CAACkB,MAAM,GAAGL,GAAG,CAACb,MAAM,CAACkB,MAAM,IAAI,CAAC,CAAC;UAC3CL,GAAG,CAACb,MAAM,CAACkB,MAAM,CAAC6E,UAAU,CAAC,GAAGlF,GAAG,CAACb,MAAM,CAACkB,MAAM,CAAC6E,UAAU,CAAC,IAAI,CAAC,CAAC;UACnElF,GAAG,CAACb,MAAM,CAACkB,MAAM,CAAC6E,UAAU,CAAC,CAACE,SAAS,GAAGpF,GAAG,CAACb,MAAM,CAACkB,MAAM,CAAC6E,UAAU,CAAC,CAACE,SAAS,IAAI,CAAC,CAAC;UACvFA,SAAS,GAAGpF,GAAG,CAACb,MAAM,CAACkB,MAAM,CAAC6E,UAAU,CAAC,CAACE,SAAS;QACvD,CAAC,MAAM;UACHpF,GAAG,CAACb,MAAM,CAACiG,SAAS,GAAGpF,GAAG,CAACb,MAAM,CAACiG,SAAS,IAAI,CAAC,CAAC;UACjDA,SAAS,GAAGpF,GAAG,CAACb,MAAM,CAACiG,SAAS;QACpC;QACAA,SAAS,CAAClG,QAAQ,CAAC,GAAGmG,YAAY;;QAElC;QACA,IAAID,SAAS,KAAK,CAACA,SAAS,CAAClG,QAAQ,CAAC,IACjCkG,SAAS,CAAClG,QAAQ,CAAC,KAAKc,GAAG,CAACb,MAAM,CAACzB,IAAI,KACnC,CAACsC,GAAG,CAACb,MAAM,CAACwG,IAAI,IAAI3F,GAAG,CAACb,MAAM,CAACwG,IAAI,CAAC5C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAE,CAAC,EAAE;UACpE,OAAOqC,SAAS,CAAClG,QAAQ,CAAC;UAC1B,IAAI0G,KAAK,GAAG,IAAI;UAChB;UACA,KAAK,IAAMjB,GAAG,IAAIS,SAAS,EAAE;YACzB,IAAIA,SAAS,CAAChF,cAAc,CAACuE,GAAG,CAAC,EAAE;cAC/BiB,KAAK,GAAG,KAAK;cACb;YACJ;UACJ;UACA;UACA,IAAIA,KAAK,EAAE;YACP,IAAIT,QAAQ,EAAE;cACV,IAAInF,GAAG,CAACb,MAAM,CAACkB,MAAM,CAAC6E,UAAU,CAAC,CAACE,SAAS,CAACE,IAAI,KAAK9D,SAAS,EAAE;gBAC5D,OAAOxB,GAAG,CAACb,MAAM,CAACkB,MAAM,CAAC6E,UAAU,CAAC;cACxC,CAAC,MAAM;gBACH,OAAOlF,GAAG,CAACb,MAAM,CAACkB,MAAM,CAAC6E,UAAU,CAAC,CAAC5F,EAAE;gBACvC,OAAOU,GAAG,CAACb,MAAM,CAACkB,MAAM,CAAC6E,UAAU,CAAC,CAAC1F,EAAE;gBACvC,OAAOQ,GAAG,CAACb,MAAM,CAACkB,MAAM,CAAC6E,UAAU,CAAC,CAACzF,EAAE;gBACvC,OAAOO,GAAG,CAACb,MAAM,CAACkB,MAAM,CAAC6E,UAAU,CAAC,CAACW,EAAE;gBACvC,OAAO7F,GAAG,CAACb,MAAM,CAACkB,MAAM,CAAC6E,UAAU,CAAC,CAACY,EAAE;gBACvC,OAAO9F,GAAG,CAACb,MAAM,CAACkB,MAAM,CAAC6E,UAAU,CAAC,CAACa,EAAE;gBACvC,OAAO/F,GAAG,CAACb,MAAM,CAACkB,MAAM,CAAC6E,UAAU,CAAC,CAACc,EAAE;gBACvC,OAAOhG,GAAG,CAACb,MAAM,CAACkB,MAAM,CAAC6E,UAAU,CAAC,CAACe,EAAE;gBACvC,OAAOjG,GAAG,CAACb,MAAM,CAACkB,MAAM,CAAC6E,UAAU,CAAC,CAACgB,EAAE;gBACvC,OAAOlG,GAAG,CAACb,MAAM,CAACkB,MAAM,CAAC6E,UAAU,CAAC,CAAC,OAAO,CAAC;cACjD;YACJ,CAAC,MAAM;cACH,IAAIlF,GAAG,CAACb,MAAM,CAACiG,SAAS,CAACE,IAAI,KAAK9D,SAAS,EAAE;gBACzC,OAAOxB,GAAG,CAACb,MAAM,CAACiG,SAAS,CAAC9F,EAAE;gBAC9B,OAAOU,GAAG,CAACb,MAAM,CAACiG,SAAS,CAAC5F,EAAE;gBAC9B,OAAOQ,GAAG,CAACb,MAAM,CAACiG,SAAS,CAAC3F,EAAE;gBAC9B,OAAOO,GAAG,CAACb,MAAM,CAACiG,SAAS,CAACS,EAAE;gBAC9B,OAAO7F,GAAG,CAACb,MAAM,CAACiG,SAAS,CAACU,EAAE;gBAC9B,OAAO9F,GAAG,CAACb,MAAM,CAACiG,SAAS,CAACW,EAAE;gBAC9B,OAAO/F,GAAG,CAACb,MAAM,CAACiG,SAAS,CAACY,EAAE;gBAC9B,OAAOhG,GAAG,CAACb,MAAM,CAACiG,SAAS,CAACa,EAAE;gBAC9B,OAAOjG,GAAG,CAACb,MAAM,CAACiG,SAAS,CAACc,EAAE;gBAC9B,OAAOlG,GAAG,CAACb,MAAM,CAACiG,SAAS,CAAC,OAAO,CAAC;cACxC,CAAC,MAAM;gBACHpF,GAAG,CAACb,MAAM,CAACiG,SAAS,GAAG,IAAI;cAC/B;YACJ;UACJ;QACJ;MACJ;IACJ;;IAEA;AACJ;AACA;AACA;AACA;AACA;EALI;IAAA;IAAA,OAMA,0BAAwBpF,GAAG,EAAEkF,UAAU,EAAEC,QAAQ,EAAE;MAC/C,IAAIA,QAAQ,EAAE;QACVnF,GAAG,CAACb,MAAM,CAACkB,MAAM,GAAGL,GAAG,CAACb,MAAM,CAACkB,MAAM,IAAI,CAAC,CAAC;QAC3CL,GAAG,CAACb,MAAM,CAACkB,MAAM,CAAC6E,UAAU,CAAC,GAAGlF,GAAG,CAACb,MAAM,CAACkB,MAAM,CAAC6E,UAAU,CAAC,IAAI,CAAC,CAAC;QACnElF,GAAG,CAACb,MAAM,CAACkB,MAAM,CAAC6E,UAAU,CAAC,CAACE,SAAS,GAAG,KAAK;MACnD,CAAC,MAAM;QACHpF,GAAG,CAACb,MAAM,CAACiG,SAAS,GAAG,KAAK;MAChC;IACJ;;IAEA;AACJ;AACA;AACA;AACA;EAJI;IAAA;IAAA,OAKA,yBAAuB3G,IAAI,EAAE0H,CAAC,EAAE;MAC5BA,CAAC,IAAIA,CAAC,CAACC,eAAe,EAAE;MACxBD,CAAC,IAAIA,CAAC,CAACE,cAAc,EAAE;MACvB,OAAO,IAAAC,2BAAI,EAAC7H,IAAI,CAAC;IACrB;;IAEA;AACJ;AACA;AACA;AACA;EAJI;IAAA;IAAA,OAKA,0BAAwB8H,QAAQ,EAAE;MAC9B,IAAM3G,GAAG,GAAG,CAAC2G,QAAQ,IAAI,EAAE,EAAE1G,WAAW,CAAC,GAAG,CAAC;MAC7C,IAAID,GAAG,KAAK,CAAC,CAAC,EAAE;QACZ,OAAO2G,QAAQ,CAACtI,SAAS,CAAC2B,GAAG,GAAG,CAAC,CAAC,CAAC1B,WAAW,EAAE;MACpD,CAAC,MAAM;QACH,OAAO,IAAI;MACf;IACJ;;IAEA;AACJ;AACA;AACA;AACA;AACA;EALI;IAAA;IAAA,OAMA,qBAAmBsI,KAAK,EAAE;MACtB,IAAInI,IAAI,CAACgG,GAAG,CAACmC,KAAK,CAAC,GAAG,IAAI,EAAE;QACxB,OAAOA,KAAK,GAAG,IAAI;MACvB;MAEA,IAAMC,KAAK,GAAG,CAAC,IAAI,EAAC,IAAI,EAAC,IAAI,CAAC;MAC9B;MACA,IAAIC,CAAC,GAAG,CAAC,CAAC;MAEV,GAAG;QACCF,KAAK,IAAI,IAAI;QACb,EAAEE,CAAC;MACP,CAAC,QAAQrI,IAAI,CAACgG,GAAG,CAACmC,KAAK,CAAC,IAAI,IAAI,IAAIE,CAAC,GAAGD,KAAK,CAAC1E,MAAM,GAAG,CAAC;MAExD,OAAOyE,KAAK,CAACG,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,GAAGF,KAAK,CAACC,CAAC,CAAC;IAC5C;;IAEA;AACJ;AACA;AACA;AACA;AACA;AACA;EANI;IAAA;IAAA,OAOA,0BAAwB/E,KAAK,EAAEiF,SAAS,EAAEC,MAAM,EAAE;MAC9C,IAAI,CAAClF,KAAK,EAAE;QACR,OAAOH,SAAS;MACpB,CAAC,MAAM;QACH,IAAMsF,aAAa,GAAGrJ,KAAK,CAACsJ,WAAW,CAACpF,KAAK,EAAE,IAAI,CAAC;QACpD,IAAImF,aAAa,KAAK,SAAS,KAAKF,SAAS,KAAK,MAAM,IAAKC,MAAM,IAAID,SAAS,KAAK,OAAQ,CAAC,EAAE;UAC5F,OAAO,MAAM;QACjB,CAAC,MACD,IAAIE,aAAa,KAAK,SAAS,KAAKF,SAAS,KAAK,OAAO,IAAKC,MAAM,IAAID,SAAS,KAAK,MAAO,CAAC,EAAE;UAC5F,OAAO,MAAM;QACjB,CAAC,MAAM;UACH,OAAOpF,SAAS;QACpB;MACJ;IACJ;;IAEA;IACA;AACJ;AACA;AACA;AACA;AACA;EALI;IAAA;IAAA,OAMA,qBAAmBwF,GAAG,EAAEC,EAAE,EAAE;MACxB,IAAID,GAAG,KAAKxF,SAAS,IAAIwF,GAAG,KAAK,IAAI,IAAIA,GAAG,KAAK,EAAE,IAAI,OAAOA,GAAG,KAAK,QAAQ,EAAE;QAC5E,OAAO,EAAE;MACb;MACA,IAAIA,GAAG,CAAChF,UAAU,CAAC,MAAM,CAAC,EAAE;QACxB,IAAM8B,CAAC,GAAGkD,GAAG,CAAC3E,KAAK,CAAC,8CAA8C,CAAC;QACnE,IAAIyB,CAAC,EAAE;UACHkD,GAAG,GAAG3D,QAAQ,CAACS,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAACpE,QAAQ,CAAC,EAAE,CAAC,CAACwH,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAClD7D,QAAQ,CAACS,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAACpE,QAAQ,CAAC,EAAE,CAAC,CAACwH,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAChD7D,QAAQ,CAACS,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAACpE,QAAQ,CAAC,EAAE,CAAC,CAACwH,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;QACxD;MACJ,CAAC,MAAM,IAAIF,GAAG,CAAChF,UAAU,CAAC,KAAK,CAAC,EAAE;QAC9B,IAAM8B,EAAC,GAAGkD,GAAG,CAAC3E,KAAK,CAAC,iCAAiC,CAAC;QACtD,IAAIyB,EAAC,EAAE;UACHkD,GAAG,GAAG3D,QAAQ,CAACS,EAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAACpE,QAAQ,CAAC,EAAE,CAAC,CAACwH,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAClD7D,QAAQ,CAACS,EAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAACpE,QAAQ,CAAC,EAAE,CAAC,CAACwH,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAChD7D,QAAQ,CAACS,EAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAACpE,QAAQ,CAAC,EAAE,CAAC,CAACwH,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;QACxD;MACJ,CAAC,MACD,IAAIF,GAAG,CAAChF,UAAU,CAAC,GAAG,CAAC,EAAE;QACrBgF,GAAG,GAAGA,GAAG,CAAChE,KAAK,CAAC,CAAC,CAAC;MACtB;MACA;MACA,IAAIgE,GAAG,CAACjF,MAAM,KAAK,CAAC,EAAE;QAClBiF,GAAG,GAAGA,GAAG,CAAC,CAAC,CAAC,GAAGA,GAAG,CAAC,CAAC,CAAC,GAAGA,GAAG,CAAC,CAAC,CAAC,GAAGA,GAAG,CAAC,CAAC,CAAC,GAAGA,GAAG,CAAC,CAAC,CAAC,GAAGA,GAAG,CAAC,CAAC,CAAC;MAC7D;MACA,IAAIG,IAAI,GAAG,IAAI;MACf,IAAIH,GAAG,CAACjF,MAAM,KAAK,CAAC,EAAE;QAClBoF,IAAI,GAAGH,GAAG,CAAC/I,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1B+I,GAAG,GAAGA,GAAG,CAAC/I,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;MAC7B,CAAC,MACD,IAAI+I,GAAG,CAACjF,MAAM,KAAK,CAAC,EAAE;QAClBqF,OAAO,CAACC,IAAI,CAAC,uBAAuB,GAAGL,GAAG,CAAC;QAC3C,OAAOA,GAAG;MACd;MACA,IAAI/D,CAAC,GAAGI,QAAQ,CAAC2D,GAAG,CAAChE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;MACrC,IAAIE,CAAC,GAAGG,QAAQ,CAAC2D,GAAG,CAAChE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;MACrC,IAAIG,CAAC,GAAGE,QAAQ,CAAC2D,GAAG,CAAChE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;MAErC,IAAIiE,EAAE,EAAE;QACJ;QACA,OAAQhE,CAAC,GAAG,KAAK,GAAGC,CAAC,GAAG,KAAK,GAAGC,CAAC,GAAG,KAAK,GAAI,GAAG,oBAChCgE,IAAI,GAAGA,IAAI,GAAG,EAAE,qBAChBA,IAAI,GAAGA,IAAI,GAAG,EAAE,CAAE;MACtC;MACA;MACAlE,CAAC,GAAG,CAAC,GAAG,GAAGA,CAAC,EAAEvD,QAAQ,CAAC,EAAE,CAAC;MAC1BwD,CAAC,GAAG,CAAC,GAAG,GAAGA,CAAC,EAAExD,QAAQ,CAAC,EAAE,CAAC;MAC1ByD,CAAC,GAAG,CAAC,GAAG,GAAGA,CAAC,EAAEzD,QAAQ,CAAC,EAAE,CAAC;MAC1B;MACA,kBAAWuD,CAAC,CAACiE,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,SAAGhE,CAAC,CAACgE,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,SAAG/D,CAAC,CAAC+D,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,SAAGC,IAAI,GAAGA,IAAI,GAAG,EAAE;IAC9F;;IAEA;AACJ;AACA;AACA;AACA;EAJI;IAAA;IAAA,OAKA,mBAAiBH,GAAG,EAAE;MAClB,IAAIA,GAAG,KAAKxF,SAAS,IAAIwF,GAAG,KAAK,IAAI,IAAIA,GAAG,KAAK,EAAE,IAAI,OAAOA,GAAG,KAAK,QAAQ,EAAE;QAC5E,OAAO,EAAE;MACb;MACA,IAAIA,GAAG,CAAChF,UAAU,CAAC,MAAM,CAAC,EAAE;QACxB,IAAM8B,CAAC,GAAGkD,GAAG,CAAC3E,KAAK,CAAC,8CAA8C,CAAC;QACnE,IAAIyB,CAAC,EAAE;UACHkD,GAAG,GAAG3D,QAAQ,CAACS,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAACpE,QAAQ,CAAC,EAAE,CAAC,CAACwH,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAClD7D,QAAQ,CAACS,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAACpE,QAAQ,CAAC,EAAE,CAAC,CAACwH,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAChD7D,QAAQ,CAACS,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAACpE,QAAQ,CAAC,EAAE,CAAC,CAACwH,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;QACxD;MACJ,CAAC,MAAM,IAAIF,GAAG,CAAChF,UAAU,CAAC,MAAM,CAAC,EAAE;QAC/B,IAAM8B,GAAC,GAAGkD,GAAG,CAAC3E,KAAK,CAAC,iCAAiC,CAAC;QACtD,IAAIyB,GAAC,EAAE;UACHkD,GAAG,GAAG3D,QAAQ,CAACS,GAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAACpE,QAAQ,CAAC,EAAE,CAAC,CAACwH,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAClD7D,QAAQ,CAACS,GAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAACpE,QAAQ,CAAC,EAAE,CAAC,CAACwH,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAChD7D,QAAQ,CAACS,GAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAACpE,QAAQ,CAAC,EAAE,CAAC,CAACwH,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;QACxD;MACJ,CAAC,MACD,IAAIF,GAAG,CAAChF,UAAU,CAAC,GAAG,CAAC,EAAE;QACrBgF,GAAG,GAAGA,GAAG,CAAChE,KAAK,CAAC,CAAC,CAAC;MACtB;MACA;MACA,IAAIgE,GAAG,CAACjF,MAAM,KAAK,CAAC,EAAE;QAClBiF,GAAG,GAAGA,GAAG,CAAC,CAAC,CAAC,GAAGA,GAAG,CAAC,CAAC,CAAC,GAAGA,GAAG,CAAC,CAAC,CAAC,GAAGA,GAAG,CAAC,CAAC,CAAC,GAAGA,GAAG,CAAC,CAAC,CAAC,GAAGA,GAAG,CAAC,CAAC,CAAC;MAC7D;MACA,IAAIA,GAAG,CAACjF,MAAM,KAAK,CAAC,IAAIiF,GAAG,CAACjF,MAAM,KAAK,CAAC,EAAE;QACtCqF,OAAO,CAACC,IAAI,gCAAyBL,GAAG,EAAG;QAC3C,OAAO,KAAK;MAChB;MAEA,OAAO,CACH3D,QAAQ,CAAC2D,GAAG,CAAChE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAC7BK,QAAQ,CAAC2D,GAAG,CAAChE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAC7BK,QAAQ,CAAC2D,GAAG,CAAChE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAChC;IACL;;IAEA;IACA;AACJ;AACA;AACA;AACA;EAJI;IAAA;IAAA,OAKA,iBAAeI,GAAG,EAAC;MACf,IAAIH,CAAC,GAAGG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG;MACpB,IAAIF,CAAC,GAAGE,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG;MACpB,IAAID,CAAC,GAAGC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG;MAEpBH,CAAC,GAAIA,CAAC,GAAG,OAAO,GAAI5E,IAAI,CAACiJ,GAAG,CAAC,CAACrE,CAAC,GAAG,KAAK,IAAI,KAAK,EAAE,GAAG,CAAC,GAAGA,CAAC,GAAG,KAAK;MAClEC,CAAC,GAAIA,CAAC,GAAG,OAAO,GAAI7E,IAAI,CAACiJ,GAAG,CAAC,CAACpE,CAAC,GAAG,KAAK,IAAI,KAAK,EAAE,GAAG,CAAC,GAAGA,CAAC,GAAG,KAAK;MAClEC,CAAC,GAAIA,CAAC,GAAG,OAAO,GAAI9E,IAAI,CAACiJ,GAAG,CAAC,CAACnE,CAAC,GAAG,KAAK,IAAI,KAAK,EAAE,GAAG,CAAC,GAAGA,CAAC,GAAG,KAAK;MAElE,IAAIoE,CAAC,GAAG,CAACtE,CAAC,GAAG,MAAM,GAAGC,CAAC,GAAG,MAAM,GAAGC,CAAC,GAAG,MAAM,IAAI,OAAO;MACxD,IAAIe,CAAC,GAAIjB,CAAC,GAAG,MAAM,GAAGC,CAAC,GAAG,MAAM,GAAGC,CAAC,GAAG,MAAO,CAAC,CAAC;MAChD,IAAIX,CAAC,GAAG,CAACS,CAAC,GAAG,MAAM,GAAGC,CAAC,GAAG,MAAM,GAAGC,CAAC,GAAG,MAAM,IAAI,OAAO;MAExDoE,CAAC,GAAIA,CAAC,GAAG,QAAQ,GAAIlJ,IAAI,CAACiJ,GAAG,CAACC,CAAC,EAAE,UAAU,CAAC,GAAI,KAAK,GAAGA,CAAC,GAAI,QAAQ,CAAC,CAAC;MACvErD,CAAC,GAAIA,CAAC,GAAG,QAAQ,GAAI7F,IAAI,CAACiJ,GAAG,CAACpD,CAAC,EAAE,UAAU,CAAC,GAAI,KAAK,GAAGA,CAAC,GAAI,QAAQ,CAAC,CAAC;MACvE1B,CAAC,GAAIA,CAAC,GAAG,QAAQ,GAAInE,IAAI,CAACiJ,GAAG,CAAC9E,CAAC,EAAE,UAAU,CAAC,GAAI,KAAK,GAAGA,CAAC,GAAI,QAAQ,CAAC,CAAC;;MAEvE,OAAO,CAAE,GAAG,GAAG0B,CAAC,GAAI,EAAE,EAAE,GAAG,IAAIqD,CAAC,GAAGrD,CAAC,CAAC,EAAE,GAAG,IAAIA,CAAC,GAAG1B,CAAC,CAAC,CAAC;IACzD;;IAEA;AACJ;AACA;AACA;AACA;AACA;AACA;EANI;IAAA;IAAA,OAOA,uBAAqBgF,MAAM,EAAEC,MAAM,EAAE;MACjC,IAAMC,IAAI,GAAGjK,KAAK,CAACkK,OAAO,CAAClK,KAAK,CAACmK,SAAS,CAACJ,MAAM,CAAC,CAAC;MACnD,IAAMK,IAAI,GAAGpK,KAAK,CAACkK,OAAO,CAAClK,KAAK,CAACmK,SAAS,CAACH,MAAM,CAAC,CAAC;MACnD,IAAMK,IAAI,GAAGJ,IAAI,CAAC,CAAC,CAAC,GAAGG,IAAI,CAAC,CAAC,CAAC;MAC9B,IAAME,IAAI,GAAGL,IAAI,CAAC,CAAC,CAAC,GAAGG,IAAI,CAAC,CAAC,CAAC;MAC9B,IAAMG,IAAI,GAAGN,IAAI,CAAC,CAAC,CAAC,GAAGG,IAAI,CAAC,CAAC,CAAC;MAC9B,IAAMI,EAAE,GAAG5J,IAAI,CAAC6J,IAAI,CAACR,IAAI,CAAC,CAAC,CAAC,GAAGA,IAAI,CAAC,CAAC,CAAC,GAAGA,IAAI,CAAC,CAAC,CAAC,GAAGA,IAAI,CAAC,CAAC,CAAC,CAAC;MAC3D,IAAMS,EAAE,GAAG9J,IAAI,CAAC6J,IAAI,CAACL,IAAI,CAAC,CAAC,CAAC,GAAGA,IAAI,CAAC,CAAC,CAAC,GAAGA,IAAI,CAAC,CAAC,CAAC,GAAGA,IAAI,CAAC,CAAC,CAAC,CAAC;MAC3D,IAAMO,IAAI,GAAGH,EAAE,GAAGE,EAAE;MACpB,IAAIE,IAAI,GAAGN,IAAI,GAAGA,IAAI,GAAGC,IAAI,GAAGA,IAAI,GAAGI,IAAI,GAAGA,IAAI;MAClDC,IAAI,GAAGA,IAAI,GAAG,CAAC,GAAG,CAAC,GAAGhK,IAAI,CAAC6J,IAAI,CAACG,IAAI,CAAC;MACrC,IAAMC,EAAE,GAAG,GAAG,GAAG,KAAK,GAAGL,EAAE;MAC3B,IAAMM,EAAE,GAAG,GAAG,GAAG,KAAK,GAAGN,EAAE;MAC3B,IAAMO,QAAQ,GAAGV,IAAI;MACrB,IAAMW,QAAQ,GAAGL,IAAI,GAAGE,EAAE;MAC1B,IAAMI,QAAQ,GAAGL,IAAI,GAAGE,EAAE;MAC1B,IAAMhG,CAAC,GAAGiG,QAAQ,GAAGA,QAAQ,GAAGC,QAAQ,GAAGA,QAAQ,GAAGC,QAAQ,GAAGA,QAAQ;MACzE,OAAOnG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAGA,CAAC;IACxB;;IAEA;IACA;IACA;IACA;AACJ;AACA;AACA;AACA;EAJI;IAAA;IAAA,OAKA,gBAAcoG,GAAG,EAAE;MACf,IAAIzE,CAAC;MACL,IAAI0E,GAAG,GAAG,EAAE;MAEZ,IAAI,OAAOD,GAAG,KAAK,QAAQ,IAAI,OAAOA,GAAG,KAAK,QAAQ,EAAE;QACpDC,GAAG,IAAID,GAAG;MACd,CAAC,MAAM,IAAI,yBAAOA,GAAG,MAAK,QAAQ,EAAE;QAChC,IAAIzH,KAAK,CAAC2H,OAAO,CAACF,GAAG,CAAC,EAAE;UACpB,KAAK,IAAI/F,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG+F,GAAG,CAAC5G,MAAM,EAAEa,CAAC,EAAE,EAAE;YACjC,IAAI+F,GAAG,CAAC/F,CAAC,CAAC,EAAE;cACRsB,CAAC,GAAGzG,KAAK,CAACqL,MAAM,CAACH,GAAG,CAAC/F,CAAC,CAAC,CAAC;cACxB,IAAIsB,CAAC,EAAE;gBACH0E,GAAG,KAAKA,GAAG,IAAI,GAAG,CAAC;gBACnBA,GAAG,IAAI1E,CAAC;cACZ;YACJ;UACJ;QACJ,CAAC,MAAM;UACH,KAAK,IAAMtB,EAAC,IAAI+F,GAAG,EAAE;YACjB,IAAIA,GAAG,CAAC/F,EAAC,CAAC,EAAE;cACRgG,GAAG,KAAKA,GAAG,IAAI,GAAG,CAAC;cACnBA,GAAG,IAAIhG,EAAC;YACZ;UACJ;QACJ;MACJ;MAEA,OAAOgG,GAAG;IACd;;IAEA;IACA;IACA;IACA;AACJ;AACA;AACA;EAHI;IAAA;IAAA,OAIA,gBAAe;MACX,IAAIrG,CAAC,GAAG,CAAC;MACT,IAAIwG,GAAG;MACP,IAAIxB,CAAC;MACL,IAAIqB,GAAG,GAAG,EAAE;MACZ,OAAOrG,CAAC,GAAGyG,SAAS,CAACjH,MAAM,EAAE;QACzB,IAAKgH,GAAG,GAAGC,SAAS,CAACzG,CAAC,EAAE,CAAC,EAAG;UACxB,IAAKgF,CAAC,GAAG9J,KAAK,CAACqL,MAAM,CAACC,GAAG,CAAC,EAAG;YACzBH,GAAG,KAAKA,GAAG,IAAI,GAAG,CAAC;YACnBA,GAAG,IAAIrB,CAAC;UACZ;QACJ;MACJ;MACA,OAAOqB,GAAG;IACd;;IAEA;AACJ;AACA;AACA;AACA;EAJI;IAAA;IAAA,OAKA,wBAAoC;MAAA,IAAhBK,SAAS,uEAAG,EAAE;MAC9B,IAAI7J,MAAM,CAAC8J,YAAY,IAAI9J,MAAM,CAAC8J,YAAY,KAAK,kBAAkB,EAAE;QACnE,OAAO9J,MAAM,CAAC8J,YAAY;MAC9B;MAEA,OAAOD,SAAS,GAAGA,SAAS,GAAG,CAAC7J,MAAM,CAAC+J,aAAa,IAAI/J,MAAM,CAACgK,YAAY,EAAEC,OAAO,CAAC,eAAe,CAAC,GACjG,CAACjK,MAAM,CAAC+J,aAAa,IAAI/J,MAAM,CAACgK,YAAY,EAAEC,OAAO,CAAC,eAAe,CAAC,GAAGjK,MAAM,CAACkK,UAAU,CAAC,8BAA8B,CAAC,CAACC,OAAO,GAAG,MAAM,GAAG,SAAS;IAC/J;;IAEA;AACJ;AACA;AACA;AACA;EAJI;IAAA;IAAA,OAKA,wBAAoC;MAAA,IAAhBN,SAAS,uEAAG,EAAE;MAC9B,IAAI7J,MAAM,CAAC8J,YAAY,IAAI9J,MAAM,CAAC8J,YAAY,KAAK,kBAAkB,EAAE;QACnE,OAAO,OAAO;MAClB;MAEAD,SAAS,GAAGA,SAAS,IAAI,CAAC7J,MAAM,CAAC+J,aAAa,IAAI/J,MAAM,CAACgK,YAAY,EAAEC,OAAO,CAAC,eAAe,CAAC;MAC/F,OAAOJ,SAAS,KAAK,MAAM,IAAIA,SAAS,KAAK,MAAM,GAAG,MAAM,GAAG,OAAO;IAC1E;;IAEA;AACJ;AACA;AACA;EAHI;IAAA;IAAA,OAIA,sBAAoBA,SAAS,EAAE;MAC3B,IAAI7J,MAAM,CAAC8J,YAAY,IAAI9J,MAAM,CAAC8J,YAAY,KAAK,kBAAkB,EAAE;QACnE,OAAO,CAAC;MACZ;;MACA,CAAC9J,MAAM,CAAC+J,aAAa,IAAI/J,MAAM,CAACgK,YAAY,EAAEI,OAAO,CAAC,eAAe,EAAEP,SAAS,CAAC;MACjF,CAAC7J,MAAM,CAAC+J,aAAa,IAAI/J,MAAM,CAACgK,YAAY,EAAEI,OAAO,CAAC,WAAW,EAAEP,SAAS,KAAK,MAAM,IAAIA,SAAS,KAAK,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACvI;;IAEA;AACJ;AACA;AACA;AACA;EAJI;IAAA;IAAA,OAKA,qBAAmBA,SAAS,EAAE;MAC1B,IAAI7J,MAAM,CAAC8J,YAAY,IAAI9J,MAAM,CAAC8J,YAAY,KAAK,kBAAkB,EAAE;QACnE,OAAO9J,MAAM,CAAC8J,YAAY;MAC9B;MACAD,SAAS,GAAGA,SAAS,IAAI,CAAC7J,MAAM,CAAC+J,aAAa,IAAI/J,MAAM,CAACgK,YAAY,EAAEC,OAAO,CAAC,eAAe,CAAC;;MAE/F;MACA,IAAMI,MAAM,GAAGhM,KAAK,CAACiM,aAAa,EAAE;MACpC,IAAM9J,GAAG,GAAG6J,MAAM,CAAC1G,OAAO,CAACkG,SAAS,CAAC;MACrC,IAAIU,QAAQ;MACZ,IAAI/J,GAAG,KAAK,CAAC,CAAC,EAAE;QACZ+J,QAAQ,GAAGF,MAAM,CAAC,CAAC7J,GAAG,GAAG,CAAC,IAAI6J,MAAM,CAAC1H,MAAM,CAAC;MAChD,CAAC,MAAM;QACH4H,QAAQ,GAAGF,MAAM,CAAC,CAAC,CAAC;MACxB;MACAhM,KAAK,CAACmM,YAAY,CAACD,QAAQ,CAAC;MAE5B,OAAOA,QAAQ;IACnB;;IAEA;AACJ;AACA;AACA;EAHI;IAAA;IAAA,OAIA,yBAAuB;MACnB,IAAIvK,MAAM,CAAC8J,YAAY,IAAI9J,MAAM,CAAC8J,YAAY,KAAK,kBAAkB,EAAE;QACnE,OAAO,CAAC9J,MAAM,CAAC8J,YAAY,CAAC;MAChC;MAEA,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC;IAC/C;;IAEA;AACJ;AACA;AACA;AACA;EAJI;IAAA;IAAA,OAKA,oBAAkBW,KAAK,EAAE;MACrBA,KAAK,GAAG,CAACA,KAAK,IAAI,EAAE,EAAEnK,QAAQ,EAAE,CAACC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;MACnD;MACA,IAAMsB,MAAM,GAAG,CAAC,CAAC;MACjB4I,KAAK,CAAClM,KAAK,CAAC,GAAG,CAAC,CAACmM,OAAO,CAAC,UAAAC,IAAI,EAAI;QAC7BA,IAAI,GAAGA,IAAI,CAAChK,IAAI,EAAE;QAClB,IAAIgK,IAAI,EAAE;UACN,IAAM7H,KAAK,GAAG6H,IAAI,CAACpM,KAAK,CAAC,GAAG,CAAC;UAC7B,IAAMsB,IAAI,GAAG+K,kBAAkB,CAAC9H,KAAK,CAAC,CAAC,CAAC,CAAC,CAACnC,IAAI,EAAE;UAChD,IAAImC,KAAK,CAACH,MAAM,GAAG,CAAC,EAAE;YAClBd,MAAM,CAAChC,IAAI,CAAC,GAAG+K,kBAAkB,CAAC9H,KAAK,CAAC,CAAC,CAAC,CAAC;YAC3C,IAAIjB,MAAM,CAAChC,IAAI,CAAC,KAAK,MAAM,EAAE;cACzBgC,MAAM,CAAChC,IAAI,CAAC,GAAG,IAAI;YACvB,CAAC,MAAM,IAAIgC,MAAM,CAAChC,IAAI,CAAC,KAAK,OAAO,EAAE;cACjCgC,MAAM,CAAChC,IAAI,CAAC,GAAG,KAAK;YACxB,CAAC,MAAM;cACH,IAAMgL,CAAC,GAAG3G,UAAU,CAACrC,MAAM,CAAChC,IAAI,CAAC,CAAC;cAClC,IAAIgL,CAAC,CAACvK,QAAQ,EAAE,KAAKuB,MAAM,CAAChC,IAAI,CAAC,EAAE;gBAC/BgC,MAAM,CAAChC,IAAI,CAAC,GAAGgL,CAAC;cACpB;YACJ;UACJ,CAAC,MAAM;YACHhJ,MAAM,CAAChC,IAAI,CAAC,GAAG,IAAI;UACvB;QACJ;MACJ,CAAC,CAAC;MACF,OAAOgC,MAAM;IACjB;;IAEA;AACJ;AACA;AACA;AACA;EAJI;IAAA;IAAA,OAKA,qBAAmBpC,EAAE,EAAE;MACnB,IAAMqL,CAAC,GAAG,CAACrL,EAAE,IAAI,EAAE,EAAEa,QAAQ,EAAE,CAAC/B,KAAK,CAAC,GAAG,CAAC;MAC1C,IAAIuM,CAAC,CAACnI,MAAM,GAAG,CAAC,EAAE;QACdmI,CAAC,CAACC,GAAG,EAAE;QACP,OAAOD,CAAC,CAAC/L,IAAI,CAAC,GAAG,CAAC;MACtB,CAAC,MAAM;QACH,OAAO,IAAI;MACf;IACJ;EAAC;IAAA;IAAA,OAED,oBAAkBiM,OAAO,EAAExG,UAAU,EAAE;MACnC;;MAEA,IAAI,CAACwG,OAAO,EAAE;QACV,OAAO,EAAE;MACb;MAEA,IAAI3L,IAAI;MACR,IAAI4L,EAAE,GAAGD,OAAO,CAAC1F,QAAQ,EAAE,GAAG,CAAC;MAC/B,IAAI2F,EAAE,GAAG,EAAE,EAAE;QACTA,EAAE,GAAG,GAAG,GAAGA,EAAE;MACjB;MAEA,IAAIC,EAAE,GAAGF,OAAO,CAAC3F,OAAO,EAAE;MAC1B,IAAI6F,EAAE,GAAG,EAAE,EAAE;QACTA,EAAE,GAAG,GAAG,GAAGA,EAAE;MACjB;MAEA,IAAI1G,UAAU,KAAK,YAAY,EAAE;QAC7BnF,IAAI,GAAG4L,EAAE,GAAG,GAAG,GAAGC,EAAE,GAAG,GAAG,GAAGF,OAAO,CAACG,WAAW,EAAE;MACtD,CAAC,MAAM;QACH9L,IAAI,GAAG2L,OAAO,CAACG,WAAW,EAAE,GAAG,GAAG,GAAGF,EAAE,GAAG,GAAG,GAAGC,EAAE;MACtD;;MAEA;MACA,IAAIE,CAAC,GAAGJ,OAAO,CAACK,QAAQ,EAAE;MAC1B,IAAID,CAAC,GAAG,EAAE,EAAE;QACR/L,IAAI,IAAI,IAAI,GAAG+L,CAAC;MACpB,CAAC,MAAM;QACH/L,IAAI,IAAI,GAAG,GAAG+L,CAAC;MACnB;MACAA,CAAC,GAAGJ,OAAO,CAACM,UAAU,EAAE;MACxB,IAAIF,CAAC,GAAG,EAAE,EAAE;QACR/L,IAAI,IAAI,IAAI,GAAG+L,CAAC;MACpB,CAAC,MAAM;QACH/L,IAAI,IAAI,GAAG,GAAG+L,CAAC;MACnB;MAEAA,CAAC,GAAGJ,OAAO,CAACO,UAAU,EAAE;MACxB,IAAIH,CAAC,GAAG,EAAE,EAAE;QACR/L,IAAI,IAAI,IAAI,GAAG+L,CAAC;MACpB,CAAC,MAAM;QACH/L,IAAI,IAAI,GAAG,GAAG+L,CAAC;MACnB;MAEAA,CAAC,GAAGJ,OAAO,CAACQ,eAAe,EAAE;MAC7B,IAAIJ,CAAC,GAAG,EAAE,EAAE;QACR/L,IAAI,IAAI,KAAK,GAAG+L,CAAC;MACrB,CAAC,MAAM,IAAIA,CAAC,GAAG,GAAG,EAAE;QAChB/L,IAAI,IAAI,IAAI,GAAG+L,CAAC;MACpB,CAAC,MAAM;QACH/L,IAAI,IAAI,GAAG,GAAG+L,CAAC;MACnB;MAEA,OAAO/L,IAAI;IACf;EAAC;IAAA;IAAA,OAED,oBAAkBL,OAAO,EAAE;MACvB,IAAIA,OAAO,EAAE;QACTA,OAAO,GAAGC,IAAI,CAACwM,KAAK,CAACzM,OAAO,CAAC;QAC7B,IAAM0M,CAAC,GAAGzM,IAAI,CAACC,KAAK,CAACF,OAAO,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC;QAC3C,IAAM2M,CAAC,GAAG1M,IAAI,CAACC,KAAK,CAAEF,OAAO,IAAI,IAAI,GAAG,EAAE,CAAC,GAAI,IAAI,CAAC;QACpD,IAAM0F,CAAC,GAAGzF,IAAI,CAACC,KAAK,CAAEF,OAAO,GAAG,IAAI,GAAI,EAAE,CAAC;QAC3C,IAAMyD,CAAC,GAAGzD,OAAO,GAAG,EAAE;QACtB,IAAI0M,CAAC,EAAE;UACH,iBAAUA,CAAC,cAAIC,CAAC,CAACrL,QAAQ,EAAE,CAACwH,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,cAAIpD,CAAC,CAACpE,QAAQ,EAAE,CAACwH,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,cAAIrF,CAAC,CAACnC,QAAQ,EAAE,CAACwH,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;QAClH,CAAC,MAAM,IAAI6D,CAAC,EAAE;UACV,iBAAUA,CAAC,cAAIjH,CAAC,CAACpE,QAAQ,EAAE,CAACwH,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,cAAIrF,CAAC,CAACnC,QAAQ,EAAE,CAACwH,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;QACjF,CAAC,MAAM;UACH,mBAAYpD,CAAC,CAACpE,QAAQ,EAAE,CAACwH,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,cAAIrF,CAAC,CAACnC,QAAQ,EAAE,CAACwH,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;QAC9E;MACJ,CAAC,MAAM;QACH,OAAO,SAAS;MACpB;IACJ;EAAC;IAAA;IAAA,OAED,qBAAmBzI,IAAI,EAAE;MACrB,IAAMqF,CAAC,GAAGrF,IAAI,CAAC4D,KAAK,CAAC,WAAW,CAAC;MACjC,IAAIyB,CAAC,EAAE;QACHrF,IAAI,GAAGA,IAAI,CAACkB,OAAO,CAACmE,CAAC,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,CAACnE,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;MAC3D;MAEA,OAAOlB,IAAI,CAACkB,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAACI,IAAI,EAAE,CAACJ,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAACzB,WAAW,EAAE;IAC1F;EAAC;IAAA;IAAA,OAED,kBAAgB8M,GAAG,EAAElG,MAAM,EAAE;MACzB;MACAkG,GAAG,GAAGA,GAAG,CAACrL,OAAO,CAAC,6EAA6E,EAAE,WAAW,CAAC;MAE7G,IAAImF,MAAM,KAAK,MAAM,EAAE;QACnB1F,MAAM,CAAC+C,QAAQ,GAAG6I,GAAG;MACzB,CAAC,MAAM;QACH5L,MAAM,CAAC6L,IAAI,CAACD,GAAG,EAAElG,MAAM,IAAI,QAAQ,CAAC;MACxC;IACJ;EAAC;IAAA;IAAA,OAED,oBAAkBrG,IAAI,EAAE;MACpB,2BAAqBhB,KAAK,CAACyN,aAAa,CAACzM,IAAI,CAAC;QAAzC0M,IAAI,wBAAJA,IAAI;QAAEC,MAAM,wBAANA,MAAM;MACjB,IAAI,CAACA,MAAM,CAACpG,KAAK,EAAE;QACf;QACAmG,IAAI,GAAGA,IAAI,CAACxL,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;QACnCwL,IAAI,GAAGA,IAAI,CAACpL,IAAI,EAAE;QAClB,IAAMsL,KAAK,GAAGF,IAAI,CAACxL,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAChC,KAAK,CAAC,IAAI,CAAC;QACjD,KAAK,IAAI4E,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG8I,KAAK,CAACtJ,MAAM,EAAEQ,CAAC,EAAE,EAAE;UACnC,IAAI8I,KAAK,CAAC9I,CAAC,CAAC,CAACP,UAAU,CAAC,IAAI,CAAC,EAAE;YAC3B,OAAOqJ,KAAK,CAAC9I,CAAC,CAAC,CAACtE,SAAS,CAAC,CAAC,CAAC,CAAC8B,IAAI,EAAE;UACvC;QACJ;QACA,OAAO,EAAE;MACb,CAAC,MAAM;QACH,OAAOqL,MAAM,CAACpG,KAAK;MACvB;IACJ;EAAC;IAAA;IAAA,OAED,yBAAuBvG,IAAI,EAAE;MACzB,IAAM6M,KAAK,GAAG,CAAC,CAAC;MAChB,IAAI7M,IAAI,CAACR,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,KAAK,EAAE;QAChC,IAAM2B,GAAG,GAAGnB,IAAI,CAACR,SAAS,CAAC,CAAC,CAAC,CAAC8E,OAAO,CAAC,OAAO,CAAC;QAC9C,IAAInD,GAAG,KAAK,CAAC,CAAC,EAAE;UACZ,IAAM2L,OAAO,GAAG9M,IAAI,CAACR,SAAS,CAAC,CAAC,EAAE2B,GAAG,GAAG,CAAC,CAAC;UAC1C,IAAMyL,KAAK,GAAGE,OAAO,CAAC5L,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAChC,KAAK,CAAC,IAAI,CAAC;UACpD0N,KAAK,CAACvB,OAAO,CAAC,UAAA0B,IAAI,EAAI;YAClB,IAAI,CAACA,IAAI,CAACzL,IAAI,EAAE,EAAE;cACd;YACJ;YACA,IAAMH,GAAG,GAAG4L,IAAI,CAACzI,OAAO,CAAC,GAAG,CAAC;YAC7B,IAAInD,GAAG,KAAK,CAAC,CAAC,EAAE;cACZ,IAAMX,IAAI,GAAGuM,IAAI,CAACvN,SAAS,CAAC,CAAC,EAAE2B,GAAG,CAAC,CAACG,IAAI,EAAE;cAC1CuL,KAAK,CAACrM,IAAI,CAAC,GAAGuM,IAAI,CAACvN,SAAS,CAAC2B,GAAG,GAAG,CAAC,CAAC,CAACG,IAAI,EAAE;cAC5CuL,KAAK,CAACrM,IAAI,CAAC,GAAGqM,KAAK,CAACrM,IAAI,CAAC,CAACU,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;cACrD,IAAI2L,KAAK,CAACrM,IAAI,CAAC,KAAK,MAAM,EAAE;gBACxBqM,KAAK,CAACrM,IAAI,CAAC,GAAG,IAAI;cACtB,CAAC,MAAM,IAAIqM,KAAK,CAACrM,IAAI,CAAC,KAAK,OAAO,EAAE;gBAChCqM,KAAK,CAACrM,IAAI,CAAC,GAAG,KAAK;cACvB,CAAC,MAAM,IAAIqE,UAAU,CAACgI,KAAK,CAACrM,IAAI,CAAC,CAAC,CAACS,QAAQ,EAAE,KAAK4L,KAAK,CAACrM,IAAI,CAAC,EAAE;gBAC3DqM,KAAK,CAACrM,IAAI,CAAC,GAAGqE,UAAU,CAACgI,KAAK,CAACrM,IAAI,CAAC,CAAC;cACzC;YACJ,CAAC,MAAM;cACHqM,KAAK,CAACE,IAAI,CAACzL,IAAI,EAAE,CAAC,GAAG,IAAI;YAC7B;UACJ,CAAC,CAAC;UACFtB,IAAI,GAAGA,IAAI,CAACR,SAAS,CAAC2B,GAAG,GAAG,CAAC,CAAC;QAClC;MACJ;MACA,OAAO;QAACwL,MAAM,EAAEE,KAAK;QAAEH,IAAI,EAAE1M;MAAI,CAAC;IACtC;EAAC;IAAA;IAAA,OAED,yBAAuBA,IAAI,EAAE;MACzB,IAAMqF,CAAC,GAAGrF,IAAI,CAAC4D,KAAK,CAAC,kBAAkB,CAAC;MACxC,IAAIyB,CAAC,EAAE;QACHA,CAAC,CAACgG,OAAO,CAAC,UAAA2B,GAAG;UAAA,OAAIhN,IAAI,GAAGA,IAAI,CAACkB,OAAO,CAAC8L,GAAG,EAAE,EAAE,CAAC;QAAA,EAAC;MAClD;MACA,OAAOhN,IAAI;IACf;;IAEA;AACJ;AACA;AACA;AACA;EAJI;IAAA;IAAA,OAKA,sBAAoBiN,QAAQ,EAAEC,IAAI,EAAE;MAChC,IAAIC,EAAE,GAAGC,QAAQ,CAACC,aAAa,CAAC,GAAG,CAAC;MACpCF,EAAE,CAACG,YAAY,CAAC,MAAM,EAAE,sCAAsC,GAAGC,kBAAkB,CAACxL,IAAI,CAACE,SAAS,CAACiL,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;MACnHC,EAAE,CAACG,YAAY,CAAC,UAAU,EAAEL,QAAQ,CAAC;MAErCE,EAAE,CAAC9J,KAAK,CAACmK,OAAO,GAAG,MAAM;MACzBJ,QAAQ,CAACV,IAAI,CAACe,WAAW,CAACN,EAAE,CAAC;MAE7BA,EAAE,CAACO,KAAK,EAAE;MAEVN,QAAQ,CAACV,IAAI,CAACiB,WAAW,CAACR,EAAE,CAAC;IACjC;;IAEA;AACJ;AACA;AACA;AACA;EAJI;IAAA;IAAA,OAKA,sBAAoBS,OAAO,EAAE;MACzB,IAAMhM,MAAM,GAAGgM,OAAO,GAAG,UAAU;MACnC,IAAM5N,IAAI,GAAGzB,YAAY,CAACqP,OAAO,CAAC;MAClC,IAAIpL,MAAM;MACV,IAAIxC,IAAI,EAAE;QACNwC,MAAM,GAAG,CAACxC,IAAI,CAAC;MACnB,CAAC,MAAM,IAAI4N,OAAO,GAAG,IAAI,EAAE;QACvBpL,MAAM,GAAG,CAACjE,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,CAACqP,OAAO,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE3M,QAAQ,CAAC,EAAE,CAAC,CAAC;MAChF,CAAC,MAAM,IAAI2M,OAAO,GAAG,IAAI,EAAE;QACvBpL,MAAM,GAAG,CAACjE,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,CAACqP,OAAO,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE3M,QAAQ,CAAC,EAAE,CAAC,CAAC;MAChF,CAAC,MAAM;QACHuB,MAAM,GAAG,CAAC,IAAI,GAAGoL,OAAO,CAAC3M,QAAQ,CAAC,EAAE,CAAC,CAAC;MAC1C;MACA,IAAIW,MAAM,EAAE;QACRY,MAAM,CAAC0B,IAAI,CAAC,IAAI,GAAG,CAACtC,MAAM,IAAI,EAAE,EAAEX,QAAQ,CAAC,EAAE,CAAC,CAAC1B,WAAW,EAAE,CAAC;MACjE;MACA,OAAOiD,MAAM;IACjB;;IAEA;AACJ;AACA;AACA;AACA;EAJI;IAAA;IAAA,OAKA,eAAaqL,MAAM,EAAE;MACjB,OAAO9L,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,SAAS,CAAC4L,MAAM,CAAC,CAAC;IAC7C;;IAEA;AACJ;AACA;AACA;AACA;EAJI;IAAA;IAAA,OAKA,mBAAiBtM,GAAG,EAAE;MAAA;MAClB,IAAIiF,MAAM,GAAGjF,GAAG,aAAHA,GAAG,sCAAHA,GAAG,CAAEb,MAAM,gDAAX,YAAa8F,MAAM;MAChC,IAAIA,MAAM,EAAE;QACR,IAAI,OAAOA,MAAM,KAAK,QAAQ,IAAIA,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;UACjD,IAAI;YACAA,MAAM,GAAGzE,IAAI,CAACC,KAAK,CAACwE,MAAM,CAAC;UAC/B,CAAC,CAAC,OAAOsH,EAAE,EAAE;YACTnF,OAAO,CAACoF,KAAK,gCAAyBvH,MAAM,EAAG;YAC/CA,MAAM,GAAG,IAAI;UACjB;QACJ,CAAC;UACD;UACA,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;YAC5B,IAAM/C,KAAK,GAAG+C,MAAM,CAACtH,KAAK,CAAC,GAAG,CAAC;YAC/BsH,MAAM,GAAG,CAAC,CAAC;YACX,KAAK,IAAIiF,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGhI,KAAK,CAACH,MAAM,EAAEmI,CAAC,EAAE,EAAE;cACnC,IAAMrI,CAAC,GAAGK,KAAK,CAACgI,CAAC,CAAC,CAACvM,KAAK,CAAC,GAAG,CAAC;cAC7BsH,MAAM,CAACpD,CAAC,CAAC,CAAC,CAAC,CAAC,GAAGA,CAAC,CAAC,CAAC,CAAC;YACvB;UACJ,CAAC,MAAM,IAAIX,KAAK,CAAC2H,OAAO,CAAC5D,MAAM,CAAC,EAAE;YAC9B,IAAMhE,MAAM,GAAG,CAAC,CAAC;YACjB,IAAIjB,GAAG,CAACb,MAAM,CAACsN,IAAI,KAAK,QAAQ,EAAE;cAC9BxH,MAAM,CAAC6E,OAAO,CAAC,UAAC4C,KAAK,EAAE/H,GAAG;gBAAA,OAAK1D,MAAM,CAAC0D,GAAG,CAAC,GAAG+H,KAAK;cAAA,EAAC;YACvD,CAAC,MACD,IAAI1M,GAAG,CAACb,MAAM,CAACsN,IAAI,KAAK,QAAQ,EAAE;cAC9BxH,MAAM,CAAC6E,OAAO,CAAC,UAAA4C,KAAK;gBAAA,OAAIzL,MAAM,CAACyL,KAAK,CAAC,GAAGA,KAAK;cAAA,EAAC;YAClD,CAAC,MAAM,IAAI1M,GAAG,CAACb,MAAM,CAACsN,IAAI,KAAK,SAAS,EAAE;cACtCxL,MAAM,CAAC,OAAO,CAAC,GAAGgE,MAAM,CAAC,CAAC,CAAC;cAC3BhE,MAAM,CAAC,MAAM,CAAC,GAAGgE,MAAM,CAAC,CAAC,CAAC;YAC9B;YAEA,OAAOhE,MAAM;UACjB;MACJ;MAEA,OAAOgE,MAAM;IACjB;;IAEA;AACJ;AACA;AACA;AACA;EAJI;IAAA;IAAA,OAKA,gBAAc+F,GAAG,EAAE;MACf,OAAO2B,KAAK,CAAC3B,GAAG,CAAC,CACZ4B,IAAI,CAAC,UAAAC,QAAQ;QAAA,OAAIA,QAAQ,CAACC,IAAI,EAAE;MAAA,EAAC,CACjCF,IAAI,CAAC,UAAAE,IAAI,EAAI;QACV,OAAO,IAAIC,OAAO,CAAC,UAAAC,OAAO,EAAI;UAC1B,IAAMC,MAAM,GAAG,IAAIC,UAAU,EAAE;UAC/BD,MAAM,CAACE,MAAM,GAAG,YAAW;YAAE;YACzBH,OAAO,CAAC,IAAI,CAAC/L,MAAM,CAAC;UACxB,CAAC;UACDgM,MAAM,CAACG,aAAa,CAACN,IAAI,CAAC;QAC9B,CAAC,CAAC;MACN,CAAC,CAAC;IACV;;IAEA;AACJ;AACA;AACA;AACA;EAJI;IAAA;IAAA,OAKA,wBAAsBO,MAAM,EAAE;MAC1B,IAAMC,SAAS,GAAGC,MAAM,CAACC,IAAI,CAACvQ,UAAU,CAAC,CAACgH,IAAI,CAAC,UAAApC,CAAC;QAAA,OAAIwL,MAAM,CAACrL,UAAU,CAACH,CAAC,CAAC;MAAA,EAAC;MACzE,OAAOyL,SAAS,GAAGrQ,UAAU,CAACqQ,SAAS,CAAC,GAAG,IAAI;IACnD;EAAC;EAAA;AAAA;AAAA,iCAzjDC7P,KAAK,eACYZ,SAAS;AAAA,iCAD1BY,KAAK,eAEY,WAAW;AAAA,iCAF5BA,KAAK,gBAGa,CAAC,IAAI,EAAE,IAAI,CAAC;AAAA,iCAH9BA,KAAK,qBAIkB,0oFAAgD;AAAA,eAwjD9DA,KAAK;AAAA"}
|
package/README.md
CHANGED
|
@@ -10,7 +10,7 @@ If you want to create the configuration page with react:
|
|
|
10
10
|
- Change `name` from `src` to `ADAPTERNAME-admin` (Of course replace `ADAPTERNAME` with yours)
|
|
11
11
|
- Add to devDependencies:
|
|
12
12
|
```
|
|
13
|
-
"@iobroker/adapter-react": "^3.5.
|
|
13
|
+
"@iobroker/adapter-react": "^3.5.3",
|
|
14
14
|
```
|
|
15
15
|
Versions can be higher.
|
|
16
16
|
So your src/package.json should look like:
|
|
@@ -643,6 +643,9 @@ If you still have questions, try to find an answer [here](https://mui.com/guides
|
|
|
643
643
|
-->
|
|
644
644
|
|
|
645
645
|
## Changelog
|
|
646
|
+
### 3.5.3 (2022-11-30)
|
|
647
|
+
* (bluefox) Improved `renderTextWithA` function to support `<b>` and `<i>` tags
|
|
648
|
+
|
|
646
649
|
### 3.5.2 (2022-11-30)
|
|
647
650
|
* (bluefox) updated json config component
|
|
648
651
|
|